Unformatted text preview: an use (5.7.12a) to calculate a new step size h such that jCk ( h)k+1y(k+1)(tn)j
or, using (5.7.12c), jCk k! k+1 ra
n k+1 j : Thus,
1=(k+1) jCk k!ran k+1j : (5.7.13a) Knowing that the local error of the next (higher-order) method of a sequence of
dn = Ck+1hk+2y(k+2)(tn) + O(hk+2)
we can also calculate an approximation of y(k+2)(tn) that can be used to change orders.
Using second-order backward di erences of the Nordsieck vector
r2an k+1 h y k! (tn) :
55 and dn Ck+1k!r2 an k+1: (5.7.13b) Estimates of the error of the next lower-order method follow directly from the next-tolast entry in the Nordsieck array. Thus, suppose that the error formula for the k ; 1-order
dn = Ck;1hk y(k)(tn) + O(hk+1):
Then, (cf. Example 5.7.5 and (5.7.12b))
an k;1 = (kh; 1)! ynk;1) and dn Ck;1(k ; 1)!han k;1: (5.7.13c) Formulas (5.7.13b,c) can be used to increase or decrease the method order by one.
These order variations can be combined with step-size variations to produce a LMM code
capable of both step and order adjustments. Most LMM codes do this according to the
1. Start the code with a rst-order method. For the Adams methods, this would
be the Euler-backward Euler pair. This avoids the need to incorporate separate
one-step (Runge-Kutta) software in the code.
2. Change order before step size. Changing order is generally much more e cient
than changing step size. Order increases and decreases in unit amounts can proceed
by examining changes in the sequence of derivatives ynk;1), ynk), and ynk+1). These
derivatives may be computed as described for (5.7.13). If the sequence of derivatives
are decreasing in magnitude then computational reductions can be achieved by
increasing the method order from k to k + 1. On the contrary, if the sequence of
derivatives are increasing, a reduction of order may be appropriate.
3. Include heuristics to avoid increasing the order too often. One possibility is to do
at least k steps with a method...
View Full Document