5.2. Two Force Evaluations per Step
%\subsubsubsection{General Form}
{\bf 4.2.2.1. General Form}
Let us expand up to powers in
.
we get
This has to be equal to the Taylor series expansions:
which implies
This has to be equal to the Taylor series expansions:
which implies
%\subsubsubsection{Third Order Recycle Conditions}
{\bf 4.2.2.2. Third Order Recycle Conditions}
Now insist that
:
seven equations for ten variables.
From the last two:
Combining that with the equation above the two we just used:
Two possibilities:
or
.
In the first case,
and
from the
next to last equation and the one above that. Contradiction. Hence:
Introduce
and
, and use
as the third parameter.
Then
So in general:
Example: for
,
:
Like Simpon's rule for velocity integration.
Another example: for
,
:
%\subsubsubsection{Exact Recycling}
{\bf 4.2.2.3. Exact Recycling}
So far, only pseudo-FSAL, or better: pseudo Runge Kutta!
Can we make it really FSAL Runge Kutta, to all orders?
With the first two:
combining this with the third:
leading to
but alas:
So this doesn't work: the coefficients for the
and
terms
in the expression for
in Eq. (237) blow up.
%\subsubsubsection{A Search for a Fourth Order Scheme}
{\bf 4.2.2.4. A Search for a Fourth Order Scheme}
Given that we have three free parameters left in our construction of a
recycling scheme that is third order correct, it is tempting to search
for a fourth-order scheme, based on only two new force calculations
per time step.
Repeating the previous analysis to one order higher in
, we get
we get
This has to be equal to
In addition to the previous conditions, we get the following two additional
requirements:
Now:
This has to be equal to
We get the additional equations:
We have thus eleven conditions gathered so far for the ten
unknown parameters
. A priori
we would expect to find no solutions in such an overdetermined system.
However, let's see how far we get when we try. Let us list the
conditions here together:
Subtracting the 6th and 7th equation, we find
and subtracting the 7th and 8th equation, we find
Together, these two expressions imply
There are three solutions:
,
, and
. The first two solutions can be discarded, because
they would imply that the left-hand side of the 6th, 7th, and 8th
equations above would all have the same value, contradicting the fact
that their right-hand sides have different values. We thus find
With this result, we can use the remaining information in the 6th,
7th, and 8th equations above to determine the other two values:
The 5th equation gives us
Subtracting the 9th and 10th equation, we find
and plugging in the values we have found so far gives us
The 9th and 10th equation then give us:
Since the 11th equation gives us
we conclude that
We can now write the 2nd and 3rd equations as
Subtraction those expressions gives us
or
and plugging this back in the expressions above gives
The 1st equation then gives
Remarkably, we have been able to solve the eleven equations for the
ten unknowns and found a consistent solution! To summarize:
Not only that, it turns out that we get an additional bonus: these
solutions solve the previous relation for demanding the
, which was
We have thus found a consistent set of solutions for ten variables
satisfying twelve equations. Could we be really lucky? Could it be
that in fact
? If that were true,
our fourth-order scheme would allow us to recycle the last force
calculation, and we would really have obtained a fourth-order scheme
with an effective costs of only two new force calculations per step.
This does sound too good to be true, but let's just check.
It was too good to be true!
We thus have:
Looking at the equations this way, we can in fact see directly that a
fourth-order scheme doesn't work ('directly' once you have become
sufficiently familiar with all these expressions). For the scheme to
be fourth order, the position where the last force calculation is
computed should agree to third order with the new position at the end
of the time step. However, the latter has a
term which the
former lacks, and since the difference
is of first order
in
, there is a real third-order difference between the two
positions, hence between the forces computed in these two positions.
The upshot is that this will introduce a fourth-order error in the
velocity in the next step, when we recycle the last force calculation.
Our scheme is thus only third-order accurate when we recycle, even
though it is fourth-order accurate if we decide to compute all three
new forces anew at each step.
By the way, as a fourth-order scheme, it is listed in Abramowitz and
Stegun's welknown Handbook of Mathematical Functions as eq. 25.5.22,
but with a typo: the error in the position is listed as being
, while it really should be
; in addition no
error is listed for the velocity. As we have seen, for the velocity,
too, the error is
.