def analysis.rk4.rk4 (   y,
  dydx,
  n,
  x,
  h,
  yout,
  derivs 
)

Definition at line 8 of file rk4.py.

00008                                        :
00009     
00010     global rk4nsave, dyt, dym, yt
00011     
00012     if n!=rk4nsave:
00013         dyt=zeros(n,Float)
00014         dym=zeros(n,Float)
00015         yt=zeros(n,Float)
00016         rk4nsave=n
00017     
00018     hh=h*0.5
00019     h6=h/6.0
00020     xh=x+hh
00021     
00022     #dyt=derivs(xh, hh*dydx+y) the fast way
00023     multiply(dydx, hh, yt)
00024     add(yt, y, yt)
00025     derivs(xh, yt, dyt)
00026     
00027     #dym=derivs(xh, hh*dyt+y)
00028     multiply(hh, dyt, yt)
00029     add(yt, y, yt)
00030     derivs(xh, yt, dym)
00031     
00032     #yt=h*dym+y
00033     #dym=dym+dyt
00034     multiply(dym, h, yt)
00035     add(yt, y, yt)
00036     add(dym, dyt, dym)
00037     
00038     derivs(x+h, yt, dyt)
00039     
00040     #yout=h6*(2.0*dym+dyt+dydx)+y
00041     multiply(dym, 2.0, yt)
00042     add(yt, dyt, yt)
00043     add(yt, dydx, yt)
00044     multiply(yt, h6, yt)
00045     add(yt, y, yout)
00046 
def rk4dumb(vstart, nvar, x1, x2, nstep, derivs):


Generated on Wed Nov 21 10:18:33 2007 for analysis by  doxygen 1.5.4