Chapter 6. Semi-Lagrangian Methods: T Than Which Is Required by The Linear Stability Condition Because

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

6-1

Chapter 6. Semi-Lagrangian Methods



References:
Durran Chapter 6.
Review article by Staniford and Cote (1991) NWR, 119, 2206-2223.

6.1. Introduction

Semi-Lagrangian (S-L for short) methods, also called quasi-Lagrangian, have been
around since the early 1960s. T.N. Krishnamurti is probably the first to use S-L method.
The S-L scheme becomes really popular following Andre Roberts work in the early 80s
(Robert 1982) when he combined the use of S-L with semi-implicit method (SLSI) which
allows for large time step size because both schemes are unconditionally stable. The SL
scheme deals with the advection part, and the SI scheme deals with faster wave
propagation.

Two principal reasons for using SL methods in favor of more traditional Eularian
approaches:

Major: To overcome the CFL constraint which is based on stability, not accuracy
considerations. That is, from on accuracy point of view, we could live with a
much larger t than which is required by the linear stability condition because
time truncatiom error is often smaller than spatical truncation error.

Minor: Because SL methods solve the equations in Lagrangian form, i.e., du/dt=0 rather
than the advection form, i.e., / 0 u t V u +
r
, there is no instability due to
aliasing.


In the case of pure advection, stability depends upon the transport velocity. Since
advection term does not appear in SL methods, there is no time step constraint for SL
schemes. (However, t must be small enough to keep the total truncation error
reasonably small. Just as with implicit schemes that are unconditionally stable, we dont
want to use too large a t due to temporal truncation error remember that home work
problem for heat transfer?).

Of course other modes can be present in the problem. For example, internal gravity
waves, which can impose more severe limitation on t unless they are treated implicitly.
Hence the SLSI methods.

Before looking at SL methods, recall the possible coordinate frameworks discussed
earlier in the semester:

6-2
1. Eulerian here, we use a fixed set of points. In the case of spatially staggered
grids. Unless you use grid refinement, you always work with a fixed number of
points.

2. Lagrangian the other exteme. In this case, the mesh actually follows the fluid
and can become distorted, necessitating a remaping operation from time to time.

3. Semi-Lagrangian Here we seek to combine the two methods by moving data
relative to a fixed (in space) grid. It is really nothing more than the method of
characteristics:

We "sit" at point i, and realizing that u
i
n+1
= u
*
n
, or the value of u traced back along the
characteristic path. This is because we have the compatibility equation

du = 0 along dx/dt = c for a pure advection problem / / 0 u t c u x + .

Recall that by using quadratic interpolation to obtain value u
*
we obtained Lax-Wendroff
scheme that is stable when

c t x.

In other words, the departure point could be no further than x away from point i, i.e., the
scheme is stable provided than u
*
was determined by interpolation not extrapolation. This
means that the departure point must be surrounded by points used to determine its value.

6.2. Stability of S-L schemes

Why S-L schemes are unconditionally stable?

Consider a simple 1-D transport problem in our previous space-time diagram. If u is
known at all previous times, how do we find u(t+t)? From our discussions earlier in the
semester, we know that
6-3

u(x, t+t) = u(x-ct, t).

Consider know that arrival point x
I
= I x at t +t = (n+1)t. Then, the departure point is

x
*
= i x c t.

Thus,

u(ix, (n+1)t ) = u( x
*
, nt)

where, again, x
*
needs not be a grid point.

Consider a linear Lagrange interpolation polynomial for obtaining u
*
- this is simple yet
non-trivial and is sufficient for our analysis. For any 2 grid points, J and K, with J>K, we
can write without loss of generality






* *
*
( , )
n n J K
J K
J K J K
x x x x
u x n t u u
x x x x

+

.

Now if we apply a von Neumann stability analysis to this equation, using x
*
= i x c t
and u( x
*
, nt) = u(ix, (n+1)t ), we obtain (verify for yourselves):


2
2 2
2(
| | 1 1 1 sin ( )
2
I J k x
J K
K J

, ]
, ]
+ + +
, ]
, ]

]
, ]
]


where / c t x is the Courant number. We want |j
2
1 for stability, from which it
follows that


