- #1
RH10
- 6
- 0
Hi All,
I’m implementing a code to solve the equation of motion using the 4-step Adams-Bashforth 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,
I’m implementing a code to solve the equation of motion using the 4-step Adams-Bashforth 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,
Last edited: