4 Convergence, Consistency and Stability
Tải bản đầy đủ  0trang
56
THE 1D HEAT AND WAVE EQUATIONS
that
for t = nAt. Next, substitute the trial solution into the difference equation,
and solve for the amplification factor A. Then, requiring [A1 5 1 cAt
ensures stability; 1x1 < 1 guarantees a strictly decaying solution.
Let us revisit the heat equation, specifically the fully discrete Galerkin
approximation which gave us trouble a t the end of the last section. From
(2.11), with a bit of manipulation,
+
Absolute stability requires that
1x1 5 1. Hence we must require that
2
uk2
At<.
(2.12)
A comparison of this result with that for the fully discrete finite difference approximation (forward in time, centered in space) is instructive.
From the above, and applying a forward difference in time, we get
where the nondimensional parameter
uAt
Ax2
p = 
'
The amplification factor is readily determined to be
For stability, we must require
Since sin2 5 I, we find
(2.13)
Convergence, Consistency and Stability
57
or
Ax2
At<.
2a
In order to compare the Galerkin with the finite difference result, we
note that
kmax=A/A~
.
This corresponds to the fact that the highest wavenumber resolvable on a
grid of spacing Ax is the wave with a wavelength of 2Ax. Therefore,
x
= 1(&
=
uAt
1jlA
2
.
Hence stability of the Galerkin scheme requires
2
P 5 8 2
*
(2.14)
The Galerkin scheme, though formally more accurate, requires a smaller
timestep. This is also a general result.
Lastly, some comments on accuracy and stability. Using the Von Neumann analysis, we can determine when a difference approximation is going
to be stable. We note, however, that this in itself does not guarantee
that the solution to the difference equation is accurate. An example is
the fully discrete Galerkin approximation. It is as we have seen stable if
At 5 2/ak&,,. Now, suppose we choose the largest stable timestep (to
minimize computational cost .) Then
According to our approximate solution, the amplitude of the kmax wave
remains constant in time and oscillates in sign at each timestep! The
exact solution, of course, requires
that is, a decaying amplitude of uniform sign. The approximate solution,
although stable, is highly inaccurate.
58
T H E 1D HEAT A N D WAVE EQUATIONS
Following the exact solution, it is reasonable to want our approximation
to be decaying in time, and to have a k of fixed sign. To achieve this, we
require
For Galerkin treatment, this implies
while for the finite difference method:
At 5 Ax2/4a
2.5
.
Time Differencing
The preceding section illustrates the consequences for stability of the forward in time, centered in space (FTCS) approximation to the heat equation,
and anticipates the general result that different spaceltime approximation
schemes can have quite different stability restrictions. To explore this latter point more carefully, we will begin by considering ordinary differential
equations of the form
du
dt
 = F ( u ,t )
with specified initial conditions. We divide the time axis into segments of
equal length ( A t ) and define
,(4 = u(t = n A t )
,
where for the remainder of this chapter the superscript notation will refer to
the time index of the solution. We assume that one or more of these values
[ u ( ~ )u,( ~  ' ). .,.] are known in advance. The task is t o construct schemes
for determining an approximate value for u ( ~ + ' )(The
.
discussion which
follows applies equally well to the solution of partial differential equations.)
We note in advance that our emphasis will be on loworder approximations to d l d t . One reason, besides simplicity, is that stability often requires
the use of timesteps smaller than those needed for adequate accuracy. We
return to this issue below.
Time Differencing
59
Consider two simple but canonical equations, the wave equation,
du
=F=iwu
dt
,
(2.15)
du
dt
.
(2.16)
and the fraction equation
=
F=ru
The former arises naturally, e.g., from the linearized advection or transport
equation:
au
au
+c=o
at
ax
,
u(z,t ) = U(t)eikz
dU
dt
+
 =ikcU
*
=ifU
,
or from the Coriolis terms
du
=
dt
fu,
dv
 =fu,
dt
u=u+iu
dU
dt
.
Equations of the latter form arise from most viscous and diffusive processes
(e.g., the onedimensional heat equation at fixed horizontal wavenumber
discussed above).
The loworder schemes that we explore include:
0
0
0
0
0
Euler (forward):
Euler (backward):
Trapezoidal:
Leapfrog:
AdamsBashforth:
U ( n + l )=
+ AtF(")
u("+l) = u(")+ AtF(n+l)
U("+1) = ,(n) + a t { F ( " + l ) + F ( 4 )
2
%("+I)
= ufn1) + 2At&'(n)
= .(") + A t { i F ( n ) L
2 F(nl)}
,
where F(n)= F ( u ( ~n) A
, t).
The first three schemes involve information at two timelevels, and are
therefore known as 2step schemes. Of these, the uncentered approximations (Euler forward and Euler backward) are O ( A t ) , while the centered
trapezoidal scheme is O(At2). Note that, whereas the Euler forward algorithm uses only known values of the righthandside function F ( u ,t ) , the
Euler backward and trapezoidal schemes use F[u("+l),( n l ) A t ] . The
former are referred to as explicit in time timestepping schemes, while the
latter are implacit in time. Although the use of implicit information does
not carry a computational penalty in this simple setting, it does when spatial dependence is encountered (see Section 3.3).
+
T H E i D HEAT A N D WAVE EQUATIONS
60
The 3step schemes (leapfrog, AdamsBashforth) achieve secondorder
accuracy without the need for implicit treatment by incorporating information from a second prior time level [(n  l)At]. As should be clear,
the leapfrog scheme is centered about timestep (n); the AdamsBashforth
since
approximation is (less obviously) centered around timestep (n
( $ F ( n ) 2
is an extrapolated, secondorder estimate to F ( n + i ) . 2
+ i)
2.5.1
The wave equation
The wave Eq. (2.15) has the solution
u(nAt) = u(0)einwAt .
Notable properties of the exact solution include no temporal change in
amplitude, and a phase change of (wAt) each timestep. In the terminology
of the Von Neumann stability analysis, the exact solution has
u(n+l) = ~ , u ( n )
IXleie
with \ A \ = 1 and 8 = wAt. The approximate schemes may depart from the
analytic solution in either amplitude and/or phase, and may be characterized as follows:
1x1
{
> 1 amplifying (unstable)
= 1 neutral (no amplitude change)
< 1 damping
> 1 accelerating
& { =1
neutral (no phase error)
< 1 decelerating .
All the 2step schemes introduced in the prior subsection can be written
as
U ( n + l )= .(n)
+ At{clf(n) + c 2 f ( n + l )1
7
2The secondorder AdamsBashforth scheme can be generalized to produce higherorder
time differencing estimates by the utilization of additional past time levels. An example
is the popular thirdorder AdamsBashforth scheme which has the form
Time Differencing
61
where c1 and c2 are constants. (Note that c1 + c2 = 1 is required for
consistency with the original differential equation.) For the wave equation
( + ~iwAt{qU(n)
1
+ C~U("+'))
u ( ~ + ' )= ~
.
Solving for u ( ~ + ' and
)
setting w = wAt:
+
1 iclw
1  iczw
Hence
+
1 icla
A = { 1  iczw
}=(
+
1  c1c2a2 i a
1 cia2
+
from which the moduli of the amplification factors of the 2step schemes
are:
0
rn
0
Euler (forward): (c1, c2) = (1, 0)
Euler (backward): (cl, c2) = (0, 1)
Trapezoidal:
(c1, c2) = (3, 3)
1x1 = (1+ w2)li2
J A J= (1
1x1 = 1
+ m2)'I2
*
Thus, the Euler forward scheme is unconditionally unstable (always unstable, independent of At) , while the implicitintime schemes (Euler backward, trapezoidal) are unconditionally stable. It is generally the case that
implicitintime schemes have wider regimes of stability than do explicitintime schemes. Note finally that the trapezoidal scheme does not suffer
any amplitude degradation.
Now, how about the phase change? The relative phase change per timestep (O/w) should equal unity for an exact solution. Recalling that
A
G
IA([cos(B)+ isin(B)]
,
we get
The relative phase changes are, therefore,
0
0
0
(5) 6
Euler (forward):
= arctan(w) < 1
Euler (backward): (L)= $ arctan(w) < 1
Trapezoidal:
({) = arctan[a/(l w2/4)1 N 1
+~ ( w 2 )
62
THE 10 HEAT A N D WAVE EQUATIONS
The Euler algorithms are both decelerating, while the trapezoidal scheme
is slightly accelerating. Of the 2step schemes, the trapezoidal approach
looks the best.
The leapfrog scheme has long been a favorite because of its simplicity
(it is explicit in time) and its accuracy (it is a secondorder scheme). Let
us investigate its stability characteristics on the wave equation. From the
above:
?JntI)
= U(nl) + 2izjzt(4 .
(2.17)
Note that leapfrog (like all 3step schemes) requires two timelevels of information (two initial conditions) to get started. The corresponding amplification equation is
x2  i(2a)X  1 = 0
.
This is a quadratic equation with the two solutions, corresponding t o two
possible solutions to the original approximate difference equation:
+
= i
a (1  m y
= i m  ( l  w )2 1/2
A1
A2
.
What are we to make of these dual amplification factors? Are they both
related t o the exact solution, or is one of them somehow fictitious (purely
numerical in origin)? To answer this question, take the limit of vanishingly
small At
+1
A2 + 1
A1
}
Ot+O.
In the limit At + 0, the first solution of the amplification equation approaches unity, and clearly recovers the behavior of the exact solution. The
solution t o the ADE corresponding to A1 is called the physical solution, or
physical mode. In contrast, A2 approaches 1, clearly an artificial result;
this corresponds to the socalled computational mode.
The choice of initial conditions (there are two) determines whether the
computational mode arises or not. The general solution to Eq. (2.17) is
&)
+
= a (A,)" uy) b (A,)" uf)
,
where u y ) and up)represent the respective contributions of the physical
and computational modes at time zero, and a and b are constants. The
Time Differencing
63
initial conditions require
from which
=
(
1
(A1
 A2
)
{(A,)"
 A ~ U ( ~ ) .] }(2.18)
[&)  A2u(0)] (A,)"
The solution (2.18) shows the respective contributions of the physical and
computational modes. The latter can be eliminated an princaple by a sufficiently clever choice of initial conditions, i.e., if (dl)
 Alu(O)) = 0. However, permanent elimination of the computational mode is not truly possible
because of the accumulation of roundoff on finiteprecision computers.
As (2.18) emphasizes, absolute stability requires that neither amplification factor exceed unity. For this problem, both the physical and the computational modes are conditionally stable, i e . , IAl,zl = 1 for lwl = lwAtl 5 1.
Both modes are unstable for lwl > 1. Note the appealing property that the
leapfrog scheme is neutral (neither damping nor amplifying) for solutions
to the wave equation.
Turning now to phase errors in the leapfrog solution, we consider first
w < 1, for which
62
= arctan(a/t/l
w2)
.
For the physical mode,
that is, it is weakly accelerating. And, from the properties of arctangents,
so that
64
THE 1D HEAT AND WAVE EQUATIONS
and both real and imaginary parts oscillate in sign. For the Nyquist fre1
quency, Iw1 =
( a= l),
el = e2 = f n / 2
and
= u(0)efina/2
The phase changes by ( ~ 1 2for
) the maximally allowable w. Since the exact
phase change is 1, there is considerable error, although the approximated
wave is stable.
The leapfrog scheme has the useful property of neutral evolution of
waves. However, this property applies equally well to both the physical
and the computational mode. Since the latter must arise to some degree in
any computation, and since it is entirely erroneous, we might well want t o
periodically remove it. How do we go about this? One popular approach
is t o occasionally apply another timestepping scheme, one which can aggressively damp the computational mode. An example of the latter is the
leapfrogtrapezoidal scheme, in which an estimate of u at the next time level
obtained from a leapfrog step is used in a trapezoidal correction:
u* =

Jn+l)
u(n1) + 2 A t f ( n )
dn)+ (,)A(f'"'t
+f*) .
For the wave equation, f = ZWZL, the leapfrogtrapezoidal scheme can be
manipulated to yield
At
2
u(n+l) = u ( n )+  { ( i w ~ ( ~+) iw[u("')
+ 2At(iw)u(")]}
so that the amplification equation becomes
x2 + ( a 2
 1 i a / 2 ) X
 ( i a / 2 )= 0 .
Ignoring terms of order w 2 ,
xcz
1
+ ( i a / 2 )f [l + 3iw/2]
2
Time Differencing
65
Hence
PI2=
{ l+C?(w2)
q w 2 )
+1
+o
1
’
as At + 0. The inclusion of the trapezoidal correction step thus acts to
heavily damp the computational mode. Although we do not demonstrate it
here, the trapezoidal correction also enhances the region over which stable
integration can be carried out; ie., timesteps greater than
are now
allowable. The penalty for these attractive properties is the need to evaluate
the righthandside function f(u,t) twice, rather than once, at each timestep.
Lastly, for AdamsBashforth,
3
so that
X1,2
= 1/2{1 f (3iw/2)
+ dl  9w2/4 + iw}
.
Hence, in the limit of vanishingly small timestep,
X
A2 1+
+ 0l } w + o
so that the computational mode is damped. Amplitude and phase errors
arising from the AdamsBashforth scheme are most easily appreciated from
the Taylor series evaluated at ( n $)At, for which the leading order terms
are:
+
For the wave equation, the AdamsBashforth approximation is therefore
equivalent, at leading order, to solving the modified equation
= iwu (1
at
+ (17At2w2
48 ) I +
(15At3w4)
96
so that the scheme is accelerating and weakly amplifying.
u
THE I D HEAT AND WAVE EQUATIONS
66
The friction equation
2.5.2
The friction Eq. (2.16) has the general solution u(t) = u(0)e't. For our
2step schemes
=~
(  ~r&{clu(n)
1
+ ~ ~ u (1 ~ + ~ )
or, by rearrangement,
where the nondimensional parameter c, = r a t . Therefore,
0
Euler (forward):
Euler (backward):
IAI = (1 c,)
1x1 = (1 c,)'
0
Trapezoidal:
14 =
0
+
(s)
The explicit Euler scheme is stable for 0 < c, 5 2, while its implicit counterpart is always stable (damping) irrespective of At. The trapezoidal approximation is likewise unconditionally stable.
For the leapfrog scheme, the amplification equation is X2+(2c,)X1 = 0,
so that
0
Leapfrog:
X I = c,
+ Jm
For any c, > 0, A2 < 1. Leapfrog treatment of the friction equation
is therefore unconditionally unstable. The instability of leapfrog time differencing when applied to a heat or diffusiontype equation is especially
disappointing since leapfrog differencing does so well on wavelike terms.
On an equation combining waveproducing and frictional processes we can
expect, since the wavelike terms do not produce amplitude damping, that
treatment by leapfrog differencing will be unconditionally unstable overall.
If leapfrog differencing is nonetheless retained, frictional terms must be
given special treatment to avoid instability. A simple expedient, still most
commonly used in practice, is to lag the friction terms in time:
= u(nl)  (2At)ru("l) .
By lagging in time, we recover an Euler forward step over an interval of 2At,
which from results above we know to be conditionally stable. There are two