2(
0 2
I J
K J



or equivalently, K (i - ) J.

Multiplying through by x gives



x
K
x
*
x
J

6-4
for stability. Thus, stability is guaranteed for any location of the departure point in the
mesh provided that interpolation is used to obtain u
*
instead of extrapolation!

Note, with, for example, upstream forward scheme, we have decided to use u
i-1
and u
i,
therefore to meet the interpolation requirement, ct has to be no greater than x a
consistent result.

Discussion:

SL methods are no more accurate than their Eulerian counterparts.
Since fewer time steps are taken, the time truncation error is actually smaller.
The biggest drawback with SL methods is the difficulty in enforcing conservation.
For constant flow, the time step size can be arbitrarily large so we can complete
the integration of a pure advection problem in one step. The only error comes
from the spatial interpolation.

6.3. Implementation of S-L schemes

Let's now look at the actually ways of applying SL method.

Consider a 3 time-level scheme applied to the equation

0
dF
dt
.

Let's write the scheme as

F[ x
m
(t+t), t+t] F[ x
*
(t-t), t-t ] = 0

where x
m
= mesh point,

x
*
= departure point.

Now, let = distance a particle travels in a single time step. Clearly, it is a function of
the local velocity and the t. Let's look at an x-t diagram








Let's assume that the trajectory is a straight line.
6-5

The major problem in determining the trajectory is that

( , )
dx
u x t
dt


is implicit - x depends on u and u depends on x.

From our diagram, we have

F[ x
m
, t+t] F[ x
*
-2, t-t ] = 0,

so, we need both and F at the departure point ( determines the departure point).

Question: How do we find ?

= f(u)
u = dx/dt
x = f() implicit problem!

When u = constant everywhere (uniform flow), SL methods are essentially exact for
obvious reasons.

To find , we integrate the trajectory equation over time interval [t-t, t+t] using the
mid-point rule:


3
( ) 2 ( ) ( )
x x
x x
f x dx xf x O x
+




x x t t
x x t t
dx
dt u dt
dt
+ +





3
( ) ( ) 2 ( ) x t t x t t tu O t + +

where u is some time-averaged value of u. But, time and space are related, so let

( , ) u u x t - i.e., u at halfway along the trajectory.

( ) ( ) 2 2 ( , ) x t t x t t tu x t +

( , ) tu x t .

To solve this equation, we make a first guess for (say that calculated based on u at
current grid point), and iterate until convergence:

6-6

1
( , )
v v
tu x t
+
.

Now that we have , i.e., we found that departure point, we use interpolation to find the
value of F at the departure point, which is the F at the mesh point at t+t.

Convergence: It turns out that iteration will converge if

1
u
t
x

<



(for 1-D problem) where || || is an L-2 norm. Therefore time step size is limited by the
accurate calculation of trajectory, not by stability.

Steps of Implementation:

1. Solve the -equation iteratively to obtain the departure point
2. Use interpolation to obtain F at the departure point
3. Replace F at the arrival (mesh) point with that computed at the departure point.


SL methods can be applied to forced problems as well, e.g., dF/dt = G and to systems of
equations (see review article and Durran). But SL refers only to the advecton process.

Role of Interpolation

After we find the departure point, we must use interpolation to find the value of F at this
point. Because we are using interpolation, some damping or smoothing occurs and
conservation is not possible. The accuracy of the interpolation process determines the
accuracy and order of our S-L scheme.

Interpolation is also expensive, especially in multiple dimensions. To overcome this,
Ritchies (1986, MWR, 114, 135-146) devised a non-interpolating S-L method, which is a
topic of next section.

In a model that advects many variables, such as hydrometeor types and chemical species,
S-L method is attractive since all variables (on non-staggered grid) share the same
trajectories, and the interpolations can share common interpolation weights.

Because the trajectory calculation is expensive, models based on S-L method usually uses
non-staggered grid, i.e., also variables are located at the same grid points.

6-7
6.4. Non-interpolating S-L Methods

The essence of this approach is that the trajectory vector is broken down into the sum of 2
vectors: one that extends from the arrival point backwards to the gridpoint nearest the
departure point, and the other that is approximated as a residual. Schematically, we have:














The mesh-point to mesh-point vector is simple replacement since the values at grid points
are always known. The residual R is handled using an Eulerian approach, which requires
that | ut/x | 1.

Functionally, the 2-part method works as follows.

Our governing equation is dF/dt = 0. Expanding (consider only 1-D case for now), we
have

0
F F
u
t x

+

.

Now, add the quantity
2
p x F
t x


to both sides, where p is an integer.



2 2
F p x F p x F
u
t t x t x
j \
+
, (

( ,

2
F p x F F
u
t t x x

+

where
2
p x
u u
t

.

The LHS now represents the change in F following the motion but at a speed
2
p x
t

.
which means that, over two time steps, the total displacement will be p grid intervals (can
6-8
have p>1). The residual term on the RHS is simply an Eularian advection term that can
be treated using standard methods.


p is chosen to give a displacement to the gridpoint nearest the departure point x - 2, i.e.,
p is the integer nearest 2ut/x















x
i
px/2 is a grid point for p even
x
i
px/2 is a 1/2 grid point for p odd


So we have

F(x, t+t) F(x-px, t-t) = - u'
F
x

(x
i
px/2, t).

Because x-px is a gridpoint (p is an integer), no interpolation is needed to evaluate the
LHS. The RHS will be evaluated at a grid point (p-even) or at half-point (p-odd), where
in the latter case we will use average of neighboring points.

One can show that this method is stable if

max 2 1
u t
x




where is the residual Courant number. In general, this is much cheaper than, and of
equivalent accuracy to, interpolating methods.


Note that due to the introduction of the residual term we again have problem with
nonlinear aliasing.

You might also like