0% found this document useful (0 votes)
35 views24 pages

A Genuinely High Order Total Variation Diminishing Scheme For One-Dimensional Scalar Conservation Laws

This document describes the development of a genuinely high order total variation diminishing (TVD) scheme for solving one-dimensional scalar conservation laws. The key ideas are: 1) Define the total variation of the numerical solution using the variation of reconstructed polynomials rather than just the grid values. 2) Construct piecewise polynomial approximations of the solution up to degree five, which are high order accurate and do not increase the total variation. 3) Exactly evolve the approximations in time using the governing PDE, which does not increase the total variation. 4) Derive the conservative form of the scheme and show it has formally high (up to sixth) order accuracy while maintaining the TVD property.

Uploaded by

Pasquale Cutri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views24 pages

A Genuinely High Order Total Variation Diminishing Scheme For One-Dimensional Scalar Conservation Laws

This document describes the development of a genuinely high order total variation diminishing (TVD) scheme for solving one-dimensional scalar conservation laws. The key ideas are: 1) Define the total variation of the numerical solution using the variation of reconstructed polynomials rather than just the grid values. 2) Construct piecewise polynomial approximations of the solution up to degree five, which are high order accurate and do not increase the total variation. 3) Exactly evolve the approximations in time using the governing PDE, which does not increase the total variation. 4) Derive the conservative form of the scheme and show it has formally high (up to sixth) order accuracy while maintaining the TVD property.

Uploaded by

Pasquale Cutri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

c 2010 Society for Industrial and Applied Mathematics

SIAM J. NUMER. ANAL.


Vol. 0, No. 0, pp. 000000

A GENUINELY HIGH ORDER TOTAL VARIATION DIMINISHING


SCHEME FOR ONE-DIMENSIONAL SCALAR
CONSERVATION LAWS
XIANGXIONG ZHANG AND CHI-WANG SHU
Abstract. It is well known that nite dierence or nite volume total variation diminishing
(TVD) schemes solving one-dimensional scalar conservation laws degenerate to rst order accuracy
at smooth extrema [S. Osher and S. Chakravarthy, SIAM J. Numer. Anal., 21 (1984), pp. 955984],
thus TVD schemes are at most second order accurate in the L1 norm for general smooth and nonmonotone solutions. However, Sanders [Math. Comp., 51 (1988), pp. 535558] introduced a third
order accurate nite volume scheme which is TVD, where the total variation is dened by measuring
the variation of the reconstructed polynomials rather than the traditional way of measuring the variation of the grid values. By adopting the denition of the total variation for the numerical solutions
as in [R. Sanders, Math. Comp., 51 (1988), pp. 535558], it is possible to design genuinely high order
accurate TVD schemes. In this paper, we construct a nite volume scheme which is TVD in this
sense with high order accuracy (up to sixth order) in the L1 norm. Numerical tests for a fth order
accurate TVD scheme will be reported, which include test cases from trac ow models.
Key words. hyperbolic conservation laws, nite volume scheme, total variation diminishing,
total variation bounded, high order accuracy, conservative form
AMS subject classification. 65M06
DOI. 10.1137/090764384

1. Introduction. We consider numerical solutions of one-dimensional hyperbolic scalar conservation law


(1.1)

ut + f (u)x = 0,

u(x, 0) = u0 (x),

where u0 (x) is assumed to be a bounded variation function. The main diculty


in solving (1.1) is that the solution may contain discontinuities even if the initial
condition is smooth.
Successful numerical schemes for solving (1.1) are usually total variation stable,
for example, the total variation diminishing (TVD) schemes [1] or the total variation
bounded (TVB) schemes [14], or essentially nonoscillatory, for example, the essentially
nonoscillatory (ENO) schemes [2, 15] or the weighted ENO (WENO) schemes [6, 4].
ENO and WENO schemes, although uniformly high order accurate and stable in applications, do not have mathematically provable TVB properties for general solutions
and do not satisfy a maximum principle. It is certainly desirable to have a TVD or
TVB scheme, which shares the TVD property of the exact entropy solution of (1.1),
satises a maximum principle, and has at least a convergent subsequence to a weak
solution of (1.1) due to its compactness.
Received by the editors July 9, 2009; accepted for publication (in revised form) April 2, 2010;
published electronically DATE. This research was supported by NSF grant DMS-0809086 and AFOSR
grant FA9550-09-1-0126.
http://www.siam.org/journals/sinum/x-x/76438.html
Department of Mathematics, Brown University, Providence, RI 02912 (zhangxx@dam.
brown.edu).
Division of Applied Mathematics, Brown University, Providence, RI 02912 (shu@dam.
brown.edu).

