
#1
Jun412, 10:57 AM

P: 6

Hi All,
I’m implementing a code to solve the equation of motion using the 4step AdamsBashforth method. Here’s my section of code that does this: a=F/m; upnew= up + delta *( (55/24)*a  (59/24)*am1 +(37/24)*am2  (3/8)*am3 ); xnew=x + delta *( (55/24)*up  (59/24)*upm1 +(37/24)*upm2  (3/8)*upm3); am1=a; am2=am1; am3=am2; upm1=up; upm2=upm1; upm3=upm2; up=upnew; x=xnew; It seems to work; at least it produces sensible results which agree with the Euler forwards method. However, I read that the global error should be proportional to delta^4, but this code produces results that have errors proportional to delta. Why is this? Is there some quirk of using the method as a double integral reduces the accuracy? Or am I getting something wrong? Thanks in advance, 



#2
Jun412, 12:09 PM

Engineering
Sci Advisor
HW Helper
Thanks
P: 6,344

The fix is to update things in the right order. am3=am2; am2=am1; am1=a; and similarly for the u's 


Register to reply 
Related Discussions  
systematic errors, random errors and error due to comparison with literature value  Introductory Physics Homework  1  
Covariant global constants of motion in GR?  Special & General Relativity  23  
Oscillatory Motion  Determining equation of motion  Introductory Physics Homework  3  
Connection between Dyson's equation and Heisenberg equation of motion  Quantum Physics  7  
Local vs Global Constants of Motion  General Physics  3 