6.1 The Scalar Advection Equation
309
(specifically, 0 [(öx)4/ ÖI]) . More generally, the local error produced by pthorder polynomial interpolation is 0 [(Öx) p+I], and the global truncation error
in the corresponding serni-Lagrangian approximation to the constant-wind-speed
problem is 0 [(öx)p+1 / 1:i.1] (McDonald 1984). In most applications, the motivation for using high-order polynomials to interpolate the tracer field is not to
accelerate the convergence of the numerical solution to the correct solution as
Sx _ °and Öl _ 0, but rather to improve the accuracy of the marginally resolved waves. This is the same reason that high-order finite differences are often
used to approximate the spatial derivative in Eulerian schemes for the solution of
the advection equation,
Two Spatial Dimensions
A semi-Lagrangian approximation to the advection equation in a two-dimensional
ftow may be expressed as
A,(
'f' xm,n , Ym,n, I
n+l) -
A,(-n
'f' xm,n' Ym,n' I
-n
n)
= 0,
Öl
where
n'
n) denotes the departure point of a trajectory originating at time
In and arrlving ' at (xm,n, Ym,n, t n + I). Let U and V denote the x and Y velocity components, and as before, suppose they are constant and nonnegative. Denote the integer parts of U I:i.t and V l:i.t by p and q respectively and define a =
(U Öt - p)/Öx and ß = (V I:i.I - q)/Öy. Then a first-order approximation to
tn) can be obtained using bilinear interpolation, which yields the
semi-Lagrangian scheme
= (l - cx) [(l -
+ tx [(l -
+
+
When the Courant numbers along the x- and y-axes are less than unity, p = q =
0, and the preceding reduces to the CTU method (3.35).
A second-order approximation can be obtained using biquadratic interpolation.
In order to abbreviate the notation, let ifJc = ifJm_p ,n _q and denote the surrounding
points using the compass directions (north, northeast, east, . . .) such that i fJN =
ifJNE =
etc. If p and q are now chosen such that
Icxl s 1and IßI s 1, the resulting serni-Lagrangian scheme has the form
=
+ ß)ifJ: w + (l -
-
-
]
+ (l - cx
2)
+ ß)ifJ: + (l -
-
-
]
-
- cx)
+ ß)ifJ:
309
(specifically, 0 [(öx)4/ ÖI]) . More generally, the local error produced by pthorder polynomial interpolation is 0 [(Öx) p+I], and the global truncation error
in the corresponding serni-Lagrangian approximation to the constant-wind-speed
problem is 0 [(öx)p+1 / 1:i.1] (McDonald 1984). In most applications, the motivation for using high-order polynomials to interpolate the tracer field is not to
accelerate the convergence of the numerical solution to the correct solution as
Sx _ °and Öl _ 0, but rather to improve the accuracy of the marginally resolved waves. This is the same reason that high-order finite differences are often
used to approximate the spatial derivative in Eulerian schemes for the solution of
the advection equation,
Two Spatial Dimensions
A semi-Lagrangian approximation to the advection equation in a two-dimensional
ftow may be expressed as
A,(
'f' xm,n , Ym,n, I
n+l) -
A,(-n
'f' xm,n' Ym,n' I
-n
n)
= 0,
Öl
where
n'
n) denotes the departure point of a trajectory originating at time
In and arrlving ' at (xm,n, Ym,n, t n + I). Let U and V denote the x and Y velocity components, and as before, suppose they are constant and nonnegative. Denote the integer parts of U I:i.t and V l:i.t by p and q respectively and define a =
(U Öt - p)/Öx and ß = (V I:i.I - q)/Öy. Then a first-order approximation to
tn) can be obtained using bilinear interpolation, which yields the
semi-Lagrangian scheme
= (l - cx) [(l -
+ tx [(l -
+
+
When the Courant numbers along the x- and y-axes are less than unity, p = q =
0, and the preceding reduces to the CTU method (3.35).
A second-order approximation can be obtained using biquadratic interpolation.
In order to abbreviate the notation, let ifJc = ifJm_p ,n _q and denote the surrounding
points using the compass directions (north, northeast, east, . . .) such that i fJN =
ifJNE =
etc. If p and q are now chosen such that
Icxl s 1and IßI s 1, the resulting serni-Lagrangian scheme has the form
=
+ ß)ifJ: w + (l -
-
-
]
+ (l - cx
2)
+ ß)ifJ: + (l -
-
-
]
-
- cx)
+ ß)ifJ:
