3.3 Splitting into Fractional Steps
131
would be evaluated in the two-stages
ifJ* = ifJn +
ifJn+1 = ljJn + ßM.cifJ* + Cl - ß)M.cifJn ,
and ß is a free parameter (see Section 2.3.3). A second possibility is the LaxWendroff method, in which L and .c Z are both evaluated during a single forward
time step such that
Whatever the exact fonnulation of FI and Fz, since they are of second order,
FI (M) = I + sie, + (!i.2
Z
.cf + 0 [(M)3 J.
Fz(M) = I + !i.t.cz + (!i.;)2 + 0 [(!i.t)3J.
and the composite operator for a complete integration step is
[Fz(!i.t)][FI (!i.t)] =
1+ !i.t(.cz + .cl) + (!i.2
Z
+ u-c. + .cf) + 0 [(!i.t)3].
The preceding will not be a second-order approximation to the exact operator
exp(!i.t.c) = 1+ M(.cl +.cz) + -2-(.cf
(M)z
+ .c1.cZ+ .cZ.c1 + + 0
[ (!i.t)3 ,
]
unless .c1.cZ = .cZ.cI. Unfortunately, in many practical applications .cl and .cz
do not commute. For example , if .cl and .cz are the one-dimensional advection
operators dcfined by (3.52) and U and V are functions of x and y, then
av a
a Z
.ct.cz = U - - +UV--,
ax ay
axay
.cZ.c1 = V - -
au a
+ UV--,
a
ay ax
axay
Z
av
au
U-=V-=O.
ax
ay
Strang (1968) noted that even if .cl and.cz don't commute, FI and Fz can still
be used to construct the following 0 [(!i.t)Z] operator:
[FI (M/2) ][Fz (!i.t)][FI (!i.t /2)] .
(3.57)
Précédent

- 146/476

Suivant