def main(): start_time = datetime.now() # differential problem eq1 = lambda t, u: u[1] eq2 = lambda t, u: u[2] eq3 = lambda t, u: u[3] eq4 = lambda t, u: -8 * u[0] + np.sin(t) * u[1] - 3 * u[3] + t**2 func1 = np.array([eq1, eq2, eq3, eq4]) y0 = np.array([1., 2., 3., 4]) system1 = rhs.Rhs(func1, 0, 4, y0, 100) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() leapfrog = multistep.LeapFrog(system1) lft, lfu = leapfrog.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) #axs.plot(fet,feu,label='Exp Euler') axs.plot(iet, ieu, label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bet,beu,label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 4th',linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt=y$_2$; dy$_2$/dt=y$_3$; dy$_3$/dt=y$_4$ ; dy$_4$/dt=-8y$_1$+sin(t)y$_2$-3y$_4$', y=1.05) plt.savefig('ODE/Results/system01.pdf') plt.show()
def main(): start_time = datetime.now() # differential problem eq1 = lambda t, u: u[1] eq2 = lambda t, u: -1 / 2. * u[0] + 5 / 2. * u[1] func1 = np.array([eq1, eq2]) y0 = np.array([6., -1.]) system1 = rhs.Rhs(func1, 3, 5, y0, 50) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() leapfrog = multistep.LeapFrog(system1) lft, lfu = leapfrog.solve() #-------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler') axs.plot(iet, ieu, label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bet,beu[:,3],label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 4th',linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('2 y" - 5 y\' + y', y=1.05) plt.ylim(-300, 50) plt.savefig('ODE/Results/system05.pdf') plt.show()
def main(): start_time = datetime.now() ###--- differential problem ---### eq1 = lambda t, u: u[1] eq2 = lambda t, u: u[2] eq3 = lambda t, u: 4 * u[0] - 3 * u[1] + 2 * u[2] func1 = np.array([eq1, eq2, eq3]) y0 = np.array([0.1, 0.5, 0.1]) system1 = rhs.Rhs(func1, 0, 2, y0, 100) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() leapfrog = multistep.LeapFrog(system1) lft, lfu = leapfrog.solve() #---------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) axs.plot(fet, feu, label='Exp Euler') axs.plot(iet, ieu, label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bet,beu[:,3],label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 4th',linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt = y$_2$ ; dy$_2$/dt = y$_3$ ; dy$_3$/dt = 4y$_1$+3y$_2$+2y$_3$ ', y=1.05) plt.savefig('ODE/Results/system04.pdf') plt.show()
def main(): start_time = datetime.now() ############################################# # Coupled Spring-Mass Systems ############################################# k1 = 0.3 k2 = 0.2 k3 = 0.5 k4 = 1.2 eq1 = lambda t, u: -k1 * u[0] + k2 * (u[1] - u[0]) + np.sin(u[0]) eq2 = lambda t, u: -k2 * (u[1] - u[0]) + k3 * (u[2] - u[1]) eq3 = lambda t, u: -k3 * (u[2] - u[1]) - k4 * u[2] # eq12 = lambda t,u: # eq22 = lambda t,u: func1 = np.array([eq1, eq2, eq3]) # func2 = np.array([eq12,eq22]) y0 = np.array([0.2, 0.04, 0.6]) # y02 = np.array([0.3,11.4]) system1 = rhs.Rhs(func1, 0, 10, y0, 50) #system2 = rhs.Rhs(func2,0,10,y02,500 ) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() # rk4 = rungekutta.RK4(system1) # rkt,rku = rk4.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = qualityplot.Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) #fig,axs = qualityplot.Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) # ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler 1') #,color='C0') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler 1') #, color='C1') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(be1t,be1u,label='NR-BWDEuler 2',color='C1') #axs.plot(fet,feu,label='Exp Euler 2', color='C1') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('Coupled Spring-Mass Systems', y=1.05) plt.savefig('ODE/Results/system17.pdf') plt.show()
def main(): start_time = datetime.now() ############################################# # Chemostats and Microorganism Culturing ############################################# eq11 = lambda t, u: -0.075 * u[0] - 0.008177008175 * u[1] eq21 = lambda t, u: 0.4401515152 * u[1] eq12 = lambda t, u: -1.690372243 * u[0] - 0.001190476190 * u[1] eq22 = lambda t, u: 101.7684513 * u[0] func1 = np.array([eq11, eq21]) func2 = np.array([eq12, eq22]) y01 = np.array([20.5, 0.4]) y02 = np.array([0.3, 11.4]) system1 = rhs.Rhs(func1, 0, 10, y01, 500) system2 = rhs.Rhs(func2, 0, 10, y02, 500) fwdeuler = euler.Explicit(system1) fe1t, fe1u = fwdeuler.solve() bwdeuler = euler.Backward(system1) be1t, be1u = bwdeuler.solve() fwdeuler = euler.Explicit(system2) fe2t, fe2u = fwdeuler.solve() bwdeuler = euler.Backward(system2) be2t, be2u = bwdeuler.solve() # sieuler = euler.SemiImplicit(system2) # siet,sieu = sieuler.solve() #Impeuler = euler.Implicit(system1) #iet,ieu = Impeuler.solve() # midpoint = centdiff.MidPoint(system1) # cdt,cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1) #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(system1) # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(system1) # amt,amu = am5._5th.solve() # # rk4 = rungekutta.RK4(system1) # rkt,rku = rk4.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = qualityplot.Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) #fig,axs = qualityplot.Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) # ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fe1t, fe1u, label='Exp Euler 1') #,color='C0') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(be1t,be1u,label='NR-BWDEuler 1', color='C1') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(be1t,be1u,label='NR-BWDEuler 2',color='C1') axs.plot(fe2t, fe2u, label='Exp Euler 2') #, color='C1') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('Chemostats and Micro-organism Culturing ', y=1.05) plt.savefig('ODE/Results/system16.pdf') plt.show()
def main(): start_time = datetime.now() #y0_sode_p1 = np.array([1.,0.,0.]) y0 = np.array([2.,1.]) # problem1 = rhs.Rhs(func01, 0.0, 2 , y0 , 30) #y0_sode_p1 = np.array([1.,0.,0.]) #y0_sode_p2 = np.array([1.,0.]) #y0 = np.array([0.15]) problem1 = rhs.Rhs(func0, 0.0, 0.01 , y0, 20, anal0) x,y = problem1.analiticalSolution(save=True) #------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------ # fwdeuler_p1 = euler.Explicit(problem1,'fwe.dat') # fet,feu = fwdeuler_p1.solve() bwdeuler = impliciteuler.BWDEuler(problem1, 'bwe.dat') bet,beu = bwdeuler.solve() # sieuler_p1 = euler.SemiImplicit(problem1, 'bwe.dat') # siet,sieu = sieuler_p1.solve() beuler = euler.Backward(problem1, 'bwe.dat') bt,bu = beuler.solve() # midpoint = centdiff.MidPointSolver(problem1 , 'mp.dat') # cdt,cdu = midpoint.solve() #sieuler_p4 = euler.Implicit(problem1, 'bwe.dat') #siet,sieu = bwdeuler_p4.solve() implicitmidpoint = centdiff.ImplicitMidPoint(problem1 , 'Imp_mp.dat') impt,impu = implicitmidpoint.solve() impcn = rungekutta.ImplicitCrankNicholson(problem1, 'cn.dat') cnt,cnu = impcn.solve() # # rk_p1 = implicitrungekutta.ImpRK2(problem1, 'rk.dat') # rkt,rku = rk_p1.solve() rk_p1 = implicitrungekutta.ImpRK4(problem1, 'rk.dat') rkt,rku = rk_p1.solve() radau = RadauIIA(problem1,'radIIA.dat') rdt,rdu = radau.solve() radau5 = RadauIIA5th(problem1,'radIIA.dat') rd5t,rd5u = radau5.solve() bdf = MEBDF(problem1,'bdf.dat') bdft,bdfu = bdf.solve(1,0.5) end_time = datetime.now() print('Duration: {}'.format(end_time - start_time)) fig,axs = qualityplot.Fonts()(1,1) #mkplot.PlotBase('Solution of Differential Equations','p1.pdf') # axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bt,bu,label='NR-BWDEuler',color='C1') #, linestyle=':') #axs.plot(bet,beu,label='Imp Euler') #, linestyle=':') axs.plot(rdt,rdu,label='Radau IIA 3rd',color='C3') axs.plot(rd5t,rd5u,label='Radau IIA 5th',color='C2') axs.plot(bdft,bdfu,label='BDF',color='C4')#,linestyle='--') axs.plot(rkt,rku,label='Implicit RK4',color='C0') #,linestyle=':') #axs.plot(rk3t,rk3u,label='Imp RK') #,linestyle=':') #axs.plot(am4t,am4u,label='Adams Moulton 4th') #,linestyle=':') #axs.plot(cd2t,cd2u,label='Cent diff 2nd') # axs.plot(impt,impu,label='Implicit Mid-Point Method')#,linestyle='-.') axs.plot(x,1.5*np.exp(-x) + 0.5* np.exp(-1000*x) ,label='Analitical', marker='o',markersize=7,linestyle='',alpha=0.7, color= 'C0' ) #, linestyle=':') axs.plot(x,1.5*np.exp(-x) - 0.5* np.exp(-1000*x), marker='o',markersize=7,linestyle='',alpha=0.7 , color= 'C0') #, linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel = 'time' ,ylabel='y(t)') axs.set_title('dy$_1$/dt=-10(t-1)y$_1$',y=1.05) #plt.savefig('system02.pdf') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position([chartBox.x0, chartBox.y0, chartBox.width*0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.85), loc=2, borderaxespad=0.) plt.show()
def main(): start_time = datetime.now() a=4; c=1; # differential problem eq1 = lambda t,u : a*(u[0]-u[0]*u[1]); eq2 = lambda t,u : -c*(u[1]-u[0]*u[1]); func1 = np.array([eq1,eq2]) y0 = np.array([2.,1.]) system1 = rhs.Rhs(func1, 0,10,y0,500 ) fwdeuler = euler.Explicit(system1) fet,feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet,beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet,sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet,ieu = Impeuler.solve() leapfrog = multistep.LeapFrog(system1) lft,lfu = leapfrog.solve() rk3 = rungekutta.RK3(system1) rkt,rku = rk3.solve() fig,axs = SansItalic()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #---------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = Standard(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = StandardImproved(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Elsevier(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazoBeamer(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Beamer(figsize=(6.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexPaper(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Helvet(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = HelvetBeamer(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Times(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TimesItalicImproved(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = PalatinoItalic(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet,beu,label='NR-BWDEuler') #, linestyle=':') axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 3th',linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.legend(loc='upper left') #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel = 'time' ,ylabel='y(t)') axs.set_title('dy$_1$/dt= -4 (y$_1$ - y$_1$y$_2$) ; dy$_2$/dt = -1(y$_2$ - y$_1$y$_2$)',y=1.05) plt.savefig('../Results/system02.pdf') plt.show()
def main(): start_time = datetime.now() # differential problem m = 10 k = 3 g = 0.5 eq1 = lambda t, u: u[1] eq2 = lambda t, u: -k / m * u[0] - g / m * u[1] + np.sin(t) / m func1 = np.array([eq1, eq2]) y0 = np.array([0.1, 0.1]) system1 = rhs.Rhs(func1, 0, 50, y0, 1000) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() leapfrog = multistep.LeapFrog(system1) lft, lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1 , 'cn1.dat') # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1, 'AM5_1.dat') # amt,amu = am5._5th.solve() # # rk4 = rungekutta.RK4(problem1,'RK4.dat') # rkt,rku = rk4.solve() #---------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler') axs.plot(iet, ieu, label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bet,beu[:,3],label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 4th',linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt = y$_2$ ; dy$_2$/dt = -k/m y$_1$ -g/m y$_2$ + sin(t)/m ', y=1.05) plt.savefig('ODE/Results/system03.pdf') plt.show()
def main(): start_time = datetime.now() y0 = np.array([1., 0., 0]) problem1 = rhs.Rhs(func0, 0.0, 10e11, y0, 100000000) #x,y = problem1.analiticalSolution(save=True) ##---------------------------------------------------------------------------------------------------- ##---------------------------------------------------------------------------------------------------- ##---------------------------------------------------------------------------------------------------- # fwdeuler_p1 = euler.Explicit(problem1,'fwe.dat') # fet,feu = fwdeuler_p1.solve() #bwdeuler = impliciteuler.BWDEuler(problem1, 'bwe.dat') #iet,ieu = bwdeuler.solve() # sieuler_p1 = euler.SemiImplicit(problem1, 'bwe.dat') # siet,sieu = sieuler_p1.solve() beuler = euler.Backward(problem1, 'bwe.dat') bt, bu = beuler.solve() # midpoint = centdiff.MidPointSolver(problem1 , 'mp.dat') # cdt,cdu = midpoint.solve() #sieuler_p4 = euler.Implicit(problem1, 'bwe.dat') #siet,sieu = bwdeuler_p4.solve() # implicitmidpoint = centdiff.ImplicitMidPoint(problem1 , 'Imp_mp.dat') # impt,impu = implicitmidpoint.solve() # cn_p2 = rungekutta.ImplicitCrankNicholson(problem1, 'cn.dat') # cnt,cnu = cn_p2.solve() # # rk_p1 = rungekutta.ImplicitRK2(problem1, 'rk.dat') # rkt,rku = rk_p1.solve() end_time = datetime.now() print('Duration: {}'.format(end_time - start_time)) fig, axs = qualityplot.Fonts()( 1, 1) #mkplot.PlotBase('Solution of Differential Equations','p1.pdf') # axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bt, bu, label='NR-BWDEuler') #, linestyle=':') #axs.plot(iet,ieu,label='NR-BWDEuler') #, linestyle=':') #axs.plot(bet,beu,label='Imp Euler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Imp Crank Nicholson',linestyle='-') #axs.plot(rkt,rku,label='Imp RK2') #,linestyle=':') #axs.plot(am3t,am3u,label='Adams Moulton 3rd') #,linestyle=':') # axs.plot(am4t,am4u,label='Adams Moulton 4th') #,linestyle=':') #axs.plot(cd2t,cd2u,label='Cent diff 2nd') #axs.plot(impt,impu,label='Implicit Mid-Point Method',linestyle='-.') # axs.plot(x,y,label='Analitical', marker='o',markersize=7,linestyle='',alpha=0.7, color= 'C0' ) #, linestyle=':') #axs.plot(x,1.5*np.exp(-x) - 0.5* np.exp(-1000*x), marker='o',markersize=7,linestyle='',alpha=0.7 , color= 'C0') #, linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) plt.setp(legend.get_texts(), color='#555555') plt.xscale('log') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('dy$_1$/dt=-10(t-1)y$_1$', y=1.05) #plt.savefig('system02.pdf') plt.show()
def main(): start_time = datetime.now() a = 4 c = 1 #y1' = (2-.5*y2)*y1 #y2' = (-1+.5*y1)*y2 #Given initial conditions #The initial rabbit population is 6, the initial fox population is 2: #y1(0) = 6 #y2(0) = 2 # differential problem PREY-PREDATOR eq1 = lambda t, u: (2 - 0.5 * u[1]) * u[0] #a*(u[0]-u[0]*u[1]); eq2 = lambda t, u: (-1 + 0.5 * u[0]) * u[1] #-c*(u[1]-u[0]*u[1]); func1 = np.array([eq1, eq2]) y0 = np.array([6., 2.]) system1 = Rhs(func1, 0, 15, y0, 1200) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() midpoint = centdiff.MidPoint(system1) cdt, cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1, 'lf1.dat') #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1 , 'cn1.dat') # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1, 'AM5_1.dat') # amt,amu = am5._5th.solve() # # rk3 = rungekutta.RK3(system1,'s1RK4.dat') # rkt,rku = rk3.solve() # # t0 = -10. # tf = 10. # u0 = y0 # dt = 20/100 # t,u = t0,u0 # # with open('BWEuler_p1.dat', 'w') as f: # while True: # f.write('%10.4f %14.10f \n' %(t, u[0]) ) # u = euler.Backward.step(func1,t,u,dt) # t += dt # if t > tf: # break # # bet = np.genfromtxt('BWEuler_p1.dat',usecols=(0,)) # beu = np.genfromtxt('BWEuler_p1.dat',usecols=(1,)) # # t0 = -10. # tf = 10. # u0 = y0 # dt = 20/200 # t,u = t0,u0 # # with open('ImpEuler_p1.dat', 'w') as f: # while True: # f.write('%10.4f %14.10f \n' %(t, u[0]) ) # u = euler.Implicit.step(func1,t,u,dt) # t += dt # if t > tf: # break # # bt = np.genfromtxt('ImpEuler_p1.dat',usecols=(0,)) # bu = np.genfromtxt('ImpEuler_p1.dat',usecols=(1,)) # # t0 = -10. # tf = 10. # u0 = y0 # dt = 20/400 # t,u = t0,u0 # with open('SIEuler_p1.dat', 'w') as f: # while True: # f.write('%10.4f %14.10f \n' %(t, u[0]) ) # u = euler.SemiImplicit.step(func1,t,u,dt) # t += dt # if t > tf: # break # # siet = np.genfromtxt('SIEuler_p1.dat',usecols=(0,)) # sieu = np.genfromtxt('SIEuler_p1.dat',usecols=(1,)) # # t0 = -10. # tf = 10. # u0 = y0 # dt = 20/2000 # t,u = t0,u0 # with open('AdamsMoulton5_p1.dat', 'w') as f: # while True: # f.write('%f %f \n' %(t, u[0]) ) # u = adamsmethods.AdamsMoulton._5th.step(func1,t,u,dt) # t += dt # if t > tf: # break # # amt = np.genfromtxt('AdamsMoulton5_p1.dat',usecols=(0,)) # amu = np.genfromtxt('AdamsMoulton5_p1.dat',usecols=(1,)) # : a*(u[0]-u[0]*u[1]); # eq2 = lambda t,u : -c*(u[1]-u[0]*u[1]); #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} ############################################################################################## #fig,axs = qualityplot.Palatino(figsize=(9.5,4.5),**{'scheme':'vega'})(1,1)# ,**{'scheme':'nb'}) # fig,axs = qualityplot.Elsevier(**{'scheme':'nb','grid.linestyle':'-','grid.dashes':(5,5)})(1,1,figsize=(9.5,4.5))# , #fig,axs = qualityplot.Elsevier(**{'scheme':'nb','grid.linestyle':'-','grid.dashes':(5,5)})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.StandardImproved(**{'scheme':'vega','grid.dashes':(5,5), 'linestyle':'ls1'})(1,1,figsize=(9.5,4.5))# # fig,axs = qualityplot.StandardImproved(**{'scheme':'vega','grid.dashes':(5,5), 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.TexMathpazo(**{'scheme':'vega','grid.dashes':(5,5), 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.TexMathpazoBeamer(**{'scheme':'nb','grid.dashes':(5,5), 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.Beamer(**{'scheme':'nb','grid.dashes':(5,5), 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.TexPaper(**{'scheme':'nb', 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.Helvet(**{'scheme':'nb', 'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.HelvetBeamer(**{'linestyle':'paper'})(1,1) #,figsize=(9.5,4.5))# #fig,axs = qualityplot.Times(**{'linestyle':'paper'})(1,1,figsize=(12.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalic(**{'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# #fig,axs = qualityplot.TimesItalic(**{'linestyle':'paper'})(1,1,figsize=(9.5,4.5))# fig, axs = PalatinoItalic()(1, 1, (12.0, 4.0)) # #fig,axs = qualityplot.SansItalic()(1,1,(12.0,4.0))# # fig,axs = PalatinoItalicDark()(1,1)# #fig,axs = qualityplot.PalatinoItalicDark()(1,1)# #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 3th') axs.plot(cdt, cdu, label='CentDiff 2nd') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt= -4 (y$_1$ - y$_1$y$_2$) ; dy$_2$/dt = -1(y$_2$ - y$_1$y$_2$)', y=1.05) plt.savefig('../Results/systemPrayPredator_1.pdf') plt.show()
def main(): start_time = datetime.now() y0 = np.array([0.]) problem1 = rhs.Rhs(func0, 0.0, 2.0, y0, 30, anal01) x, y = problem1.analiticalSolution(save=True) #------------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------------------------------------ bwdeuler = euler.Implicit(problem1, 'bwe.dat') bet, beu = bwdeuler.solve() # sieuler_p1 = euler.SemiImplicit(problem1, 'bwe.dat') # siet,sieu = sieuler_p1.solve() beuler = euler.Backward(problem1, 'bwe.dat') bt, bu = beuler.solve() ieuler = impliciteuler.BWDEuler(problem1, 'bwe.dat') iet, ieu = ieuler.solve() # midpoint = centdiff.MidPointSolver(problem1 , 'mp.dat') # cdt,cdu = midpoint.solve() #sieuler_p4 = euler.Implicit(problem1, 'bwe.dat') #siet,sieu = bwdeuler_p4.solve() implicitmidpoint = centdiff.ImplicitMidPoint(problem1, 'Imp_mp.dat') impt, impu = implicitmidpoint.solve() # impmidpoint = centdiff.ImpMidPoint(problem1 , 'Imp_mp.dat') # it,iu = impmidpoint.solve() cn_p2 = rungekutta.ImplicitCrankNicholson(problem1, 'cn.dat') cnt, cnu = cn_p2.solve() # rk_p1 = implicitrungekutta.ImpRK2(problem1, 'rk.dat') rkt, rku = rk_p1.solve() # # #fwdeuler_p1 = euler.Explicit(problem1, True, True, 'lorentz_fwe.dat') # #fet,feu = fwdeuler_p1.solve() # #leapfrog_p1 = multistep.LeapFrog(problem1, 'lorentz_lf.dat') #lft,lfu = leapfrog_p1.solve() # # leapfrog_p2 = euler.Explicit(problem2, 'oscillator_lf.dat') # lf2,lf2 = leapfrog_p2.solve() rk = implicitrungekutta.ImpRK4(problem1, 'rk.dat') rk3t, rk3u = rk.solve() bdf = MEBDF(problem1, 'bdf.dat') bdft, bdfu = bdf.solve(1, 0.5) radau = RadauIIA(problem1, 'radau.dat') rdt, rdu = radau.solve() radau = RadauIIA5th(problem1, 'radau.dat') rd5t, rd5u = radau.solve() end_time = datetime.now() print('Duration: {}'.format(end_time - start_time)) fig, axs = qualityplot.Fonts()( 1, 1) #mkplot.PlotBase('Solution of Differential Equations','p1.pdf') # axs.plot(fet,feu,label='Exp Euler') axs.plot(iet, ieu, label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bt,bu,label='NR-BWDEuler') #, linestyle=':') # axs.plot(bet,beu,label='Imp Euler') #, linestyle=':') axs.plot(rdt, rdu, label='RadauIIA') axs.plot(rd5t, rd5u, label='RadauIIA 5th') #axs.plot(cnt,cnu,label='Implicit Crank Nicholson',linestyle='-') #axs.plot(rkt,rku,label='Runge Kutta 4th') #,linestyle=':') #axs.plot(am3t,am3u,label='Adams Moulton 3rd') #,linestyle=':') #axs.plot(am4t,am4u,label='Adams Moulton 4th') #,linestyle=':') axs.plot(bdft, bdfu, label='BDF') # axs.plot(rkt,rku,label='Imp. Runge Kutta') #axs.plot(impt,impu,label='Implicit Mid-Point Method',linestyle='--') #axs.plot(iet,ieu,label='NR Implicit Euler') #,linestyle='-.') axs.plot(rk3t, rk3u, label='Imp. RK4') #,linestyle='-.') axs.plot(x, y, label='Analitical', marker='o', markersize='7', linestyle='', color='C0', alpha=0.7) #, linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('dy$_1$/dt=-10(t-1)y$_1$', y=1.05) plt.savefig('../Results/StiffEq2.pdf') plt.show()
def main(): start_time = datetime.now() eq1 = lambda t, u: 4 * u[0] - 2 * u[0]**2 - u[0] * u[1] eq2 = lambda t, u: -2 * u[1] + 2 * u[0] * u[1] func1 = np.array([eq1, eq2]) y0 = np.array([4., 2.]) system1 = rhs.Rhs(func1, 0, 5, y0, 80) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() # Impeuler = euler.Implicit(system1, 's1bwe1.dat') # iet,ieu = Impeuler.solve() #leapfrog = multistep.LeapFrog(system1, 'lf1.dat') #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1 , 'cn1.dat') # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1, 'AM5_1.dat') # amt,amu = am5._5th.solve() # rk3 = rungekutta.RK3(system1) rkt, rku = rk3.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #fig,axs = Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) #fig,axs = Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) # ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') axs.plot(rkt, rku, label='Runge Kutta 3th') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.6) plt.legend(loc='upper right') plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt= 4y$_1$- 2y$^2_1$-(y$_1$y$_2$) ; dy$_2$/dt = -2y$_2$+2(y$_1$y$_2$)', y=1.05) plt.ylim(0, 5) plt.savefig('ODE/Results/system07.pdf') plt.show()
def main(): start_time = datetime.now() y0 = np.array([2. / 3. * np.exp(2), 1]) problem1 = rhs.Rhs(func0, 0.0, 3.0, y0, 30) #x,y = problem1.analiticalSolution(save=True) ##------------------------------------------------------------------------------------------------------------ ##------------------------------------------------------------------------------------------------------------ ##------------------------------------------------------------------------------------------------------------ fwdeuler_p1 = euler.Explicit(problem1, 'fwe.dat') fet, feu = fwdeuler_p1.solve() bwdeuler_p1 = euler.Implicit(problem1, 'bwe.dat') bet, beu = bwdeuler_p1.solve() # sieuler_p1 = euler.SemiImplicit(problem1, 'bwe.dat') # siet,sieu = sieuler_p1.solve() beuler_p1 = euler.Backward(problem1, 'bwe.dat') bt, bu = beuler_p1.solve() # midpoint = centdiff.MidPointSolver(problem1 , 'mp.dat') # cdt,cdu = midpoint.solve() #sieuler_p4 = euler.Implicit(problem1, 'bwe.dat') #siet,sieu = bwdeuler_p4.solve() implicitmidpoint = centdiff.ImplicitMidPoint(problem1, 'Imp_mp.dat') impt, impu = implicitmidpoint.solve() am5_p1 = adamsmoulton.AdamsMoulton5th(problem1, 'am5_1.dat') #ab2_p = ab2_p1._2nd(problem1,'ab2_1.dat') am5t, am5u = am5_p1.solve() impcn = implicitrungekutta.ImpRK4(problem1, 'cn.dat') rkt, rku = impcn.solve() radau = RadauIIA(problem1, 'radIIA.dat') radt, radu = radau.solve() radau5 = RadauIIA5th(problem1, 'radIIA.dat') rad5t, rad5u = radau5.solve() # rk_p1 = rungekutta.RK4(problem1, 'rk.dat') # rkt,rku = rk_p1.solve() # #rk3 = implicitrungekutta.ImpRK4(problem1, 'rk.dat') #rk3t,rk3u = rk3.solve() # #fwdeuler_p1 = euler.Explicit(problem1, True, True, 'lorentz_fwe.dat') # #fet,feu = fwdeuler_p1.solve() # #leapfrog_p1 = multistep.LeapFrog(problem1, 'lorentz_lf.dat') #lft,lfu = leapfrog_p1.solve() # # leapfrog_p2 = euler.Explicit(problem2, 'oscillator_lf.dat') # lf2,lf2 = leapfrog_p2.solve() #fwdeuler_p1.plot() #ab2_p1 = euler.Implicit(problem3,True,True,filename='lorentz_bwe.dat') #bet,beu = bwdeuler_p1.solve() #bwdeuler_p1.plot() end_time = datetime.now() print('Duration: {}'.format(end_time - start_time)) fig, axs = qualityplot.Fonts()( 1, 1) #mkplot.PlotBase('Solution of Differential Equations','p1.pdf') # axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bt, bu, label='NR-BWDEuler') #, linestyle=':') # axs.plot(bet,beu,label='Imp Euler') #, linestyle=':') axs.plot(radt, radu, label='RadauIIA 3th', linewidth=3) axs.plot(rad5t, rad5u, label='RadauIIA 5th', linewidth=3) axs.plot(rkt, rku, label='Imp RK4', linewidth=2) #axs.plot(am5t,am5u,label='Adams Moulton') #,linestyle=':') #axs.plot(am3t,am3u,label='Adams Moulton 3rd') #,linestyle=':') #axs.plot(am4t,am4u,label='Adams Moulton 4th') #,linestyle=':') #axs.plot(cd2t,cd2u,label='Cent diff 2nd') #axs.plot(impt,impu,label='Implicit Mid-Point Method',linestyle='-.') #axs.plot(x,y,label='Analitical', marker='o',linestyle='',color='C0',alpha=0.7 ) #, linestyle=':') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('dy$_1$/dt=-10(t-1)y$_1$', y=1.05) plt.savefig('../Results/StiffSys1.pdf') plt.show()
def main(): start_time = datetime.now() ############################################# # chemical reaction of Robertson ############################################# eq1 = lambda t, u: -0.04 * u[0] + 10e4 * u[1] * u[2] eq2 = lambda t, u: 0.04 * u[0] - 10e7 * u[1] * u[2] - 3 * 10e7 * u[1]**2 eq3 = lambda t, u: 3 * 10e7 * u[1]**2 # eq12 = lambda t,u: # eq22 = lambda t,u: func1 = np.array([eq1, eq2, eq3]) y0 = np.array([1, -0., 0.]) system1 = rhs.Rhs(func1, 0, 40, y0, 1000) # fwdeuler = euler.Explicit(system1, 's1fwe.dat') # fet,feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() #Impeuler = euler.Implicit(system1) #iet,ieu = Impeuler.solve() # midpoint = centdiff.MidPoint(system1) # cdt,cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1) #lft,lfu = leapfrog.solve() # #am2 = adamsmethods.AdamsMoulton(system1) #amt,amu = am2._2nd.solve() # #rk4 = rungekutta.RK4(system1) #rkt,rku = rk4.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) fig, axs = Fonts(figsize=(9.5, 4.5))(1, 1) # ,**{'scheme':'nb'}) #fig,axs = Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = PalatinoItalic()(1,1)# ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) #axs.plot(fet,feu,label='Exp Euler 1') #,color='C0') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler 1') #, color='C1') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='RungeKutta 4th')#,color='C1') #axs.plot(fet,feu,label='Exp Euler 2', color='C1') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('chemical reaction of Robertson', y=1.05) plt.savefig('ODE/Results/system19.pdf') plt.show()
def main(): start_time = datetime.now() eq1 = lambda t, u: (2 - 0.5 * u[1]) * u[0] #a*(u[0]-u[0]*u[1]); eq2 = lambda t, u: (-1 + 0.5 * u[0]) * u[1] #-c*(u[1]-u[0]*u[1]); func1 = np.array([eq1, eq2]) y0 = np.array([6., 2.]) system1 = rhs.Rhs(func1, 0, 15, y0, 1200) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() Impeuler = euler.Implicit(system1) iet, ieu = Impeuler.solve() midpoint = centdiff.MidPoint(system1) cdt, cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1, 'lf1.dat') #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1 , 'cn1.dat') # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1, 'AM5_1.dat') # amt,amu = am5._5th.solve() # rk3 = rungekutta.RK3(system1) rkt, rku = rk3.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) fig, axs = Fonts()(1, 1, figsize=(12.5, 4.5)) # ,**{'scheme':'nb'}) #fig,axs = Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = PalatinoItalic()(1,1)# ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 3th') axs.plot(cdt, cdu, label='CentDiff 2nd') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt= -4 (y$_1$ - y$_1$y$_2$) ; dy$_2$/dt = -1(y$_2$ - y$_1$y$_2$)', y=1.05) plt.savefig('ODE/Results/system06.pdf') plt.show()
def main(): start_time = datetime.now() # differential problem eq1 = lambda t,u : u[1] eq2 = lambda t,u : (u[0]**3)/6 - u[0] + 2* np.sin(2.7853*t) func1 = np.array([eq1,eq2]) y0 = np.array([0.,0.]) system1 = rhs.Rhs(func1, 0,20,y0, 1000 ) fwdeuler = euler.Explicit(system1) fet,feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet,beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet,sieu = sieuler.solve() #Impeuler = euler.Implicit(system1) #iet,ieu = Impeuler.solve() midpoint = centdiff.MidPoint(system1) cdt,cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1) #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1) # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1) # amt,amu = am5._5th.solve() # rk4 = rungekutta.RK4(system1) rkt,rku = rk4.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = qualityplot.Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) #fig,axs = qualityplot.Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) fig,axs = PalatinoItalic(**{'scheme':'gg' })(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) #axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet,beu,label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(rkt,rku,label='Runge Kutta 3th') axs.plot(cdt,cdu,label='CentDiff 2nd') legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel = 'time' ,ylabel='y(t)') axs.set_title('dy$_2$/dt = y$^3_1$/6 - y$_1$ 2 sin(2.7853 t)',y=1.05) plt.savefig('../Results/system11.pdf') plt.show()
def main(): start_time = datetime.now() # differential problem Tumbling Box eq1 = lambda t, u: u[1] * u[2] eq2 = lambda t, u: -2 * u[0] * u[2] eq3 = lambda t, u: u[0] * u[1] func1 = np.array([eq1, eq2, eq3]) y0 = np.array([-0.1314, 0.9911, -0.219]) system1 = rhs.Rhs(func1, 0, 20, y0, 100) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() sieuler = euler.SemiImplicit(system1) siet, sieu = sieuler.solve() # Impeuler = euler.Implicit(system1, 's1bwe1.dat') # iet,ieu = Impeuler.solve() #leapfrog = multistep.LeapFrog(system1, 'lf1.dat') #lft,lfu = leapfrog.solve() # cranknicholson = rungekutta.CrankNicholson(problem1 , 'cn1.dat') # cnt,cnu = cranknicholson.solve() # # am5 = adamsmethods.AdamsMoulton(problem1, 'AM5_1.dat') # amt,amu = am5._5th.solve() # rk3 = rungekutta.RK3(system1) rkt, rku = rk3.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = qualityplot.Standard(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.StandardImproved(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazoBeamer(figsize=(6.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexPaper(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Beamer(figsize=(6.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Helvet(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Times(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicImproved(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicModified(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) fig, axs = PalatinoItalic()(1, 1, figsize=(9.5, 4.5)) # ,**{'scheme':'nb'}) #fig,axs = qualityplot.Fonts(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.PalatinoItalic(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) #axs.plot(fet,feu,label='Exp Euler') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') #axs.plot(bet,beu,label='NR-BWDEuler') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') axs.plot(rkt, rku, label='Runge Kutta 3rd') legend = leg = axs.legend() legend.get_frame().set_linewidth(1.2) plt.setp(legend.get_texts(), color='#555555') axs.set(xlabel='time', ylabel='y(t)') axs.set_title( 'dy$_1$/dt= -4 (y$_1$ - y$_1$y$_2$) ; dy$_2$/dt = -1(y$_2$ - y$_1$y$_2$)', y=1.05) plt.ylim(-1, 1) plt.savefig('ODE/Results/system09-Tumbling.pdf') plt.show()
def main(): start_time = datetime.now() ############################################# # Biomass Transfer ############################################# eq1 = lambda t, u: -u[0] + 3 * u[1] eq2 = lambda t, u: -3 * u[1] + 5 * u[2] eq3 = lambda t, u: -5 * u[2] func1 = np.array([eq1, eq2, eq3]) y0 = np.array([0.4, -0.3, 0.6]) system1 = rhs.Rhs(func1, 0, 2, y0, 40) #system2 = rhs.Rhs(func2,0,10,y02,500 ) fwdeuler = euler.Explicit(system1) fet, feu = fwdeuler.solve() bwdeuler = euler.Backward(system1) bet, beu = bwdeuler.solve() # midpoint = centdiff.MidPoint(system1) # cdt,cdu = midpoint.solve() #leapfrog = multistep.LeapFrog(system1) #lft,lfu = leapfrog.solve() # rk4 = rungekutta.RK4(system1) # rkt,rku = rk4.solve() #----------------------------------------------------------------------------------------------------- end_time = datetime.now() print('Duration {}'.format(end_time - start_time)) #**{'color': 'paraview'} #fig,axs = qualityplot.Standard(**{'scheme':'vega'})(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.StandardImproved(**{'scheme':'vega'} )(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Elsevier(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazo(figsize=(9.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexMathpazoBeamer(figsize=(6.5,4.5),**{'scheme':'mycolor'})(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TexPaper()(1,1,figsize=(8.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Helvet()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.HelvetBeamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Beamer()(1,1,figsize=(8.5,5.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.Times()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicDefault(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicImproved()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.TimesItalicModified()(1,1,figsize=(9.5,4.5))# ,**{'scheme':'nb'}) #fig,axs = qualityplot.SansModified(figsize=(9.5,4.5),**{'scheme':'vega'} )(1,1) fig, axs = Fonts()(1, 1, figsize=(9.5, 4.5)) # ,**{'scheme':'nb'}) #fig,axs = qualityplot.Palatino(figsize=(9.5,4.5))(1,1)# ,**{'scheme':'nb'}) #fig,axs = qualityplot.PalatinoItalic()(1,1)# ,**{'scheme':'nb'}) #axs.plot(x,y,label='Analitycal', marker='o',linestyle='',markersize=4.5,color='C0',alpha=0.7) axs.plot(fet, feu, label='Exp Euler 1') #,color='C0') #axs.plot(iet,ieu,label='Imp Euler') #axs.plot(siet,sieu,label='Sem.Imp Euler') #, linestyle=':') axs.plot(bet, beu, label='NR-BWDEuler 1') #, color='C1') #, linestyle=':') #axs.plot(lft,lfu,label='Leap Frog') #axs.plot(cnt,cnu,label='Crank Nicholson') #axs.plot(amt,amu,label='Adams Moulton 5th') #,linestyle=':') #axs.plot(be1t,be1u,label='NR-BWDEuler 2',color='C1') #axs.plot(fet,feu,label='Exp Euler 2', color='C1') chartBox = axs.get_position() legend = leg = axs.legend() legend.get_frame().set_linewidth(0.7) axs.set_position( [chartBox.x0, chartBox.y0, chartBox.width * 0.8, chartBox.height]) plt.setp(legend.get_texts(), color='#2E3436') plt.legend(bbox_to_anchor=(1.03, 0.75), loc=2, borderaxespad=0.) #legend = leg = axs.legend() #legend.get_frame().set_linewidth(0.7) #plt.setp(legend.get_texts(), color='#2E3436') axs.set(xlabel='time', ylabel='y(t)') axs.set_title('Biomass Transfer', y=1.05) plt.savefig('../Results/system18.pdf') plt.show()