A Genuinely High Order Total Variation Diminishing Scheme For One-Dimensional Scalar Conservation Laws
A Genuinely High Order Total Variation Diminishing Scheme For One-Dimensional Scalar Conservation Laws
ut + f (u)x = 0,
u(x, 0) = u0 (x),
Typically, for a nite dierence scheme with the numerical solution given by the
grid values uj , or a nite volume scheme with the numerical solution given by the cell
averages uj , the total variation of the numerical solution is measured by
(1.2)
T V (u) =
|uj+1 uj |,
j
which is the standard bounded variation seminorm when the numerical solution is
considered to be a piecewise constant function with the data uj . A scheme is TVD if
the numerical solution satises T V (un+1 ) T V (un ), where un refers to the numerical
solution at the time level tn . A TVB scheme is one which satises T V (un ) M for
all n such that tn T , where the constant M does not depend on the mesh sizes but
may depend on T . A sucient condition for a scheme to be TVB is
T V (un+1 ) T V (un ) + M t
TVD as long as the reconstruction is TVD. The purpose of this paper is to generalize
the scheme of Sanders, mainly the step of the high order TVD reconstruction, to
higher order accuracy. In order to measure the total variation of a polynomial p(x) of
degree k over the interval [a, b], we would need to obtain the zeros of its derivative p (x)
in this interval, denoted by a1 , a2 , . . . , ak1 . If we also denote a0 = a and ak = b, then
b
k
the variation of p(x) over the interval [a, b] is a |p (x)|dx = j=1 |p(aj ) p(aj1 )|. If
we insist on working with explicit formulas for the zeros of polynomials to save cost,
then we can have only the polynomial degree k of p(x) up to ve; hence our approach
can generate schemes up to sixth order in the L1 norm.
A major diculty in generalizing Sanders TVD reconstruction to higher order is
the design of the nonlinear limiter, which should maintain accuracy in smooth regions
while enforcing the TVD property (1.3). The original limiter of Sanders in [12] works
well for the third order scheme (k = 2), but it seems dicult to generalize it directly
to higher order. We will develop a dierent limiter to achieve this purpose. The nite
volume schemes we develop in this paper are (k + 1)th order accurate in the L1 norm,
conservative, and TVD in the sense of (1.3). Numerical tests for a fth order accurate
TVD scheme will be reported, which include test cases from trac ow models.
This paper is divided into six sections. In section 2 we develop a Hermite type
reconstruction procedure using piecewise polynomials of degree k for functions of
bounded variation. We use a quartic polynomial (k = 4) as an example to illustrate
the procedure. The reconstruction does not increase the variation of the function
being approximated, and is (k+1)th order accurate in regions where the approximated
function is smooth. In section 3 we show how to evolve the approximation in time
in essentially the same way as in [12]. In section 4, we derive the conservative form
of the scheme and show that the local truncation error is formally (k + 1)th order
accurate. In section 5 we present some numerical examples of the fth order scheme
using quartic reconstruction polynomials. Numerical examples include those from
trac ow models. Finally, in section 6, we give concluding remarks and remarks for
future work.
2. A fth order TVD reconstruction. For a smooth function u(x) with
bounded variation over an interval J R, we would like to nd a piecewise polynomial r(x) approximating u(x) with the property that the variation of r(x) does not
exceed that of u(x). We will use a Hermite type quartic reconstruction polynomial
as an example to show how to nd such an approximation. However, we remark that
this approximation procedure can also be applied to any reconstruction polynomials
of degree up to ve, including those obtained with the ENO or WENO procedure.
We will use the following notation for our mesh:
Ij = [xj 12 , xj+ 12 ],
xj =
1
xj 12 + xj+ 12 ,
2
x = xj+ 12 xj 12 ,
which is assumed
to be uniform for simplicity, and for the discretization of u over the
1
mesh uj = x
u(x) dx, uj 12 = u(xj 12 ). Given the cell averages and cell boundary
Ij
point values of u(x), there are many ways to obtain a reconstruction polynomial pj (x)
over the cell Ij . We choose to use the Hermite type reconstruction of degree four; i.e.,
the polynomial pj (x) should satisfy
1
x
Ii
pj (x) dx = ui ,
i = j 1, j, j + 1,
and
pj (xj 12 ) = u(xj 12 ).
8x2
a4 =
a1 =
a3 =
8x
x3
(2.1)
x Ij .
and dene the variation of r on the whole domain by V ar(r) = j V ar(rj ). The
standard total variation seminorm of r(x) is
xj+ 12
xj 1
The approximation r(x) is TVD if it satises T V (r) = J |r (x)| dx J |u (x)| dx =
T V (u), where the integral is in the generalized sense since r (x) may contain
-functions, because r(x) is a piecewise polynomial function which may not be continuous at cell interfaces. Obviously, r is a TVD approximation if V ar(rj ) Ij |u (x)| dx
for all j, where we assume the cell boundary values u(xj 12 ) are well dened and
shared by both cells Ij1 and Ij . For convenience,
we denote the total variation of
the function u over the interval Ij by T V (u)j = Ij |u (x)| dx.
Now the question is, given a piecewise approximation polynomial p(x) and certain
information of u(x) including its extrema, its cell boundary values uj 12 , its cell
averages uj , and its cell total variation T V (u)j for all j, whether we can nd a TVD
approximation r(x) by limiting p(x) such that the accuracy condition (2.1) and the
conservation condition (2.2) still hold.
To obtain the TVD property, it suces to enforce
(2.3)
V ar(rj ) T V (u)j
j.
pj (x) uj ) + uj ,
rj j (x) = j (
where j [0, 1] is a parameter to be determined by the TVD requirement (2.3).
Lemma 2.2. If V ar(
pj ) > T V (u)j , then there exists j [0, 1] such that
V ar(rj j ) = T V (u)j .
Proof. Take
u 1 uj u 1 uj
j 2
j+ 2
j = min
,
.
pj (xj 1 ) uj pj (xj+ 1 ) uj
2
2
First, we need to show j [0, 1]. If j > 1, then
(2.4)
pj (xj 12 ) uj |,
|uj 12 uj | > |
|uj+ 12 uj | > |
pj (xj+ 12 ) uj |.
Since u(x) and pj (x) are both monotonically increasing in Ij , we have
uj 12 uj uj+ 12
(2.5)
and pj (xj 12 ) uj pj (xj+ 12 ). Therefore, (2.4) implies uj 12 pj (xj 12 ) uj
pj (xj+ 12 ) uj+ 12 . We then have
x 1
j+
2
V ar(
pj ) =
|
pj (x)| dx + |
pj (xj 12 ) uj 12 | + |
pj (xj+ 12 ) uj+ 12 |
xj 1
2
= (
pj (xj+ 12 ) pj (xj 12 )) + (
pj (xj 12 ) uj 12 ) + (uj+ 12 pj (xj+ 12 ))
= uj+ 12 uj 12 = T V (u)j .
This contradicts V ar(
pj ) > T V (u)j ; therefore we have j [0, 1].
Second, we should verify the TVD property (2.3). For convenience, we denote
by rj (x) here. By the denition of j ,
rj j (x)
pj (xj 12 ) uj | |uj 12 uj |,
|rj (xj 12 ) uj | = j |
(2.6)
|rj (xj+ 12 ) uj | = j |
pj (xj+ 12 ) uj | |uj+ 12 uj |.
Since u(x) and rj (x) are both monotonically increasing in Ij , we have (2.5)
and rj (xj 12 ) uj rj (xj+ 12 ); therefore (2.6) implies uj 12 rj (xj 12 ) uj
rj (xj+ 12 ) uj+ 12 . We thus have
x 1
j+
2
|rj (x)| dx + |rj (xj 12 ) uj 12 | + |rj (xj+ 12 ) uj+ 12 |
V ar(rj ) =
xj 1
2
for rj j (x).
Proof. It suces to show that rj j (x) pj (x) = O(x5 ). Without loss of gen u 1 uj
j
erality, we assume j = pj (x 2 1 )uj . In this case, since both u(x) and pj (x) are
j
uj 1 uj
2
p
j (xj 1 )uj .
Then,
uj
j 2
p
j xj 1 uj
2
pj (x)u
j
p
j xj 1 uj
(
pj (x) uj ) =
uj 1
pj xj 1
2
p
j xj 1 uj
(
pj (x) uj )
We propose to break the polynomial pj (x) into two parts, plj and prj . Let ulj and
be the cell averages of u on Ijl = [xj 12 , xmax ] and Ijr = [xmax , xj+ 12 ], respectively.
Similarly, let plj and prj be the cell averages of pj (x) on Ijl and Ijr , respectively. Dene
urj
After an adjustment of the cell averages over the two subcells, in each of the two
intervals Ijl and Ijr , the situation reduces to either Case I or Case II. Here, we will only
briey discuss plj , since the procedure for prj is the same. Since umax is the maximum,
ul (x) is monotonically increasing in Ijl .
1. If plj is monotone on Ijl (Case I), then dene
(2.8)
where
(2.9)
(rjl )j (x) = j (
plj (x) ulj ) + ulj ,
u 1 ul
j 2
j
j = min
,
pj (xj 1 ) ulj
2
umax ul
j
,1 .
pj (xmax ) ulj
2. If plj is not monotone on Ijl (Case II), let be the minimum of the derivative
of plj over Ijl ; then < 0. Dene
(2.10)
plj (x)
plj (x)
plj
ulj
xj 12 + xmax
x
,
2
u 1 ul
j 2
j
j = min
,
pj (xj 1 ) ulj
2
umax ul
j
,1 .
pj (xmax ) ulj
We dene rjr (x) on Ijr in a similar way, and use rj (x) = rjl (x)(Ijl )+ rjr (x)(Ijr ) as
our TVD approximation of u(x) on Ij . By the same arguments as in Cases I and II,
we can show the TVD property and agreement of cell averages for rj (x). And we can
also show the accuracy for rj (x), following the same arguments as in Cases I and II.
If there are multiple nontrivial extrema of u(x) inside the interval Ij , for the
implementation of the limiter, we will choose arbitrarily one of the extrema of u(x)
(e.g., the one which gives the maximum or the minimum of u(x) inside the interval Ij ).
Without loss of generality, we assume u(x) attains its maximum at xmax Ij , and
umax = u(xmax ) is chosen as the extremum which will be used in the limiter. We still
break the polynomial pj (x) into two parts, plj (x) on Ijl = [xj 12 , xmax ] and prj (x) on
Ijr = [xmax , xj+ 12 ]. Then we perform the following modication for plj (x):
1. If (uj 12 ulj ) ulj umax 0 and plj (x) is monotonically nondecreasing on
Ijl , then do exactly the same limiting as (2.8) and (2.9).
2. If (uj 12 ulj ) ulj umax 0 and plj (x) is not monotone on Ijl , then do
exactly the same limiting as (2.10) and (2.11).
3. Otherwise, set plj (x) = ulj .
The limiting for prj (x) is similar. By the same arguments as above, we can show
the TVD property and the agreement of cell averages for such modied two-piece
polynomials.
Remark 2.5. One apparent gap in the proof above is that accuracy for Case III
can be shown to only hold for the case of u(x) having at most one extremum in the
cell Ij . We would like to justify this restriction for suciently small x. For this
purpose, we assume that the initial condition u(x, 0) has only nitely many strict
smooth extrema. A pair of adjacent extrema can consist of only one maximum Mj
and one minimum mj if the function u(x, 0) is smooth and nonconstant in between,
with mj < Mj . We denote C = minj (Mj mj ) > 0. If we agree to consider accuracy
C
u(, t)| jx j x
> M ; hence we do not need to consider accuracy of the
| x
numerical approximation in this cell. In summary, the reconstruction polynomials
after the modications introduced in this section always satisfy the TVD and cell
average agreement properties; however, accuracy can be shown for only suciently
small x.
3. A TVD nite volume scheme. Combining the high order accurate TVD
reconstruction described in the previous section with the method of characteristics,
we obtain a high order accurate TVD Godunov type nite volume scheme solving the
one-dimensional scalar conservation law (1.1).
3.1. Time evolution. To implement the approximation of the previous section, several pieces of information must be available for each cell. Specically, the
cell averages and the left and right cell boundary point values of the function being
approximated must be known. To obtain this information, we follow Sanders [12] and
use a staggered spatial mesh with the method of characteristics. We need only discuss
the evolution procedure for one time step.
Let T (u0 )(x, t), t 0, denote the solution to the scalar conservation law (1.1),
and let R(u0 )(x) denote the piecewise polynomial TVD reconstruction to u0 (x) in the
previous section. As in the previous section, we partition the real line into nonoverlapping intervals Ij = [xj 12 , xj+ 12 ], and approximate u0 BV by the piecewise
polynomial TVD reconstruction
rj (x)j (x),
u0 (x) = R(u0 )(x) =
j
where rj (x) is either a polynomial or a (possibly discontinuous) two-piece polynomial rj (x) = rjl (x)(Ijl ) + rjr (x)(Ijr ). Consider a staggered partition Ij 12 =
[xj1 , xj ]. The objective of the evolution is to determine the necessary information
t
of T (u0 )(x, t
2 ) such that a TVD piecewise polynomial reconstruction at time t = 2
can be obtained.
We assume that u0 is given by u0 (x) = R(u0 )(x), where R denotes a preconditioned version of reconstruction R. By this we mean specically that R(u0 ) is
modied (in a way we will discuss later) so that for all j,
d 0 0
(3.1)
max u (x) f (u (x)) t < 2.
Ij
dx
H(s)
xj
tn+ 2
xj 1
s1
tn
xj 1
s2
xj+ 1
yj
xj+ 1
x0j
(xj , tn+ 2 ).
Fig. 3.1.
Essentially, to enforce (3.1) is to push extremely large gradients of rj (x) out of the
interval Ij and into the jump discontinuities at cell interfaces; see [12]. An additional
condition that we assume throughout is the Courant condition; that is, for all u in
the range of u0 we assume the ratio = t/x is taken so that
|f (u)| < 1.
(3.2)
If we can nd the backward characteristic line from each point xj at time t = t/2
back to the time level t = 0 with its foot located at yj Ij (see Figure 3.1(a)) such
that the exact entropy solution is constant uj = u0 (yj ) along the line, then we have
1
already obtained the cell endpoint values of T (u0 )(x, t
2 ) on the staggered cell Ij 2 ,
and we can apply the divergence theorem to (1.1) over the trapezoid dened by the
points (xj1 , t/2), (xj , t/2), (yj1 , 0), and (yj , 0) to obtain the cell average of
1
T (u0 )(x, t
2 ) on Ij 2 as
(3.3)
2
uj
1 =
2
1
x
yj
yj1
u0 (x)dx
t
2 f (uj )
+ (xj yj )uj
+ t
2 f (uj1 ) (xj1 yj1 )uj1 .
Therefore, we may now focus on how to obtain the backward characteristic line.
With (3.1) and (3.2) we have the following lemma.
Lemma 3.1. If the approximation function u0 is continuous on Ij , that is, rj (x)
is a polynomial, then the backward characteristic equation
(3.4)
f (u0 (x)) =
xj x
,
t/2
x Ij ,
H(x+
) = f (u0 (x+
))t x < 0,
j 1
j 1
2
10
(3.7)
H(x
) = f (u0 (x
))t + x > 0.
j+ 1
j+ 1
2
d
d
H(s) = f (u0 (s))t rj (s) + 2 > 0.
ds
ds
2
max u0 (x).
min u0 (x) uj
1
[yj1 ,yj ]
[yj1 ,yj ]
Once this maximum principle is satised, the conditions for the analysis in section 2
will be fullled and we may have a TVD reconstruction.
Notice that a choice of the correct characteristics for both cell endpoints yj1
1
2
and yj would produce uj
1 from (3.3) as the exact cell average of the entropy solu2
tion T (u0 )(x, t/2) on Ij 12 ; therefore, it would automatically satisfy the maximum
principle (3.9). Thus, in Case 3 when there are more than one candidate for the char1
2
acteristic line, there is at least one choice which would return a uj
1 satisfying (3.9).
2
If more than one candidate satisfy this criterion, we will simply choose one of them
arbitrarily. In our implementation, if there are N intervals in which Case 3 happens,
then we have 3N candidates of possible combination. We check all the 3N candidates
11
2
sequentially until we nd one choice such that each uj
1 from (3.3) satises (3.9);
2
then we will stop the search and use this choice.
After nding the backward characteristics, we can obtain the cell averages and
cell boundary point values of T (u0 )(x, t/2). With this information, we can apply the
procedure in the previous
section to obtain a piecewise Hermite type reconstruction
p
polynomial p(x) =
j j 12 (x)j 12 (x) on the staggered mesh Ij 12 = [xj1 , xj ].
To nd a TVD approximation to T (u0 )(x, t/2), we still need to know the extrema of T (u0 )(x, t/2). In actual implementation, we use the maximum/minimum
value of u0 (x) on the interval [yj1 , yj ] to replace the maximum/minimum value of
T (u0 )(x, t/2), and the position of the extremum of T (u0 )(x, t/2) is determined
by forward characteristic lines starting from the maximum/minimum point of u0 (x).
is the point where the maximum value of u0 (x) in [yj1 , yj ] is
For example, if xmax
j
achieved, and the maximum value is u0max , then the forward characteristic is the
line through (xmax
, 0) and (xmax
+ f (u0max )t/2, t/2); i.e., we trace the maxij
j
mum/minimum values by the characteristics. The two cell averages of the left and
right parts can be computed in the same way as in (3.3).
Remark 3.3. Since the entropy solution to (1.1) satises the maximum principle,
the maximum/minimum value of T (u0 )(x, t/2) on the interval Ij 12 is less/greater
than or equal to the maximum/minimum value of u0 (x) on the interval [yj1 , yj ],
which could be easily computed because u0 is a piecewise polynomial of degree k 5
and there are algebraic analytical formulas for the extrema.
or
xIj
xIj
then we use rj (x) = (rj (x) uj ) + uj to replace rj (x), where uj is the cell
average and
= min t maxxI f (rj2(x)) maxxI r (x) , t minxI f (rj2(x)) minxI r (x) .
j
2. rj (x) = rjl (x)(Ijl ) + rjr (x)(Ijr ). We discuss only rjl (x); the process for rjr (x)
is similar. If rjl (x) fails to satisfy (3.1), i.e.,
max rjl (x)f (rj (x)) > 2/t
xIjl
or
min rjl (x)f (rj (x)) < 2/t,
xIjl
then we use rjl (x) = (rjl (x) ulj ) + ulj to replace rjl (x), where ulj is the cell
average on Ijl and
2
= min
,
l
l
t maxxIj f (rj (x)) maxxIjl (rj ) (x)
2
.
t min
f (rjl (x)) minxIj (rjl ) (x)
xI l
j
12
3.3. Algorithm owchart. We can now formulate the algorithm owchart for
the TVD nite volume scheme. From now on we restrict ourselves to the fth order
case for easy presentation, although the procedure and results are valid for all orders
up to six. Given the cell averages and cell boundary values of the initial data u0 (x), we
use the Hermite reconstruction procedure in section 2 to obtain a piecewise polynomial
of degree four u0 (x) as the numerical initial condition. We apply the limiting process
in section 2 to the numerical initial condition, still denoted by u0 (x), which is then a
piecewise polynomial of degree four satisfying T V (u0 ) T V (u0 ).
1. Start with piecewise polynomial of degree four un (x) =
j rj (x)j (x) at
time level n, where rj (x) is either a polynomial or two-piece polynomial on
the interval Ij . Apply the preconditioning process detailed in section 3.2 to
each rj (x), still denoted as rj (x).
2. For each j, by Lemmas 3.1 and 3.2, there is either one or three solutions in Ij
xj x
for the characteristic equation f (rj (x)) = t/2
, x Ij . Use either explicit
formulas (if f (rj (x)) is a lower degree polynomial) or an iterative method to
nd the solution or solutions in Ij . If there is only one solution, set it as yj .
Next, if there are N intervals in which there are three candidates for yj , then
check all of the 3N candidates of combination sequentially until we nd one
n+ 1
which returns a maximum-principle-satisfying uj 12 for all of the intervals in
2
the formula
n+ 1
yj
1
t
n
n
n
uj 12 = x
yj1 u (x)dx 2 f (u (yj )) + (xj yj )u (yj )
2
n
n
(3.10)
+ t
2 f (u (yj1 )) (xj1 yj1 )u (yj1 ) .
t
n
n
1
3. Evaluate T (un )(xj , t
2 ) = u (yj ) and the average of T (u )(x, 2 ) on Ij 2 =
[xj1 , xj ] by the formula (3.10). Construct the Hermite type reconstruction
polynomials pj 12 (x) on the staggered interval Ij 12 = [xj1 , xj ] using the
formulas in section 2.
4. Let uj denote un (yj ). Evaluate the extrema of pj 12 (x) in each staggered interval Ij 12 and the extrema of rj (x) in each Ij to calculate V ar(pj 12 ) =
xj
1
1
xj1 |pj 12 (x)| dx + |pj 2 (xj1 ) uj1 | + |pj 2 (xj ) uj | and the stan yj
n
n
dard variation of u (x) on [yj1 , yj ], T V (u )[yj1 ,yj ] = yj1
|(un ) (x)| dx.
If V ar(pj 12 ) > T V (un )[yj1 ,yj ] , we perform the TVD limiting process described in section 2 on pj 12 (x):
If un (x) is monotone on [yj1 , yj ], then perform the limiting procedure
if
uj1 uj ,
maxxIj 1
if
uj1 uj ,
pj 1 (x)
2
and
+ un+1
,
rj 12 (x) = j 12 pj 12 (x) un+1
j 1
j 1
2
with j 12
uj1 un+11
j
2
= min p (x )un+1 ,
j 12 j1 j 12
uj un+11
j
2
p 1 (x )un+1 , 1 .
j 2 j j 12
13
If un (x) is not monotone on [yj1 , yj ], then choose either the maximum or the minimum of un (x), denoted as yjext [yj1 , yj ]. Set
= yjext + f (un (yjext ))t/2 and uext
= un (yjext ). Divide Ij 12 into
xext
j
j
l
ext
r
ext
two parts, Ij
] and Ij
, xj ]. Calculate the aver1 = [xj1 , xj
1 = [xj
2
l
r
ages of T (un )(x, t
2 ) over Ij 1 and Ij 1 by
2
ulj 1 =
2
urj 1
2
1
x
yjext
yj1
un (x)dx
t
n ext
2 f (u (yj ))
+ (xext
yjext )un (yjext )
j
n
n
+ t
f
(u
(y
))
(x
y
)u
(y
)
,
j1
j1
j1
j1
2
yj
1
t
n
n
n
= x
yjext u (x)dx 2 f (u (yj )) + (xj yj )u (yj )
n ext
ext
ext n ext
+ t
f
(u
(y
))
(x
y
)u
(y
)
.
j
j
j
j
2
Set plj 1 (x) = pj 12 (x) and prj 1 (x) = pj 12 (x). Let plj 1 denote the
2
l
average of plj 1 (x) on Ij
1 . Perform the following limiting procedure
2
to plj 1 (x):
l
l
(a) If (uj1 ulj 1 )(ulj 1 uext
j ) < 0, set rj 1 (x) = uj 1 .
2
(b) Else, if plj 1 (x) is monotone and (plj 1 (xj1 ) plj 1 (xext
j ))(uj1
2
l
l
uext
j ) < 0, then set rj 1 (x) = uj 1 .
(c) Else, if plj 1 (x) is monotone and (plj 1 (xj1 ) plj 1 (xext
j ))(uj1
2
l
lj 1 (x) = plj 1 (x)plj 1 +ulj 1 , and rj
uext
1 (x) =
j ) 0, then set p
2
j 12
ulj 1
uext
j
2
,1 .
pj 1 (xext
)ul 1
j
j
2
with j 12
plj 1 (x)
2
u ul
j1
j 1
2
= min p 1 (xj1 )ul ,
1
j
j
plj 1
2
ulj 1
2
j 12
minxI l
l
p
(x)
j 12
j 1
2
=
maxxI l
plj 1 (x)
1
j
xj1 + xext
j
x
,
2
if uj1 uext
j ,
if uj1 uext
j ,
and
where j 12
u ul
j1
j 1
2
= min pl (xj1 )ul ,
1
1
j
j
2
ul 1
uext
l j ext j 2l , 1 .
pj 1 (x )uj 1
2
l
l
r
r
rj
) + rj
).
1 (x)(I
1 (x)(I
j 1
j 1
2
1
This nishes the evolution to tn + t
2 on the staggered mesh Ij 2 .
5. Evolve to tn + t in an analogous way back to the mesh Ij .
14
xj1
xj
n+ 12
xj 3
xj 1
tn
xj+ 1
yj1
yj
x
(x
y
)u
j1
j1
j1
j1
2
= unj 1
2
1 t
2 x (fj
fj1 ),
xj n
2(xj yj )
2
where the numerical ux is fj = t
uj and unj 1
t
yj u (x)dx + f (uj )
2
denotes the average of un (x) on Ij 12 . See Figure 4.1.
First, fj depends only on un (x) over the interval Ij . Second, fj is consistent in
the sense that fj = f (u) if un (x) is a constant u. Thus, our scheme is conservative.
4.2. Total variation diminishing.
1
Theorem 4.2. The scheme given in the previous section is TVD: T V (un+ 2 (x))
T V (un (x)).
Proof. As long as the cell averages satisfy the maximum principle (3.9), Lemma 2.2
in the TVD reconstruction section will hold, which ensures the TVD property of the
reconstruction after limiting. The preconditioning process in section 3.2 clearly does
not increase the variation. Therefore, the scheme satises
1
15
there is only nitely many such extrema, the L1 order of accuracy is optimal. Here,
we need to show that the local truncation error will lose at most one order of accuracy
if Case 3 happens. It suces to check the accuracy of the backward characteristic
line that we choose in Case 3.
Lemma 4.3. Assume f (x) and u0 (x) are both bounded; then all of the three
candidates of the backward characteristic lines in Case 3 are fth order accurate if the
mesh is ne enough.
Proof. Assume the three possible locations of the foot of backward characteristics
are s0 , s1 , and s2 as shown in Figure 3.1(b) (in which s0 is denoted as x0j ). It suces
to show that s1 s2 = O(x5 ) if x and t are suciently small.
Dene G(x) = f (u0 (x))t + 2(x xj ) and H(x) = f (u0 (x))t + 2(x xj ). We
have
G(x) H(x) = f (u0 (x))t f (u0 (x))t = f ()(u0 (x) u0 (x))t = O(x5 );
+
+
5
therefore, |H(s
0 ) H(s0 )| |H(s0 ) G(s0 )| + |G(s0 ) H(s0 )| = O(x ), and
5
hence H(s0 ) H(s0 ) < 0 implies |H(s0 )| = O(x ). Notice that
5
which implies s0 s1 H(s
0 ) H(s1 ) = H(s0 ) = O(x ). Similarly s0 s2 =
5
O(x ). Therefore, the accuracy is not destroyed even if the entropic characteristic
line is not necessarily chosen in Case 3.
We now have the following theorem on the accuracy of our scheme.
Theorem 4.4. Assume the initial data u0 (x) and the ux f (u) are both smooth
functions. Take t suciently small so that (3.1) is satised. The scheme is fth
order accurate away from the extrema of u0 (x) and when Case 3 does not happen.
Accuracy can lose at most one order near the extrema or when Case 3 happens; hence
in L1 the error is fth order accurate.
16
u0 (x) = sin(x)
L1 error
1.08E-6
3.34E-8
1.02E-9
3.14E-11
20
40
80
160
320
Order
5.01
5.03
5.02
L error
2.18E-6
6.93E-8
2.17E-9
6.69E-11
L1 error
6.25E-4
2.72E-5
8.46E-7
2.65E-8
8.57E-10
Order
4.97
5.00
5.02
Order
4.52
5.00
4.99
4.95
L error
1.22E-3
7.58E-5
3.15E-6
1.20E-7
4.08E-9
Order
4.01
4.59
5.13
4.47
L error
4.09E-2
7.34E-4
1.79E-5
9.24E-8
9.30E-12
Order
5.80
5.36
9.24
13.27
Table 5.2
u0 (x) = 0.25 + 0.5 sin(x), t/x = 1.2.
N
t = 0.15
L1 error
1.32E-6
3.26E-8
6.41E-10
2.30E-11
7.63E-13
2.46E-14
20
40
80
160
320
640
Order
5.34
5.66
4.80
4.91
4.95
t=2
L error
6.73E-6
1.47E-7
4.25E-9
2.38E-10
1.59E-11
1.02E-12
L1 error
2.19E-3
3.30E-5
2.68E-6
8.23E-10
2.70E-13
Order
5.51
5.12
4.16
3.90
3.95
Order
6.05
6.95
8.34
11.57
0.7
0.6
0.6
0.5
0.4
u(x)
u(x)
0.4
0.2
0.3
0.2
0.1
0
-0.1
-0.2
-0.5
0.5
-0.2
-0.5
(a) t = 0.6366
(b) t = 2
0.5
Fig. 5.1. N = 80, t/x = 1.2. Solid line: exact solution. Symbols: numerical solution.
The results at t = 100 are shown in Figure 5.2(a). We can see that the numerical
solution maintains a strict maximum principle and has relatively good resolution for
the discontinuity for a coarse mesh after a very long time simulation (50 time periods).
Example
2. We solve the Burgers equation with periodic boundary conditions
ut + u2 /2 x = 0, 1 x 1, u(x, 0) = u0 (x). For the initial data u0 (x) = 0.25 +
0.5 sin(x), the exact solution is smooth up to t = 2 , and then it develops a moving
shock which interacts with a rarefaction wave. We list the errors in Table 5.2 at
t = 0.15. We can clearly see the designed fth order accuracy is achieved in the L1
norm. In Figure 5.1 we can see that the shock is captured very well at t = 2 and
t = 2.0. The errors 0.05 away from the shock (i.e., |x shock location| 0.05) are
listed in Table 5.2 at t = 2.0. We can see that the designed order of accuracy is
achieved or surpassed.
Example 3. Note that we have only proved TVD for our schemes, not entropy
conditions. We use nonconvex uxes to test the convergence to the physically cor-
17
1
1
0.8
0.5
u(x)
u(x)
0.6
0
0.4
-0.5
0.2
-1
0
-0.5
0.5
-1
-0.5
0.5
2.01
2.5
2.005
u(x)
u(x)
-1
1.995
1.5
1.99
1
-10
-5
10
-0.5
0.5
Fig. 5.2. Example 1 and Example 3. In (a), (b), and (c), the solid line is exact solution and
squares denote numerical solution (cell averages).
rect entropy solutions. The exact solutions are obtained from the rst order Lax
Friedrichs scheme on a very ne mesh.
4u2
The rst ux is the BuckleyLeverett ux f (u) = 4u2 +(1u)
2 , with the initial
1
data u = 1 in [ 2 , 0] and u = 0 elsewhere. The computational result is displayed in
Figure 5.2(b), which is quite satisfactory.
The second ux is
1
if u < 1.6,
1
if u 2.4,
with two initial conditions, which is an example used in [11]. The rst initial condi-
18
350
300
300
250
250
Density (veh/km)
350
200
Density
200
150
150
100
100
50
50
10
15
10
15
Distance
(b) t = 30 minutes.
300
300
250
250
200
200
20
Density
350
Density
350
150
150
100
100
50
50
Distance (km)
10
15
20
10
15
Distance
Distance
(c) t = 60 minutes.
(d) t = 90 minutes.
20
Fig. 5.3. Trac ow from Example 4: N = 800. Solid line: exact solution. Symbols: numerical
solution (cell averages).
tion is
u0 (x) =
1
3
for x < 0,
for x 0,
and it is shown in [11] that the numerical solutions of many high order schemes would
stay stationary, which is entropy-violating. Our result is shown in Figure 5.2(c) (solid
line is the exact solution and symbols denote numerical solution (cell averages)),
which approximates the exact entropy solution very well. The other initial data that
we test is
3 for 1 x < 0,
u0 (x) =
1 for 0 x 1,
with a periodic boundary condition. It is shown in [11] that convergence towards the
entropy solution for this test case is slow for rst order monotone schemes and may
fail for many high order schemes. Our results are shown in Figure 5.2(d). There is
clearly convergence with rened meshes, and the rate of convergence is faster than
that of the rst order schemes shown in [11].
19
15
2000
10
5
Flow (veh/h)
1500
1000
-5
-10
500
-15
-20
50
100
150
50
100
150
Density (veh/km)
140
140
120
120
100
100
Density
160
Density
160
80
80
60
60
40
40
20
20
10
Distance
15
20
17
18
19
20
Distance
(c) t = 18 minutes. The region inside the rect- (d) Magnied graph of the region inside the
angle on the right is magnied in Figure 5.4(d).
rectangle in Figure 5.4(c).
Fig. 5.4. Trac ow from Example 5: N = 1600. Solid line: exact solution. Circles: numerical
solution (cell averages).
5.2. Test cases from trac ow models. In this subsection, we test our
fth order TVD scheme on two trac ow problems. To describe the dynamic characteristics of trac on a homogeneous and unidirectional highway, the Lighthill
WhithamRichards (LWR) model is widely used. The equation for the LWR model
is t + q()x = 0 with suitable initial and boundary conditions. Here (0, max ) is
the density, max is the maximum (jam) density, and q() = u() is the trac ow
on a homogeneous highway.
Example 4. The rst trac ow test example is taken from [7]. The ow-density
function is given by a concave function
[0, 50],
0.42 + 100,
2
q() =
[50, 100],
0.1 + 15 + 3500,
20
is blocked for 10 minutes, after which trac is released again from the entrance at
the capacity density 75 vehicles/km. After 20 minutes, the entrance ow returns to
50 vehicles/hour. At the exit boundary, a trac signal is installed, with a repeated
pattern of 2 minutes green light (zero density) followed by 1 minute red light (jam
density). The numerical solutions are shown in Figures 5.3(b), 5.3(c), and 5.3(d).
We can observe that our TVD scheme produces very good approximations to the
exact solution for this test case.
Example 5. We consider a similar problem but with a much more complicated
ow-density function in [3]. The ow function q() = Ve () is given by
2
4V02
V
Ve () = 2V0 1 + 1 + V 2 ,
1
max )
c
) (
and () = 0 + (tanh (
with V () = T1r ( 1 max
()
) + 1). Here V0 ,
Tr , max , 0 , , c , and are all constant parameters to be determined by tting
them to the empirical data. The physical meaning of these parameters can be found
in [3]. We simply choose some typical values mentioned in [3]: V0 = 110 km/hour,
Tr = 1.8 seconds, max = 160 vehicles/km, 0 = 0.008, = 0.02, c = 0.27max,
and = 0.1max . With all of these parameters, the ow-density function q()
is well dened; the graphs of this function and its second derivative are plotted in
Figures 5.4(a) and 5.4(b). It is clearly neither a globally concave nor a globally convex
function. The entrance density is constant 30 vehicles/km. The initial condition is
145
0 (x) = 135
2 sin ( 10 x) + 2 . At the exit boundary, a trac signal is installed, with a
repeated pattern of 1 minute green light ( = 10 vehicles/km) followed by 2 minutes
red light ( = 140 vehicles/km). The numerical solutions are shown in Figure 5.4(c),
with a magnied graph for the boxed region shown in Figure 5.4(d), where the solid
line is the reference solution obtained by the rst order LaxFriedrichs scheme on
a very ne grid (N = 4000000) at t = 18 minutes. We again observe very good
resolution of our scheme for this nonconvex trac ow model.
Remark 5.1. The advantage of our scheme is that it is high order accurate and
satises strictly a maximum principle; therefore, it has better resolution than the
usual TVD schemes when the solution contains many waves, and it does not generate
any unphysical solution such as negative density. From the two examples above, we
can see that all the waves (shocks and rarefactions) are well captured.
Remark 5.2. The boundary conditions in these two examples are all piecewise
constants in time. Hence we simply use constant values on ghost cells as the numerical
boundary condition for our scheme.
21
Ij 12 by the formula (3.3). Construct the Hermite type interpolation polynomials pj 12 (x) on the staggered interval Ij 12 = [xj1 , xj ].
4. For each interval Ij 12 , evaluate the maximum Mj and the minimum mj of
!j and the minimum m
pj 1 (x) on Ij 1 , and the maximum M
j of un (x) on
2
where is determined by
= min
1
!j un+12
M
j
2
M un+ 12
j
j 1
2
n+ 1
m
j uj 12
2
n+ 1
mj uj 12
,1
22
has been performed in [16], after the submission of the original version of this paper.
It is also possible to formally generalize the scheme to hyperbolic systems; see [13]
for one possible approach. However, it would probably be more appropriate, for the
system case, to enforce certain positivity preserving properties, such as positivity
preserving for density and pressure for Euler equations of compressible gas dynamics;
see [9] for one possible approach. These generalizations constitute ongoing research.
Appendix A. In this appendix we provide a proof of Lemma 2.3.
Proof. We prove only the k = 4 case. The proof for lower k is very similar (and
simpler) and is thus omitted.
We can assume the interval is I = [ 12 , 12 ] by considering the rescaled variable
x = x(a+b)/2
, which leaves the ratios in (2.7) unchanged. We will still denote x by x,
ba
and without loss of generality, we assume p(x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 is
increasing on I = [ 12 , 12 ]. Notice that since p(x) is monotone on I = [ 12 , 12 ], we need
only show that
p 1 p
p 1 p
2
2
(A.1)
7,
7.
p 12 p
p 21 p
We will prove only the rst inequality in (A.1), the derivation for the second
inequality being the same. We have
1
1
p 21 = a0 12 a1 + 14 a2 18 a3 + 16
a4 ,
p 12 = a0 + 12 a1 + 14 a2 + 18 a3 + 16
a4 ,
1
1
p = a0 + 12 a2 + 80 a4 .
Thus,
p 1 p
p( 12 ) p
2
=
=
1
p 2 p p( 21 ) + p
=1+
1
2 a1
1
2 a1
+ 16 a2 + 18 a3 +
16 a2 + 18 a3
2
3 a2
+ 15 a4
a1 13 a2 + 14 a3
1
10 a4
=1+
1
20 a4
1
20 a4
3
a4
a2 + 10
2
3 a1 13 a2 + 14 a3
3
10 a4
< 0, then
p( 1 ) p
2
2
=1+
p( 21 ) p
3
1
a1 + 14 a3
3
a2 + 10
a4
1
3
1
1
1
1
1
a1 + a2 + a3 + a4 = p
p 0,
2
6
8
20
2
1
1
3
1
=
a1 + a3 +
a2 + a4 0,
2
4
6
10
a1 + 14 a3
1
,
3
3
a2 + a4
10
p 1 p
= 21
< 1.
p 2 p
=
.
1
10 a4
23
Case 3. If a2 +
3
10 a4
> 0, then
p 1 p
2
2
=1+
p 21 p
3
1
a1 + 14 a3
3
a2 + 10
a4
1
3
2(u2 + v 2 uv) =
1
5
1
4,
3
10 .
2
15
and v = 12
1
5
which are apparently within [ 21 , 12 ]. Plugging these values into (A.2), we obtain
%
1
3
1
2 a1 + a3 2
a2 + a4 0,
4
5
10
%
1
a1 + 4 a3
1
,
=
3
5
a2 + 10
a4
p 1 p
1
2
2
=
6.85 < 7.
1+
p 21 p
3 11
5
3
2
15
Remark A.1. The result of this lemma also holds for polynomials of higher degree.
We refer to Lemma 2.4 in [16] for the existence proof of the constant C. The proof
in [16] does not, however, provide an explicit value of C.
REFERENCES
[1] A. Harten, High resolution schemes for hyperbolic conservation laws, J. Comput. Phys., 49
(1983), pp. 357393.
[2] A. Harten, B. Engquist, S. Osher, and S. R. Chakravarthy, Uniformly high-order essentially nonoscillatory schemes, III, J. Comput. Phys., 71 (1987), pp. 231303.
[3] D. Helbing, A. Hennecke, V. Shvetsov, and M. Treiber, MASTER: Macroscopic trac
simulation based on a gas-kinetic, non-local trac model, Transportation Res. Part B, 35
(2001), pp. 183211.
[4] G.-S. Jiang and C.-W. Shu, Ecient implementation of weighted ENO schemes, J. Comput.
Phys., 126 (1996), pp. 202228.
[5] X.-D. Liu and S. Osher, Nonoscillatory high order accurate self-similar maximum principle
satisfying shock capturing schemes, SIAM J. Numer. Anal., 33 (1996), pp. 760779.
[6] X.-D. Liu, S. Osher, and T. Chan, Weighted essentially non-oscillatory schemes, J. Comput.
Phys., 115 (1994), pp. 200212.
[7] Y. Lu, S. C. Wong, M. Zhang, C.-W. Shu, and W. Chen, Explicit construction of entropy
solutions for the Lighthill-Whitham-Richards trac ow model with a piecewise quadratic
ow-density relationship, Transportation Res. Part B, 42 (2008), pp. 355372.
24
[8] S. Osher and S. Chakravarthy, High resolution schemes and the entropy condition, SIAM
J. Numer. Anal., 21 (1984), pp. 955984.
[9] B. Perthame and C.-W. Shu, On positivity preserving nite volume schemes for Euler equations, Numer. Math., 73 (1996), pp. 119130.
[10] J.-M. Qiu and C.-W. Shu, Convergence of Godunov-type schemes for scalar conservation laws
under large time steps, SIAM J. Numer. Anal., 46 (2008), pp. 22112237.
[11] J.-M. Qiu and C.-W. Shu, Convergence of high order nite volume weighted essentially nonoscillatory scheme and discontinuous Galerkin method for nonconvex conservation laws,
SIAM J. Sci. Comput., 31 (2008), pp. 584607.
[12] R. Sanders, A third-order accurate variation nonexpansive dierence scheme for single nonlinear conservation law, Math. Comp., 51 (1988), pp. 535558.
[13] R. Sanders and A. Weiser, High resolution staggered mesh approach for nonlinear hyperbolic
systems of conservation laws, J. Comput. Phys., 101 (1992), pp. 314329.
[14] C.-W. Shu, TVB uniformly high-order schemes for conservation laws, Math. Comp., 49 (1987),
pp. 105121.
[15] C.-W. Shu and S. Osher, Ecient implementation of essentially nonoscillatory shockcapturing schemes, J. Comput. Phys., 77 (1988), pp. 439471.
[16] X. Zhang and C.-W. Shu, On maximum-principle-satisfying high order schemes for scalar
conservation laws, J. Comput. Phys., 229 (2010), pp. 30913120.