# File ms6body.rb, line 110 def ms4(dt) if @nsteps == 0 @ap3 = acc rk4(dt) elsif @nsteps == 1 @ap2 = acc rk4(dt) elsif @nsteps == 2 @ap1 = acc rk4(dt) else ap0 = acc jdt = ap0*(11.0/6.0) - @ap1*3 + @ap2*1.5 - @ap3/3.0 sdt2 = ap0*2 - @ap1*5 + @ap2*4 - @ap3 cdt3 = ap0 - @ap1*3 + @ap2*3 - @ap3 @pos += (vel+(ap0+ (jdt+sdt2/4)/3)*dt/2)*dt @vel += (ap0+(jdt+(sdt2+cdt3/4)/3)/2)*dt @ap3 = @ap2 @ap2 = @ap1 @ap1 = ap0 end end