XIANGXIONG ZHANG AND CHI-WANG SHU

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

or T V (un+1 ) (1 + M t)T V (un ),

where M is a constant and t is the time step.


It is well known that nite dierence or nite volume TVD schemes solving (1.1),
where the total variation is measured by (1.2), necessarily degenerate to rst order
accuracy at smooth extrema [8]; thus TVD schemes are at most second order accurate
in the L1 norm for general smooth and nonmonotone solutions. While the TVB
schemes in [14] can overcome this accuracy degeneracy diculty, the schemes are no
longer scale-invariant (scale-invariance refers to the fact that the scheme does not
change when x and t are scaled by the same factor) and involve a TVB parameter M
which must be estimated and adjusted for individual problems.
In [12], Sanders introduced a third order accurate nite volume scheme which is
TVD. The main idea in [12] is to dene the total variation by measuring the variation
of the reconstructed polynomials, rather than the traditional measurement as in (1.2).
The scheme of Sanders in [12] can be summarized in the following steps:
Start from the cell averages u0j and the cell boundary values u0j+ 1 for all j
2
from the initial condition u0 (x).
For n = 0, 1, . . . , perform the following:
1. Reconstruct a piecewise quadratic polynomial solution un (x), based on
the information unj and unj+ 1 for all j, such that un (x) is third order ac2
curate (degenerates to second order at isolated critical points; therefore
still third order in the L1 norm), and TVD
(1.3)

T V (un (x)) T V (un1 (x)),

where the total variation is measured by the standard bounded variation


seminorm of the piecewise quadratic polynomial solution un (x). For
n = 0, T V (un1 (x)) is taken as the bounded variation seminorm of the
initial condition u0 (x).
2. Evolve the PDE (1.1) exactly for one time step t from the initial
condition un (x) at the time level tn , and take the cell averages un+1
j
and the cell boundary values un+1
1 for all j from this exactly evolved
j+ 2
solution. Then return to step 1 above.
The crucial step in Sanders scheme is the reconstruction, which should be high
order accurate and TVD in the sense of (1.3). Step 2, namely the exact time evolution
and cell averaging, does not increase the total variation. The resulting scheme is thus

A GENUINELY HIGH ORDER TVD SCHEME

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 ).

XIANGXIONG ZHANG AND CHI-WANG SHU

If the reconstruction is written as pj (x) = a4 (x xj )4 + a3 (x xj )3 + a2 (x xj )2 +


a1 (x xj ) + a0 , then the coecients can be given explicitly as




a0 =
a2 =

uj1 +298uj +uj+1 54 uj 1 +uj+ 1


192

(uj1 +58uj +uj+1 )+30 uj 1 +uj+ 1


2

8x2

a4 =

a1 =

a3 =

5uj1 +50uj +5uj+1 30 uj 1 +uj+ 1


12x4

uj1 uj+1 10 uj 1 uj+ 1


2

8x

uj+1 uj1 +2 uj 1 uj+ 1


2

x3

It is clear that the following properties hold for pj (x).


I. Accuracy (recall that u(x) is a smooth function):
pj (x) = u(x) + O(x5 )

(2.1)

x Ij .

II. Agreement of the cell averages:



1
(2.2)
pj (x)dx = uj
j.
x Ij

Dene the piecewise polynomial p(x) = j pj (x)j (x), where j is the characteristic function on Ij . Notice that for the specic Hermite polynomial pj (x) dened
above, we have p(xj 12 ) = pj (xj 12 ) = pj1 (xj 12 ) = u(xj 12 ); that is, p(x) is a

continuous function. For any piecewise polynomial function r(x) = j rj (x)j (x),
where rj (x) is a polynomial which may not satisfy rj (xj 12 ) = u(xj 12 ) or rj (xj+ 12 ) =
u(xj+ 12 ), we dene the variation of r on each cell by
 x 1
j+
2
|rj (x)| dx + |rj (xj 12 ) uj 12 | + |rj (xj+ 12 ) uj+ 12 |,
V ar(rj ) =
xj 1


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

|rj (x)| dx + |rj (xj 12 ) rj1 (xj 12 )|


V ar(rj ).
T V (r) =
j

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.

A GENUINELY HIGH ORDER TVD SCHEME

We now discuss the limiting process case by case.


Case I. pj (x) is monotone in the cell Ij .
For this case, the TVD requirement (2.3) is already satised since pj (x) is a
Hermite type polynomial which interpolates u at the cell boundaries.
Case II. pj (x) is not monotone in the cell Ij , but u(x) is monotone in this cell.
In this case, the TVD property (2.3) does not hold for pj (x) because
V ar(pj ) > |uj+ 12 uj 12 | = T V (u)j .
Without loss of generality, we discuss only the situation that u(x) is monotonically
increasing in Ij , i.e., uj 12 uj+ 12 and u (x) 0 for all x Ij . Since pj (x) is
not monotone, we must have pj (x) < 0 for some x Ij . Consider pj (x) = pj (x)
j (x xj ), j = minxIj pj (x). We then have the following lemma.
Lemma 2.1. The accuracy condition (2.1) and the cell average agreement condition (2.2) still hold for pj (x).
Proof. The agreement of the cell average is obvious. To prove accuracy, it suces
to show j = O(x4 ).
We have pj (x) u (x) = O(x4 ) since pj (x) is a fourth degree Hermite approximation of u(x). If pj (x) attains its minimum at the point xmin Ij , then we
have u (xmin ) 0, j = pj (xmin ) < 0; therefore |j | = j u (xmin ) j =
O(x4 ).
We now enforce the TVD requirement (2.3). For this purpose, we apply the
following scaling to pj (x) around its cell average on the cell Ij :

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].

XIANGXIONG ZHANG AND CHI-WANG SHU

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

= (rj (xj+ 12 ) rj (xj 12 )) + (rj (xj 12 ) uj 12 ) + (uj+ 12 rj (xj+ 12 ))


= uj+ 12 uj 12 = T V (u)j .
Notice that this scaling does not change the cell average. Of course, we would
need to show that, with j taken in Lemma 2.2, this scaling does not destroy accuracy.
We would need the following result for polynomials.
Lemma 2.3. If a polynomial p(x) of degree k (k 4) is monotone over an interval
I = [a, b], and its cell average over I is p, then




 p(x) p 
 p(x) p 
 C,
 C,

(2.7)
max 
max
xI p(b) p 
xI  p(a) p 
where C is a constant depending only on the degree of the polynomial k. In particular,
C(2) = 2, C(3) = 4, and C(4) = 7.
The proof is elementary, but lengthy, and is therefore deferred to Appendix A.
A similar (and more general) result for quadratic polynomials can be found in the
appendix of [5].
Using Lemma 2.3 we can prove the accuracy property.
Lemma 2.4. For the j chosen in Lemma 2.2, the accuracy property (2.1) holds

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

monotonically increasing, we actually have j =

uj 1 uj
2

p
j (xj 1 )uj .

Then,

rj j (x) pj (x) = j (


pj (x) uj ) + uj pj (x) = (j 1)(
pj (x) uj )




=

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 )

(uj 12 pj (xj 12 )) = O(x5 ),

where in the last equality we have used Lemma 2.3.


Case III. Neither pj (x) nor u(x) is monotone in Ij .
First, consider the situation that u(x) has only one nontrivial extremum in Ij .
Without loss of generality, we assume u(x) attains its maximum at xmax Ij , and we
denote umax = u(xmax ).

A GENUINELY HIGH ORDER TVD SCHEME

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

plj (x) = pj (x) x Ijl ,

prj (x) = pj (x) x Ijr ,

ul (x) = u(x) x Ijl ,

ur (x) = u(x) x Ijr .

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)

plj (x) = plj (x) plj + ulj ,

(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

plj (x) ulj ) + ulj ,


(rjl )j (x) = j (
where
(2.11)



 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 .

XIANGXIONG ZHANG AND CHI-WANG SHU

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

u(x, t)| M for a predetermined constant M , we will


only in those cells in which | x
C
take the mesh size x < M . If at a later time t, u(x, t) has two extrema in the
same cell, then they must correspond to one such pair in the initial condition with
values mj and Mj (following characteristics, along which the solution stays constant).
Clearly, by the mean value theorem, there is then a point in this cell such that
M m

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

A GENUINELY HIGH ORDER TVD SCHEME


t

H(s)

xj

tn+ 2

xj 1
s1
tn

xj 1

s2

xj+ 1

yj

xj+ 1

x0j

(a) The backward characteristic line from

(b) A sketch of H(s) in Case 3.

(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 ,

has a unique solution yj Ij .


Proof. Consider nding the root of the function
(3.5)

H(s) = f  (u0 (s))t + 2(s xj ).

According to (3.2), we have that


(3.6)

H(x+
) = f  (u0 (x+
))t x < 0,
j 1
j 1
2

10
(3.7)

XIANGXIONG ZHANG AND CHI-WANG SHU

H(x
) = f  (u0 (x
))t + x > 0.
j+ 1
j+ 1
2

Moreover, (3.1) implies that for every s Ij ,


(3.8)

d
d
H(s) = f  (u0 (s))t rj (s) + 2 > 0.
ds
ds

Therefore, H(s) has a unique root yj Ij = (xj 12 , xj+ 12 ).


Lemma 3.2. If rj (x) = rjl (x)(Ijl ) + rjr (x)(Ijr ), where rjl (x) and rjr (x) are
two polynomials dened on Ijl = [xj 12 , x0j ] and Ijr = [x0j , xj+ 12 ], respectively, we can
get either one or three possible candidates for the backward characteristic line from
1
(xj , t 2 ) by solving the characteristic equation (3.4).
Proof. Again, consider nding the root of the function (3.5). We still have
(3.6) and (3.7). Moreover, (3.8) holds for each piece of s (xj 12 , x0j ) and s
(x0j , xj+ 12 ), respectively. Therefore, H(s) is continuous on Ij except at x0j , and H(s)
is monotonically increasing both on the left-hand side and on the right-hand side of
x0j . Thus, there are three cases depending on the signs of H((x0j ) ) and H((x0j )+ ).
1. If H((x0j ) ) H((x0j )+ ) > 0, there is exactly one root of H(s).
2. If H((x0j ) ) 0, H((x0j )+ ) 0, the backward characteristic line is from
(x0j , 0) to (xj , t/2) and the speed of this characteristic is 2(xj x0j )/t.
Precisely speaking there is no root of H(s) if H((x0j ) ) < 0 and H((x0j )+ ) > 0,
but this means a rarefaction wave emanating from (x0j , 0).
3. If H((x0j ) ) 0, H((x0j )+ ) 0, then there are two roots of H(s); one is in
Ijl , and the other one is in Ijr . Moreover, the line segment from (x0j , 0) to
(xj , t/2) is also a possible characteristic. See Figure 3.1(b).
From the previous lemma, we know that there is a unique backward characteristic
line unless Case 3 happens. For Case 3, we can use the Lax formula to choose the
correct characteristic line among the candidates if the ux f (u) is convex; see, e.g.,
the procedure used in [10]. However, if f (u) is nonconvex, it is very dicult to single
out the correct characteristic line among these candidates. We will show in the next
section that any choice among these candidates will maintain the desired accuracy;
therefore our main concern is the TVD property of the scheme. We will choose
the candidate so that the cell average obtained from (3.3) satises the maximum
principle, i.e.,
(3.9)

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

A GENUINELY HIGH ORDER TVD SCHEME


1

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.

3.2. Precondition. We propose the following procedure as the preconditioning


process to ensure (3.1). Clearly, this preconditioning does not aect accuracy in
smooth cells.
1. rj (x) is a polynomial. If rj (x) fails to satisfy (3.1), i.e.,
max rj (x)f  (rj (x)) > 2/t

or

xIj

min rj (x)f  (rj (x)) < 2/t,

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

XIANGXIONG ZHANG AND CHI-WANG SHU

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

pj 12 (x) = pj 12 (x) j 12 (x xj 12 ),



where j 12 =

minxIj 1 pj 1 (x)

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

A GENUINELY HIGH ORDER TVD SCHEME

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

plj 1 (x) ulj 1 ) + ulj 1 , where


j 12 (
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

(d) Else, if plj 1 (x) is not monotone, set


plj 1 (x)
2

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

plj 1 (x) ulj 1 ) + ulj 1 ,


rjl (x) = j 12 (
2

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

Perform a similar modication to prj 1 (x); then we obtain rj 12 (x) =

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

XIANGXIONG ZHANG AND CHI-WANG SHU

xj1

xj

n+ 12

xj 3

xj 1

tn

xj+ 1

yj1

yj
x

Fig. 4.1. The trapezoid region in the x-t plane.

4. Properties of the scheme.


4.1. Conservative form.
Theorem 4.1. The scheme given in the previous section can be written in a
conservative form.
Proof. The cell averages can be rewritten as

n+ 1
yj
1
uj 12 = x
un (x)dx t
2 f (uj ) + (xj yj )uj
yj1
2

+ t
f
(u
)

(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

T V (un+ 2 (x)) V ar(un+ 2 (x)) T V (un (x)).


4.3. Accuracy. Except for Case 3 in Lemma 3.2, the time evolution of our
scheme is exactly the same as in [12]. Therefore, following the same lines as in [12],
if Case 3 never happens, then we can show that our scheme is fth order accurate
for smooth solutions away from the extrema by calculating the local truncation error
dened in [12], and it will lose at most one order of accuracy near extrema. Since

A GENUINELY HIGH ORDER TVD SCHEME

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

G (x) = f  (u0 (x))u0 (x)t + 2;


hence we have G (x) 32 for all x [xj 12 , xj+ 12 ] if t is small enough, since f  (x)
and u0 (x) are bounded. Now G (x) H  (x) = O(x4 ) implies that if x is small,
H  (x) 1 for all x [xj 12 , xj+ 12 ]. Therefore,
H(s
0 ) H(s1 )
= H  () 1
s0 s1

for some [s1 , s0 ],

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.

5. Numerical test. In this section we provide numerical examples to test our


schemes.
5.1. Standard test cases.
Example 1. We solve the model equation ut +ux = 0, 1 x 1, u(x, 0) = u0 (x),
with periodic boundary conditions.
Three initial data u0 (x) are used. The rst one is u0 (x) = sin(x), and the second
one is u0 (x) = sin4 (x). We list the L1 and L errors for the cell averages at time
t = 5 in Table 5.1. Here and below, the mesh size x = 2/N . We can clearly see that
the designed fth order accuracy is achieved in both cases, at least for the L1 error.
The third initial function is

1, 1 x 0,
u0 (x) =
1, 0 x 1,

16

XIANGXIONG ZHANG AND CHI-WANG SHU


Table 5.1
t = 5, t/x = 0.95.
N

u0 (x) = sin4 (x)

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

A GENUINELY HIGH ORDER TVD SCHEME

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

(a) N = 40, t = 100.

(b) N = 160, t = 0.4, t/x = 0.3.

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

(c) N = 400, t = 2, t/x = 0.04.

(d) t = 2, t/x = 0.04. The curves, from


right to left, are corresponding to N = 800,
N = 1600, N = 3200, and the exact solution,
respectively.

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,

cos(5(u 1.8)) + 2.0 if 1.6 u < 2.0,


f (u) =
cos(5(u 2.2))
if 2.0 u < 2.4,

1
if u 2.4,
with two initial conditions, which is an example used in [11]. The rst initial condi-

18

XIANGXIONG ZHANG AND CHI-WANG SHU

350

300

300

250

250

Density (veh/km)

350

200

Density

200

150

150

100

100

50

50

10

15

10

15

Distance

(a) The initial density.

(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

A GENUINELY HIGH ORDER TVD SCHEME

15
2000
10
5

Flow (veh/h)

1500

1000

-5
-10

500

-15
-20

50

100

150

50

100

150

Density (veh/km)

(b) The graph of q  ().

(a) The graph of q().

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,

0.0242 5.2 + 4760, [100, 350].


The length of the freeway is 20 km. The entrance density is 50 vehicles/km. The
piecewise linear initial density prole shown in Figure 5.3(a) is formed. The entrance

20

XIANGXIONG ZHANG AND CHI-WANG SHU

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.

5.3. A simplied scheme. In this subsection we discuss a simplied version


of our nite volume scheme. We use the same method for time evolution, and a
similar but simpler limiter which only enforces strict maximum principle but not
TVD, without breaking a polynomial into two pieces on any interval. The algorithm
satises all the theoretical properties of the previous scheme except for a rigorous
proof of TVD. This maximum-principle-satisfying nite volume scheme is described
below.
1. Start with
the preconditioned version of piecewise polynomial of degree four
un (x) = j rj (x)j (x) at time level n.
2. For each xj , nd the unique root yj of the characteristic equation (3.4) in Ij .
The uniqueness of the root is ensured by Lemma 3.1.
n+ 12
t
n
n
3. Evaluate T (un )(xj , t
2 ) = u (yj ) and the average uj 1 of T (u )(x, 2 ) on
2

21

A GENUINELY HIGH ORDER TVD SCHEME

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

[yj1 , yj ]. Apply the following scaling:




n+ 1
n+ 1
rj 12 (x) = pj 12 (x) uj 12 + uj 12 ,
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

5. Apply the preconditioning process. This nishes the evolution to tn + t


2 on
the staggered mesh Ij 12 .
6. Evolve to tn + t in an analogous way back to the mesh Ij .
Remark 5.3. We can easily prove that this scheme is conservative and fth order
accurate. Obviously, it satises the maximum principle. Therefore, we will refer to it
as the maximum-principle-satisfying scheme.
Remark 5.4. The maximum-principle-satisfying scheme is much easier to code
than the TVD scheme. Although we cannot rigorously prove TVD or TVB of the numerical solution, we have not observed any signicant dierence between this scheme
and the TVD scheme tested before, for all the test cases reported in this paper. We
will not show these results here to save space.
6. Concluding remarks. In this paper we have extended the work in [12] and
have constructed a class of genuinely high order accurate nite volume TVD schemes
for solving one-dimensional scalar conservation laws. These schemes do not degenerate to lower order accuracy for solutions with smooth extrema, yet they satisfy a
strict maximum principle and can be proved to be TVD, when the total variation is
measured by the bounded variation seminorm of the reconstructed piecewise polynomials. The key ingredient of the algorithm is the TVD reconstruction, which can be
eciently implemented for order of accuracy up to six.
We have tested the fth order scheme on a variety of examples including those
from trac ow models and those with nonconvex uxes. The solutions are high
order accurate and provide good resolution to shocks and rarefaction waves.
A simplied scheme is also described, which enforces a strict maximum principle
but is not rigorously TVD; however, it is much simpler to implement than the TVD
scheme. Numerical experiments indicate that this simplied scheme performs as nicely
in all the test cases as the TVD scheme.
The advantage of the schemes constructed in this paper, compared with traditional TVD schemes, is that they do not degenerate to rst order at smooth extrema;
hence they give very good resolutions to solutions with complicated smooth waves.
On the other hand, the advantage of the schemes constructed in this paper, compared
with ENO and WENO schemes, is that they satisfy strictly the maximum principle;
hence they will not generate nonphysical solutions such as negative density for the
trac ows. This property is important in many applications.
In order to generalize this scheme to two dimensions, we should abandon the
requirement of TVD and insist only on the strict maximum principle, that is, along
the approach of the simplied scheme in section 5.3. Initial work along this direction

22

XIANGXIONG ZHANG AND CHI-WANG SHU

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

We now discuss this in several cases.


 p( 1 )p 
3
Case 1. If a2 + 10
a4 = 0, then  p(21 )p  = 1 < 7.
Case 2. If a2 +

3
10 a4

< 0, then


 p( 1 ) p 
2


2
=1+

 p( 21 ) p 
3

Since p(x) is increasing,

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

A GENUINELY HIGH ORDER TVD SCHEME

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

For any u, v [ 12 , 12 ], we have


p (u) = a1 + 2ua2 + 3u2 a3 + 4u3 a4 0,
p (v) = a1 + 2va2 + 3v 2 a3 + 4v 3 a4 0,
= p (u) + p (v) = 2a1 + 2(u + v)a2 + 3(u2 + v 2 )a3 + 4(u3 + v 3 )a4 0,


3
(A.2) = 2 a1 + (u2 + v 2 )a3 + 2(u + v)(a2 + 2(u2 + v 2 uv)a4 ) 0.
2
We would like to nd u, v [ 12 , 12 ] satisfying

3
2
2
2 (u + v )

2(u2 + v 2 uv) =

Solving this linear system, we obtain u = 12

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

XIANGXIONG ZHANG AND CHI-WANG SHU

[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.

You might also like