0% found this document useful (0 votes)
10 views50 pages

Notes On Conservation-Laws

This document is a beginner's course on finite volume approximation of scalar conservation laws, covering essential concepts such as characteristics, shocks, weak solutions, and entropy solutions. It discusses numerical schemes for both linear and non-linear conservation laws, including monotone schemes and MUSCL methods, highlighting their stability and convergence properties. The course aims to provide a foundational understanding of discretization techniques and their applications in solving partial differential equations.

Uploaded by

soumyajit ghosh
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)
10 views50 pages

Notes On Conservation-Laws

This document is a beginner's course on finite volume approximation of scalar conservation laws, covering essential concepts such as characteristics, shocks, weak solutions, and entropy solutions. It discusses numerical schemes for both linear and non-linear conservation laws, including monotone schemes and MUSCL methods, highlighting their stability and convergence properties. The course aims to provide a foundational understanding of discretization techniques and their applications in solving partial differential equations.

Uploaded by

soumyajit ghosh
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/ 50

A beginner’s course on finite volume approximation

of scalar conservation laws

AMSI short course – December 2012

Jérôme Droniou1

Version: 18 Decembre 2012

Based on original notes written for the Pamplona–Pau–Toulouse–Zaragoza summer school on


nonlinear conservation laws held in Jaca (Span), 11-13/09/2008.

Feel free to contact me (see footnote) if you notice typos or mistakes.

1 School of Mathematical Sciences, Monash University, Victoria 3800, Australia. email: jerome.droniou@monash.edu
Contents

1 Some facts about scalar conservation laws 3


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Shocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Weak solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Entropy solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Riemann problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6.1 Shocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6.2 Rarefaction wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Schemes for linear transport equations 13


2.1 Introduction, principle of the finite volume scheme . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Centered scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Upwind scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 L∞ stability and convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Relation with the discretization of convection-diffusion equations . . . . . . . . . . 18
2.3.3 About the time-implicit discretization . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Schemes for non-linear conservation laws 23


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Monotone schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 A first idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 General monotone schemes, L∞ stability . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.3 Examples of monotone fluxes, interpretation of the CFL condition . . . . . . . . . 27
3.2.4 Numerical diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Analysis of monotone schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 BV estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2 Discrete entropy inequalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.3 Convergence of the scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Some numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5 Semi-linear parabolic equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6 Two concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6.1 Implicit discretization of the fluxes . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6.2 Convergence without BV estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4 MUSCL methods 39
4.1 Position of the problem, principle of MUSCL schemes . . . . . . . . . . . . . . . . . . . . 39
4.2 General stability and entropy lemmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Example of a MUSCL scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1
Summary
In this lecture, we present and study some methods to discretize scalar conservation laws ∂t u+∂x f (u) = 0.
After recalling in Chapter 1 some facts about such equations – method of characteristics, shocks, weak
and entropy solutions, finite speed propagation –, we consider in Chapter 2 the case of a linear equation
(f (u) = cu) and we present the construction of numerical schemes, using finite volume techniques. We
then study some caveats of the most basic schemes, mainly regarding their instability. In Chapter
3, we introduce monotone schemes for general non-linear equations and give some classical examples
(Lax-Friedrichs, Godunov). We explain the concept of numerical diffusion associated with such schemes
(and its link with the discretization of parabolic equations) and we give some elements of analysis:
stability, discrete entropy inequalities, convergence in the BV case. The numerical diffusion introduced by
monotone fluxes allow to stabilize the scheme, but gives poor approximations of the qualitative properties
of the continuous solution (shocks, rarefaction waves...). In Chapter 4, we present higher order methods
(MUSCL techniques) and show that they provide better approximations than simple monotone schemes.

2
Chapter 1

Some facts about scalar conservation


laws

1.1 Introduction
This course is devoted to Finite Volume approximations of Partial Differential Equations of the form

∂t u(t, x) + ∂x (f (u))(t, x) = 0 t > 0, x ∈ R,
(1.1.1)
u(0, x) = u0 (x) x∈R
with f : R → R locally Lipschitz-continuous and u0 ∈ L∞ (R). Such equations are called scalar con-
servation laws and, before looking into their numerical approximations, we need to recall some of their
properties. The proofs of most of the facts mentioned here can be found in [9].

1.2 Characteristics
The method of characteristics consists in trying to find a set of curves, usually described by ordinary
differential equation, along which the solutions to a given partial differential equation are constant.
Assuming that u0 is smooth, we therefore look for a function X : [0, ∞) → R such that if u satisfies
(1.1.1) then t → u(t, X(t)) is constant. We would then have
d
0= u(t, X(t)) = ∂t u(t, X(t)) + X 0 (t)∂x u(t, X(t))
dt
and, since u satisfies (1.1.1), we also have
0 = ∂t u(t, X(t)) + f 0 (u(t, X(t)))∂x u(t, X(t)).
Identifying the coefficients, we therefore let X 0 (t) = f 0 (u(t, X(t))) and, since u(t, X(t)) is constant, we
have in fact, setting x = X(0),
X 0 (t) = f 0 (u0 (x)) , that is X(t) = x + f 0 (u0 (x))t.
The characteristics of (1.1.1) are therefore straight lines and, for any x ∈ R, a solution u of (1.1.1)
satisfies u(t, x + f 0 (u0 (x))t) = u0 (x).
Lemma 1.2.1 Assume that f ∈ C ∞ (R) and u0 ∈ C ∞ (R) have all their derivatives bounded. Let

 +∞ if
 inf x∈R (f 00 (u0 (x))u00 (x)) ≥ 0 ,

T = 1
 −
 otherwise.
inf x∈R (f 00 (u0 (x))u00 (x))

3
There exists a < 0 such that ψ : (t, x) ∈ (a, T ∗ ) × R → (t, x + f 0 (u0 (x))t) ∈ (a, T ∗ ) × R is a C ∞ -
diffeomorphism.

Proof Let ϕt (x) = x + f 0 (u0 (x))t. We have ϕ0t (x) = 1 + f 00 (u0 (x))u00 (x)t and, for all t ∈ [0, T ∗ ), ϕ0t > 0
on R. Taking a < 0 small enough, e.g. such that

|a sup(f 00 (u0 (x))u00 (x))| < 1,


x∈R

we notice that ϕ0t > 0 on (a, 0]. For all t ∈ (a, T ∗ ), ϕt is increasing on R and, since u0 is bounded,
ϕt (x) → ±∞ as x → ±∞. ϕt is therefore a diffeomorphism of R.
This proves that ψ is one-to-one and onto. Indeed, for all (s, y) ∈ (a, T ∗ ) × R, there exists a unique
(t, x) = (s, ϕ−1
s (y)) such that ψ(t, x) = (s, y). Moreover,
 
1 0
Jψ(t, x) = det = ϕ0t (x)
f 0 (u0 (x)) ϕ0t (x)

which shows that ψ is a local diffeomorphism around each point in (a, T ∗ ) × R. The lemma is proved.

We can therefore define, on (a, T ∗ ) × R, the smooth function u(t, x) = u0 ((ψ −1 (t, x))2 ) = u0 (ϕ−1
t (x)).
By definition of ψ, we have u(0, x) = u0 (x) (since ψ(0, x) = (0, x)) and, for all (t, x) ∈ (0, T ∗ ) × R,
u(ψ(t, x)) = u(t, x + f 0 (u0 (x))t) = u0 (x). Differentiating with respect to t, we find

0 = ∂t u(t, x + f 0 (u0 (x))t) + f 0 (u0 (x))∂x u(t, x + f 0 (u0 (x))t)


= ∂t u(ψ(t, x)) + f 0 (u(ψ(t, x)))∂x u(ψ(t, x))
= ∂t u(ψ(t, x)) + ∂x (f (u))(ψ(t, x)).

Since ψ is onto (0, T ∗ ) × R → (0, T ∗ ) × R, this proves that u satisfies (1.1.1) on (0, T ∗ ) × R.

We therefore found a smooth (when f and u0 are smooth) local solution to (1.1.1). The question remains
if we can find a solution on (0, ∞) × R.

1.3 Shocks
Unfortunately, not in general. Take any non-linear f ∈ C ∞ (R). The derivative of f is not constant so
there exists a < b such that f 0 (a) < f 0 (b) (for example). Let p < q be two reals and u0 be smooth with
compact support such that u0 (p) = b, u0 (q) = a.
The characteristics from p and q are X(t) = p + f 0 (b)t and Y (t) = q + f 0 (a)t. As f 0 (a) < f 0 (b), they
0 0
intersect at T = f (b)−f
q−p
(a)
> 0 (see Figure 1.1). If u is a smooth solution to (1.1.1) then u(t, X(t)) and
u(t, Y (t)) should be constant, respectively equal to u0 (p) = b and u0 (q) = a. Since X(T ) = Y (T ), that
would give b = u(T, X(T )) = u(T, Y (T )) = a, which is a contradiction. Hence, even with regular f and
u0 , there is no hope in finding a global regular solution to (1.1.1).

1.4 Weak solution


As it is classical in Partial Differential Equation, we therefore turn towards another notion of solution, a
weaker notion which ensures the existence of the solution on (0, ∞) × R (not only for small times). To
do that, we take regular functions, multiply the equation and integrate by parts to put the derivatives
on these regular, “test” functions.

4
t

Slope=1/f 0 (b) Slope=1/f 0 (a)

x
p q

Figure 1.1: Intersection of characteristics

Definition 1.4.1 Let f be locally Lipschitz continuous and u0 ∈ L∞ (R). A weak solution to (1.1.1) is
u ∈ L∞ ((0, ∞) × R) such that, for all ϕ ∈ Cc∞ ([0, ∞) × R) (set of smooth functions with compact support
in [0, ∞) × R), we have
Z ∞Z Z
u(t, x)∂t ϕ(t, x) + f (u(t, x))∂x ϕ(t, x) dtdx + ϕ(0, x)u0 (x) dx = 0. (1.4.1)
0 R R

This weak formulation requires no regularity on u, which is what we wanted (the method of characteristics
shows that we cannot hope that the solution is regular).

Let us now consider the classical Riemann problem for the Burgers equation :
  2
u
 ∂t u(t, x) + ∂x 2 (t, x) = 0
 t > 0, x ∈ R,

−1 if x < 0 , (1.4.2)
 u(0, x) =

+1 if x > 0

(“Riemann” refers to the piecewise constant initial condition, and “Burgers” is the name given to (1.1.1)
2
for f (u) = u2 ). As f 0 (u0 (x)) = u0 (x) = +1 if x > 0 and = −1 if x < 0, the characteristics are as shown
in Figure 1.2.
We therefore expect u = 1 on the right and u = −1 on the left, but which values does u take in the
centre? A first idea is to link the two values of u in the zones x < −t and x > t by a linear function. We
therefore let u(t, x) = xt if −t ≤ x ≤ t... and it works! The function

 −1 if x < −t ,
x
u(t, x) = t if − t ≤ x ≤ t , (1.4.3)
+1 if x > t

is indeed a weak solution to (1.4.2). This is checked by taking a test-function ϕ and cutting the integration
zones in three pieces, x < −t, −t ≤ x ≤ t and x > t (see Section 1.6).

There is however another possible completion for u, even simpler: take u(t, x) not depending on t, see
Figure 1.3. This function is also a weak solution to (1.4.2) (it is even easier to check). From these two
solutions, we can in fact construct an infinite number of solutions. For any time T > 0, start by taking
u not depending on t on (0, T ) × R and, on (T, ∞) × R, construct u as in (1.4.3) (see Figure 1.4).

5
t

u = +1 u = +1
x

u0 = −1 u0 = +1

Figure 1.2: Characteristics for (1.4.2)

u = +1 u = +1

u0 = −1 u0 = +1

Figure 1.3: A weak solution to (1.4.2)

x
u= t−T

u = −1 u = +1

u0 = −1 u0 = +1

Figure 1.4: An infinite number of weak solutions to (1.4.2)

6
The notion of weak solution therefore gives global solutions, but too many of them. A stronger notion of
solution must therefore be found, in between the notion of classical solutions (which sometimes prevents
the existence of global solutions) and weak solutions (which sometimes gives too many solutions).

1.5 Entropy solution


The idea is to come back to the physical phenomena which can be modelled using scalar conservation
laws (or systems of conservation laws). In many cases, (1.1.1) is an approximation for a model which
contains a little bit of viscosity: with ε > 0,

∂t uε (t, x) + ∂x (f (uε ))(t, x) − ε∆uε (t, x) = 0



t > 0, x ∈ R,
(1.5.1)
uε (0, x) = u0 (x) x ∈ R.

Let η be a smooth convex function and let φ be such that φ0 = η 0 f 0 . By convexity of η,

∆(η(uε )) = η 00 (uε )|∇uε |2 + η 0 (uε )∆uε ≥ η 0 (uε )∆uε .

Multiplying (1.5.1) by η 0 (uε ), we therefore get

∂t (η(uε )) + ∂x (φ(uε )) − ε∆(η(uε )) ≤ 0. (1.5.2)

Letting ε → 0, we obtain the “good” notion of solution to (1.1.1): these are the functions u which satisfy

∂t (η(u)) + ∂x (φ(u)) ≤ 0. (1.5.3)

Of course, this entropy inequality has to be understood in some weak form (i.e. taking non-negative test
functions, multiplying, integrating by parts...) since we do not expect u to be regular.
This formal reasoning (which can be made rigorous) leads to the following definition of entropy solution.

Definition 1.5.1 (Entropy solution) Let f be locally Lipschitz continuous and u0 ∈ L∞ (R). An
entropy solution for (1.1.1) is u ∈ L∞ ((0, ∞) × R) ∩ C([0, ∞); L1loc (R)) such that, for all non-negative
ϕ ∈ Cc∞ ([0, ∞) × R), for all η smooth convex functions and for all φ such that φ0 = η 0 f 0 ,
Z ∞Z Z
η(u(t, x))∂t ϕ(t, x) + φ(u(t, x))∂x ϕ(t, x) dtdx + η(u0 (x))ϕ(0, x) dx ≥ 0. (1.5.4)
0 R R

A pair (η, φ) such that η is convex and φ0 = η 0 f 0 is called an entropy-flux pair.

Remark 1.5.2 1. An entropy solution is a weak solution. Indeed, by first taking successively η(s) = s
et η(s) = −s, we show (1.4.1) whenever ϕ is non-negative. But any smooth compactly supported
function ϕ can be written as the difference of two smooth compactly supported non-negative functions
(write ϕ = ||ϕ||∞ θ − (||ϕ||∞ θ − ϕ) where θ is smooth compactly supported non-negative and equal
to 1 on the support of ϕ) and (1.4.1) therefore holds for any ϕ.

2. The reciprocal is false! The function described in Figure 1.3 is not an entropy solution of (1.4.2).
3. We can in fact remove the condition u ∈ C([0, ∞); L1loc (R)) as this is a consequence of the condition
u ∈ L∞ ((0, ∞) × R) and of the equation (1.5.4).

The use of smooth entropies η is natural from the preceding reasoning based on (1.5.2). There is however
no need to restrict to smooth entropies and the Definition (1.5.1) would also be valid for any convex
entropy η. In particular, the “Kruzkhov” entropies η(s) = |s − κ| (for κ ∈ R) prove very useful in the
study of entropy solutions for scalar conservation laws. In fact, they suffice to define the entropy solution
and the following definition is equivalent to Definition 1.5.1.

7
Definition 1.5.3 (Equivalent definition of entropy solution) Let f be locally Lipschitz continuous
and u0 ∈ L∞ (R). An entropy solution for (1.1.1) is u ∈ L∞ ((0, ∞) × R) such that, for all κ ∈ R and all
non-negative ϕ ∈ Cc∞ ([0, ∞) × R),
Z ∞Z
|u(t, x) − κ|∂t ϕ(t, x)+(f (u(t, x)>κ) − f (u(t, x)⊥κ))∂x ϕ(t, x) dtdx
0 R
Z
+ |u0 (x) − κ|ϕ(0, x) dx ≥ 0 , (1.5.5)
R

where a>κ = max(a, κ) and a⊥κ = min(a, κ).

Remark 1.5.4 Note that φ(s) = f (s>κ) − f (s⊥κ) satisfies φ0 = η 0 f 0 where η(s) = |s − κ|, is therefore
the flux associated with η.

And here is why the notion of entropy solution is the “good” one.

Theorem 1.5.5 (Kruzkhov [8]) Let f be locally Lipschiz-continuous and u0 ∈ L∞ (R). Then there
exists a unique entropy solution of (1.1.1).

An important property of the entropy solution, which is fact proved over the course of establishing its
uniqueness, is the finite speed propagation.

Theorem 1.5.6 (Finite speed propagation) Let f be locally Lipschitz continuous and u0 , v0 two
functions in L∞ (R). Let u, v entropy solutions of (1.1.1) for the respective initial conditions u0 , v0 . Let
L be a Lipschitz constant of f on some bounded interval containing the ranges of u and v. Then, for any
R > 0 and any t > 0,
Z x0 +R Z x0 +R+Lt
|u(t, x) − v(t, x)| dx ≤ |u0 (x) − v0 (x)| dx (1.5.6)
x0 −R x0 −R−Lt

We can re-state this theorem in the following way: the values of u on {t} × [x0 − R, x0 + R] only depends
on the values of u0 on [x0 − R − Lt, x0 + R + Lt]. This is a finite speed propagation result, which describes
a cone of dependence for u (the values of u on a given time slice t = ta of this cone only depend on the
values of u on any time slice t = tb of the cone, with tb < ta ), see Figure 1.5.
Another useful property to remember is the following.

Proposition 1.5.7 (Maximum principle) Let f be locally Lipschitz continuous, u0 ∈ L∞ (R) and u be
the entropy solution to (1.1.1). Then ||u||L∞ ((0,∞)×R) ≤ ||u0 ||L∞ (R) . More precisely, if essinf R u0 and
esssupR u0 are the essential infimum and supremum values of u0 on R then, for a.e. (t, x) ∈ (0, ∞) × R,

essinf R u0 ≤ u(t, x) ≤ esssupR u0 .

In other words, u takes its values between the infimum and supremum of u0 .

1.6 Riemann problem


Let us describe some entropy solutions to the Riemann problem

 ∂t u(t, x) + ∂x (f (u))(t, x) = 0
 t > 0, x ∈ R,
(1.6.1)

ul if x < 0
 u(0, x) = u0 (x) :=
 x ∈ R.
ur if x > 0 ,

8
111111111111
000000000000
t
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111
000000000000
111111111111 x
x0 − R − Lt x0 x0 + R + Lt
x0 − R x0 + R

Figure 1.5: Cone of dependence

t
x = σt

u = ul

u = ur

x
u0 = ul u0 = ur

Figure 1.6: Shock

9
1.6.1 Shocks
We first look for an entropy solution which only takes two values (as the initial condition), separated by
a straight line with slope σ in the half plane R+ × R (see Figure 1.6). The question is to find σ, if it
exists.

Let us first look for σ such that u is a weak solution. Setting E− = {(t, x) ∈ R+ × R | x < σt} and
E+ = {(t, x) ∈ R+ × R | x > σt}, if ϕ is a test function we have, by Stoke’s formula,
Z
u(t, x)∂t ϕ(t, x) + f (u(t, x))∂x ϕ(t, x) dtdx
R+ ×R
Z Z
= ul ∂t ϕ(t, x) + f (ul )∂x ϕ(t, x) dtdx + ur ∂t ϕ(t, x) + f (ur )∂x ϕ(t, x) dtdx
E− E+
Z
= ul ϕ(t, x)n− −
t (t, x) + f (ul )ϕ(t, x)nx (t, x) dγ(t, x)
∂E−
Z
+ ur ϕ(t, x)n+ +
t (t, x) + f (ur )ϕ(t, x)nx (t, x) dγ(t, x)
∂E+

where n− = (n− − + + +
t , nx ) and n = (nt , nx ) are the unit outer normal to E− and E+ and γ is the measure
on ∂E− and ∂E+ .
We have ∂E− = ({0} × R− ) ∪ Dσ where Dσ is the half-line x = σt , t > 0. Moreover, n− = (−1, 0) on
(−σ,1)
{0} × R− and n− = √ 1+σ 2
on Dσ . Similarly, ∂E+ = ({0} × R+ ) ∪ Dσ with n+ = (−1, 0) on {0} × R+
and n+ = −n− on Dσ . Thus,
Z
u(t, x)∂t ϕ(t, x) + f (u(t, x))∂x ϕ(t, x) dtdx
R+ ×R
Z Z
1
= − ul ϕ(0, x) dx + √ (−σul + f (ul ))ϕ(t, x) dγ(t, x)
− 1 + σ 2 Dσ
ZR Z
1
− ur ϕ(0, x) dx + √ (σur − f (ur ))ϕ(t, x) dγ(t, x)
R+ 1 + σ 2 Dσ
and
Z Z
u(t, x)∂t ϕ(t, x) + f (u(t, x))∂x ϕ(t, x) dtdx + u0 (x)ϕ(0, x) dx
R+ ×R
Z R
1
= √ (σ(ur − ul ) − (f (ur ) − f (ul )))ϕ(t, x) dγ(t, x).
1 + σ 2 Dσ
The function u is a weak solution solution if and only if σ(ur − ul ) − (f (ur ) − f (ul )) = 0. Denoting by
[X] = Xr − Xl the jump of some quantity X through Dσ , we therefore have

[f (u)] = σ[u]. (1.6.2)

This condition tells us how to choose σ so that the piecewise constant function u is a weak solution to
(1.6.1). Such a discontinuous solution is called a “shock” and σ is the speed of the shock.

Is u an entropy solution? Let (η, φ) be an entropy-flux pair and ϕ be a non-negative test function. The
same workings as before give
Z Z
η(u(t, x))∂t ϕ(t, x) + φ(u(t, x))∂x ϕ(t, x) dtdx + η(u0 (x))ϕ(0, x) dx
R+ ×R R
Z
1
= √ (σ(η(ur ) − η(ul )) − (φ(ur ) − φ(ul )))ϕ(t, x) dγ(t, x)
1 + σ 2 Dσ

10
and u is an entropy solution if and only if

for any entropy-flux pair (η, φ), [φ(u)] ≤ σ[η(u)]. (1.6.3)

Let us consider the case where ul ≥ ur and f is C 1 convex. Then, by (1.6.2) and the mean value theorem,
we have σ = f 0 (a) for some a ∈ [ur , ul ]. Thus,
Z ur Z ur
[φ(u)] − σ[η(u)] = η 0 (s)f 0 (s) ds − f 0 (a) η 0 (s) ds
ul ul
Z ur
= η 0 (s)(f 0 (s) − f 0 (a)) ds
u
Z al Z ur
= η 0 (s)(f 0 (s) − f 0 (a)) ds + η 0 (s)(f 0 (s) − f 0 (a)) ds.
ul a

0 0 0
But f is non-decreasing since f is convex, and therefore f − f (a) has constant signs on [a, ul ] and on
[ur , a]. The mean value theorem for integration then gives ξ ∈ [a, ul ] and ζ ∈ [ur , a] such that
Z a Z ur
0 0 0 0
[φ(u)] − σ[η(u)] = η (ξ) f (s) − f (a) ds + η (ζ) f 0 (s) − f 0 (a) ds.
ul a
R ur
Since ul
f 0 (s) − f 0 (a) ds = [f (u)] − f 0 (a)(ur − ul ) = [f (u)] − σ[u] = 0 we deduce
Z a
0 0
[φ(u)] − σ[η(u)] = (η (ξ) − η (ζ)) f 0 (s) − f 0 (a) ds.
ul

We have ul ≥ a ≥ ur and ξ ∈ [a, ul ], ζ ∈ [ur , a]. Thus, ξR ≥ ζ and η 0 (ξ) − η 0 (ζ) ≥ 0 (η 0 is non-decreasing
a
since η is convex). Moreover, f 0 ≥ f 0 (a) on [a, ul ], so ul f 0 (s) − f 0 (a) ds ≤ 0 (because a ≤ ul ). This
shows that u satisfies indeed (1.6.3) and is therefore an entropy solution.
If we still assume that f is convex but ul < ur , then u is not an entropy solution except in particular
cases (e.g. f linear). Consider for example f (s) = s2 /2, ul = −1, ur = 1 and η(s) = s2 /2.

1.6.2 Rarefaction wave


If f is convex but ul < ur , the entropy solution is not a shock but a rarefaction wave, a continuous
connection between two constant states.
The slopes σ+ et σ− are given by the method of characteristics. We expect ur to be transported at speed
f 0 (ur ) so we take σ+ = f 0 (ur ). Similarly, σ− = f 0 (ul ) and, since f 0 is non-decreasing, we indeed have
σ+ > σ− . The half-lines with slopes σ+ and σ− do not intersect and we can thus define

ur if x > σ+ t ,
u(t, x) =
ul if x < σ− t

To connect E− and E+ , we look for an expression of u in E of the form u(t, x) = v(x/t). This self-similar
form is justified by uniqueness of the entropy solution: since u0 satisfies u0 (λx) = u0 (x) for any λ > 0, we
must have u(λt, λx) = u(t, x) as u(λt, λx) is the entropy solution with initial condition u0 (λx) = u0 (x).
We therefore require
x  x  1 0   x  0  x 
− 2 v0 + f v v = 0,
t t t t t
that is, with ξ = x/t (which lies in [σ− , σ+ ] if (x, t) ∈ E),

(f 0 (v(ξ)) − ξ)v 0 (ξ) = 0.

Assuming that v 0 does not vanish much, this comes down to

∀ξ ∈ [σ− , σ+ ] , f 0 (v(ξ)) = ξ.

11
t
x = σ− t x = σ+ t

u = ul u = ur

E−
E+

u0 = ul u0 = ur x

Figure 1.7: Rarefaction wave

In other words, v should be the reciprocal function of f 0 . If we assume that f is uniformly convex (i.e.
f 00 > 0), then f 0 : [ul , ur ] → [σ− , σ+ ] is an homeomorphism and a diffeomorphism ]ul , ur [→]σ− , σ+ [, so
v : [σ− , σ+ ] → [ul , ur ] exists and is differentiable on ]σ− , σ+ [. We can then let

 ur if x > σ+ t ,
u(t, x) = (f 0 )−1 ( xt ) if σ− t ≤ x ≤ σ+ t ,
ul if x < σ− t.

This function is continuous on R+ × R\{(0, 0)} and it is a classical solution of ∂t u + ∂x f (u) = 0 on E− ,


E+ and E. These properties easily give that u is an entropy solution.
s2
Remark 1.6.1 In the case of a Burgers flux f (s) = 2 and ul = −1, ur = +1, we find back the solution
(1.4.3).

12
Chapter 2

Schemes for linear transport


equations

2.1 Introduction, principle of the finite volume scheme


We first consider a simple linear transport (or convection) equation

∂t u(t, x) + ∂x (cu(t, x)) = 0 t > 0, x ∈ R,
(2.1.1)
u(0, x) = u0 (x) x∈R

where c ∈ R and u0 ∈ L∞ (R). The solution to this equation is easy to find using the method of
characteristics (and assuming that u0 is smooth, for example): u(t, x) = u0 (x − ct), that is to say the
initial data is transported with the velocity c (the solution at time t is the initial data translated by a
factor ct). In this case where f (s) = cs is linear, there is creation of shocks and the solution remains
smooth if the initial condition is smooth. It is however interesting to study numerical approximations
for this simple problem since they already exhibit the main issues which arise in numerical schemes for
non-linear conservation laws.
The principle to construct a finite volume scheme for a PDE is to decompose the domain into small pieces
(the control volumes) and to integrate the equation on these volumes. The domain of (2.1.1) is [0, ∞) × R
and the simplest way to decompose it is using small rectangles. Let us thus take δt > 0 and δx > 0 some
time and space lengths (also called “steps”) and write [0, ∞)×R = ∪n≥0 ∪i∈Z [nδt, (n+1)δt[×[iδx, (i+1)δx[.
Integrating the PDE in (2.1.1) on one small rectangle [nδt, (n + 1)δt[×[iδx, (i + 1)δx[, we obtain
Z (i+1)δx Z (i+1)δx
u((n + 1)δt, x) dx − u(nδt, x) dx
iδx iδx
Z (n+1)δt Z (n+1)δt
+ cu(t, (i + 1)δx) dt − cu(t, iδx) dt = 0. (2.1.2)
nδt nδt

Assume now that, for n ≥ 0 and i ∈ Z, uni denotes an approximate value of u at time t = nδt on the
control volume [iδx, (i + 1)δx[ and that fin is an approximation of cu on [nδt, (n + 1)δt[ at x = iδx (see
Figure 2.1). Then (2.1.2) divided by δt leads

δx n+1
∀n ≥ 0 , ∀i ∈ Z : (u − uni ) + fi+1
n
− fin ≈ 0. (2.1.3)
δt i
If we could express fin in terms of (unj )j∈Z , this equation (with = 0 instead of ≈ 0) would give a way
to compute the values (un+1
i )i∈Z at time t = (n + 1)δt in function of the values (uni )i∈Z at time t = nδt.

13
(n + 1)δt un+1
i

fin n
fi+1
nδt uni

iδx (i + 1)δx

Figure 2.1: Discretization of [0, ∞) × R and approximations of u and cu.

By induction, we would deduce all the (uni )n≥0 , i∈Z from the values (u0i )i∈Z of u at time t = 0, i.e. the
approximate values of u0 , for which there are several obvious simple choices. One of those is
Z (i+1)δx
1
∀i ∈ Z : u0i = u0 (x) dx. (2.1.4)
δx iδx

δx
If u0 is regular, a simpler choice is u0i = u0 (iδx + 2 ).

The remaining question is therefore to find appropriate expressions for fin in function of (unj )j∈Z such
that, if the time and space steps are small, the resulting values (uni )i∈Z are indeed close to the values of
the solution to (2.1.1).

2.2 Centered scheme


The most obvious choice is to approximate cu at x = iδx by the mean value of (the approximate values
of) u inside the control volumes on either side of iδx:

uni−1 + uni
fin = c . (2.2.1)
2
The scheme (2.1.3) is then written

δx n+1 un − uni−1
∀n ≥ 0 , ∀i ∈ Z : (ui − uni ) + c i+1 = 0. (2.2.2)
δt 2
The resulting system [(2.2.2),(2.1.4)] (called the centered scheme) allows to compute all the (uni )n≥0 , i∈Z
and we can expect, from its construction, that these (uni )n≥0 , i∈Z are good approximations of the values
of the solution u to (2.1.1).
This is however not the case, except in trivial cases (c = 0 or u0 constant, for example). The reason for
that is that [(2.2.2),(2.1.4)] does not respect the maximum principle (Proposition 1.5.7). We have, for all
δt c 0 δt c 0
i ∈ Z, u1i = u0i − δx 2 ui+1 + δx 2 ui−1 . If we take the Riemann initial condition u0 (x) = 0 if x < 0 and
u0 (x) = 1 if x > 0, then (2.1.4) implies u0j = 0 for all j < 0 and u0j = 1 for all j ≥ 0. Thus,

δt c δt c
u1−1 = − and u10 = 1 − .
δx 2 δx 2

14
Hence, for any choice of δt and δx, if c 6= 0 then either u1−1 < 0 (for c > 0) or u10 > 1 (for c < 0). At
the time t = δt, the approximate values are not between the minimum and maximum values of the initial
approximate values and the centered scheme violates the maximum principle.
In fact, the situation is even worse than the simple preceding computation for n = 1 can make believe.
When implementing the centered scheme, one can notice that the L∞ norm of the approximate values
explodes with the number of time steps (limn→∞ supi∈Z |uni | = +∞) and that these values have nothing
in common with the exact solution, see Figure 2.2.

Initial condition
5.87 Exact solution at t = 0.5 6.9E13
Approximate solution at t = 0.5

-0.50 0.50 -0.50 0.50

-6.21 -7E13

δt = 0.05, δx = 0.05 δt = 0.005, δx = 0.005


(n = 10 time steps) (n = 100 time steps)

Figure 2.2: Centered scheme for ∂t u+∂x u = 0 with two choices of the pair (δt, δx): exact and approximate
solutions at t = 0.5.

2.3 Upwind scheme


The choice, in the computation of fin , to approximate u at x = iδx by the mean value of u inside the two
control volumes on either side of iδx is therefore not appropriate. This could in fact have been predicted
using the physical interpretation of the PDE. To obtaining the conservation law ∂t u + ∂x (cu) = 0,
one first translates the conservation of u inside the control volume [iδx, (i + 1)δx[ as (2.1.2), in which
R (n+1)δt
nδt
cu(t, iδx) dt appears as the quantity of u transported through the interface x = iδx by the velocity
c. If c > 0 then this quantity comes from the control volume [(i − 1)δx, iδx[ and enters the control volume
R (n+1)δt
[iδx, (i + 1)δx[. In this case, it would therefore appear wiser to approximate nδt cu(t, iδx) dt by using
only the value of u inside the control volume [(i − 1)δx, iδx[ form which originates the flux. This means
that, if c > 0, we would rather take
fin = cuni−1 . (2.3.1)
Of course, if c < 0, the same reasoning would lead to choosing fin = cuni . From now on, let us consider
only the case c > 0. With the choice (2.3.1), (2.1.3) is written

δx n+1
∀n ≥ 0 , ∀i ∈ Z : (u − uni ) + cuni − cuni−1 = 0. (2.3.2)
δt i

15
The scheme [(2.3.2),(2.1.4)] is called the upwind scheme, precisely because it is constructed using the
upwind (with respect to the velocity c) choice (2.3.1) to compute the flux values.

2.3.1 L∞ stability and convergence


On the contrary to the centered scheme, the upwind scheme respects the maximum principle and is
therefore L∞ stable, meaning that we can prove a L∞ bound on the approximate values.

Proposition 2.3.1 (Stability of the upwind scheme for the linear transport equation) Let
c > 0 and assume that δt > 0 and δx > 0 are such that
δt 1
≤ . (2.3.3)
δx c
If (uni )n≥0 , i∈Z satisfies [ (2.3.2),(2.1.4)], then

∀n ≥ 0 , ∀i ∈ Z : inf unj ≤ un+1


i ≤ sup unj . (2.3.4)
j∈Z j∈Z

In particular, all the values (uni )n≥0 , i∈Z are between the infimum and supremum values of u0 and

sup |uni | ≤ ||u0 ||L∞ (R) .


n≥0 , i∈Z

Remark 2.3.2 The condition (2.3.3) is called the CFL condition (for “Courant-Friedrichs-Levy”) and
links the discretization steps with the velocity of the transport. In particular, it imposes to take a small
time step when the space step is small. We will further discuss this condition in Sections 2.3.2 and 3.2.3.

Proof of Proposition 2.3.1


The proof is completely trivial if we re-write (2.3.2) in the following way:
 
n+1 δt n δt n δt δt
ui = ui − cui + cui−1 = 1 − c uni + cuni−1 .
n
δx δx δx δx
δt δt
The sum of 1 − δx c and δx c is equal to 1 and, under the condition (2.3.3), both these terms are non-
n+1
negative. Hence, ui appears as a convex combination of uni and uni−1 and is therefore between the
minimum and maximum value of these two real numbers. Relation (2.3.4) then follows and the rest of
the properties stated in the proposition are easy consequences of this relation.
We can now easily prove that the upwind scheme for (2.1.1) converges, i.e. that, for δt and δx small, the
values (uni )n≥0 , i∈Z computed by [(2.3.2),(2.1.4)] are indeed close (at least in a weak sense) to the values
of the solution to (2.1.1)

Theorem 2.3.3 (Convergence of the upwind scheme for linear transport equations) Let c > 0.
For δt > 0 and δx > 0, let uδt,δx : [0, ∞)×R → R be the function equal to uni on [nδt, (n+1)δt[×[iδx, (i+1)δx[
for all n ≥ 0 and i ∈ Z. Then, as δt and δx tend to 0 while satisfying the CFL condition (2.3.3), uδt,δx
converges in L∞ ((0, ∞) × R) weak-∗ to the solution u of (2.1.1).

Remark 2.3.4 In fact, the convergence is much stronger than a weak-∗ convergence, as we will see
in Chapter 3. However, since (2.1.1) is linear, the weak convergence is enough to pass to the limit in
the numerical scheme and we therefore only state this weak convergence in order to avoid unnecessary
complexity at this stage.

16
Proof of Theorem 2.3.3
Proposition 2.3.1 implies that, as δt and δx tend to 0 while satisfying (2.3.3), uδt,δx remains bounded in
L∞ ((0, ∞)×R). Up to a subsequence, we can therefore assume that it converges in L∞ weak-∗ to some u.
If we prove that any such limit u of a subsequence of uδt,δx is the weak solution to (2.1.1) then, this weak
solution being unique (the equation is linear), this will show that the whole sequence uδt,δx converges to
this solution and will complete the proof.
Let us therefore consider that uδt,δx → u weak-∗ and prove that u is a weak solution to (2.1.1), i.e. that
for all ϕ ∈ Cc∞ ([0, ∞) × R),
Z ∞Z Z
u(t, x) (∂t ϕ(t, x) + c∂x ϕ(t, x)) dtdx + u0 (x)ϕ(0, x) dx = 0. (2.3.5)
0 R R
R (n+1)δt R (i+1)δx
Take ϕ such a regular function and define ϕni = δt1 δx
1
nδt iδx
ϕ(t, x) dtdx. Multiplying (2.3.2) by
δtϕni and summing on n ≥ 0 and i ∈ Z (notice that, since ϕ has a compact support, these sums in fact
only involve a finite number of indices), we find
X X X X
0= δx (un+1
i − uni )ϕni + c δt (uni − uni−1 )ϕni . (2.3.6)
i∈Z n≥0 n≥0 i∈Z

But
X X X
(un+1
i − uni )ϕni = un+1
i ϕni − uni ϕni
n≥0 n≥0 n≥0
X X
= uni ϕn−1
i − uni ϕni
n≥1 n≥0
X
= uni (ϕn−1
i − ϕni ) − u0i ϕ0i
n≥1

(this series of manipulation comes down to a discrete integration by parts: the “derivative” un+1
i − uni
has been put on ϕ). Using a similar manipulation for the second sum on i ∈ Z in (2.3.6), we obtain
X X ϕn−1 − ϕni X X X ϕn − ϕni+1
0= δx δtuni i
− δxu0i ϕ0i + c δt δxuni i ,
δt δx
i∈Z n≥1 i∈Z n≥0 i∈Z

that is to say, owing to the definition of uδt,δx and of u0i ,


Z ∞Z Z Z ∞ Z
0=− uδt,δx (t, x)Γδt,δx (t, x) dtdx − u0 (x)Θδx (x) dx − c uδt,δx (t, x)Ξδt,δx (t, x) dtdx (2.3.7)
nδt R R 0 R

where Γδt,δx , Θδx and Ξδt,δx are defined by

ϕni − ϕn−1
i
Γδt,δx = on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[,
δt
Θδx = ϕ0i on [iδx, (i + 1)δx[,
ϕn − ϕni
Ξδt,δx = i+1 on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[.
δx
By regularity of ϕ, we have Γδt,δx → ∂t ϕ, Θδx → ϕ(0, ·) and Ξδt,δx → ∂x ϕ uniformly as δt and δx tend to
0. The weak-∗ convergence of uδt,δx then allows to pass to the limit in (2.3.7) and to see that u satisfies
(2.3.5), thus concluding the proof.
Numerical implementations of the upwind scheme can be found in Figures 2.3 and 2.4. They confirm
the preceding theoretical results: the upwind scheme gives respectable approximations of the solutions
to (2.1.1).

17
Initial condition
Exact solution at t = 0.5
Approximate solution at t = 0.5

1.00

-1.00 1.00

Figure 2.3: Upwind scheme for ∂t u + ∂x u = 0 and a Riemann initial data, with δt = 0.01 and δx = 0.02:
exact and approximate solutions at t = 0.5.

Remark 2.3.5 Note that if δt = δx c (limiting case in the CFL condition), then the scheme is exact or,
more precisely, its only error comes from the discretization of the initial condition: if u e0 is the function
equal to u0i on [iδx, (i + 1)δx[, then the solution to the scheme satisfies, for all n ≥ 0 and all x ∈ R,
e0 (x − cnδt) (i.e. the scheme transports with velocity c the discretized initial data).
uδt,δx (nδt, x) = u

Remark 2.3.6 The construction of the centered and upwind schemes lead to an interesting comparison
of different intuitions coming from different scientific fields. The centered choice (2.2.1) is completely
natural for the mathematician: fin involves an approximate value of u at the interface between two cells,
and a linear interpolation using the values inside each neighboring cell is therefore the best “simple”
mathematical way to compute this interface value. However, it proves to be completely flawed and leads
to a very unstable scheme. The upwind choice (2.3.1) is, on the other side, the only reasonable choice
from a physical point of view (because of the interpretation of the equation as a transport process). Though
it may seem not very efficient or natural to the mathematician, it proves to be a good way to compute
the approximate fluxes. The morale is that it is near to impossible to study certain equations without
remembering their physical meaning...

2.3.2 Relation with the discretization of convection-diffusion equations


Let us pause a moment to consider the case where the convection equation (2.1.1) is changed into a
convection-diffusion equation

∂t u(t, x) + ∂x (cu(t, x)) − ν∂x2 u(t, x) = 0



t > 0, x ∈ R,
(2.3.8)
u(0, x) = u0 (x) x∈R

18
Initial condition
Exact solution at t = 0.5
Approximate solution at t = 0.5

1.00

-1.00 -0.50 0.50 1.00

-1.00

Figure 2.4: Upwind scheme for ∂t u + ∂x u = 0 and a sinus initial data, with δt = 0.01 and δx = 0.02: exact
and approximate solutions at t = 0.5.

for some ν > 0 and c ∈ R (no matter its sign). Using the same process as before, we can try and find a
discretization of this equation by integrating it on time-space rectangles. Noticing that
Z (n+1)δt Z (i+1)δx Z (n+1)δt Z (n+1)δt
2
∂x u(t, x) dtdx = ∂x u(t, (i + 1)δx) dt − ∂x u(t, iδx) dt,
nδt iδx nδt nδt

we are lead to the discretization


δx n+1
(u − uni ) + fi+1
n
− fin − ν(∂x u)ni+1 + ν(∂x u)ni = 0
δt i
where fin ≈ cu and (∂x u)ni ≈ ∂x u on [nδt, (n + 1)δt[×{iδx}. A natural approximation of the derivative
of u at x = iδx can be easily computed using the values of u in the control volumes on both sides of
this interface (and considering for example that these values approximate u at the center of each control
volume: uni ≈ u(nδt, iδx + δx
2 )):
un − uni
(∂x u)ni = i+1 .
δx
Taking then a centered discretization for fin , we obtain the following discretization of the PDE in (2.3.8):
δx n+1 un − uni−1 un − uni un − uni−1
(ui − uni ) + c i+1 − ν i+1 +ν i = 0. (2.3.9)
δt 2 δx δx

What would it take for (2.3.9) to satisfy the maximum principle (which is valid for the PDE (2.3.8) it
discretizes)? Let us make the same reasoning as in the proof of Proposition 2.3.1. From (2.3.9) we write
     
n+1 δt n δt c δt n δt c δt
ui = 1 − 2ν 2 ui + ν 2 − ui+1 + ν 2 + uni−1 .
δx δx 2 δx δx 2 δx

19
The sum of the coefficients of uni−1 , uni and uni+1 is equal to 1 and un+1
i is thus a convex combination of
uni−1 , uni and uni+1 provided that all these coefficients are non-negative, that is to say:

δt
2ν ≤1 (2.3.10)
δx2
and
|c|
δx ≤ ν. (2.3.11)
2
Remark 2.3.7 Condition (2.3.10) plays the role of the CFL condition, albeit involving a relation between
the discretization steps and the coefficient ν of the higher order term in (2.3.8) (i.e. the diffusion term).
One can notice that this condition is much more restrictive than the CFL for the upwind discretization
of the transport equation: the time step must be of order the square of the space step (hence a small space
step imposes a much smaller time step).

Remark 2.3.8 Although we have chosen a centered discretization for the convection term ∂x (cu), the
presence of the diffusion term allows to bound the approximate solution provided that (2.3.11) is satisfied.
This condition (called the Peclet condition) states that, if the convection and diffusion coefficients are
fixed, then a small enough space step is enough to control the convection term using the diffusion term.
However, in many practical situations, ν can be quite small with respect to c and (2.3.11) then imposes
a strong condition on δx.

Let us now come back to the upwind discretization (2.3.2) of (2.1.1) (we thus take c > 0), and let us
rewrite it in the following way:
δx n+1 un − uni−1 cδx uni+1 − uni cδx uni − uni−1
(ui − uni ) + c i+1 − + = 0. (2.3.12)
δt 2 2 δx 2 δx
Comparing this writing with (2.3.9), we notice that the upwind scheme for the linear pure convection
equation is identical to the discretization of a convection-diffusion equation using the centered scheme for
the convective part and the diffusion coefficient
cδx
ν=
2
(of course, this comparison is formal and only holds at the discrete level since the diffusion coefficient in
a continuous convection-diffusion equation cannot depend on some kind of “time step”).
In other words, we can also say that the upwind discretization of a convection equation consists in adding
un n
i+1 −ui un n
i −ui−1
R (i+1)δx 2
a small discrete diffusion term (namely − cδx
2 δx + cδx
2 δx ≈ − cδx
2 iδx
∂x u) to the centered
discretization of the same convection equation (compare (2.2.2) and (2.3.12)).
One can also notice that, with this diffusion coefficient ν = cδx 2 (recall that c > 0 here), the Peclet
condition (2.3.11) of this formal discretization of a convection-diffusion equation is satisfied and that
the related CFL condition (2.3.10) is equivalent to the CFL condition (2.3.3) for the pure convection
equation.

2.3.3 About the time-implicit discretization


In (2.1.3), fin plays the role of an approximation of cu on [nδt, (n + 1)δt[×{iδx}. We discussed the use of
approximate values of u in the control volumes on either side of x = iδx to compute the numerical flux
fin . However, we did not discuss the time at which these approximate values should be taken: t = nδt or
t = (n + 1)δt?
In fact, right from the beginning we only considered that fin should be computed using (unj )j∈Z (i.e. only
the values at time t = nδt). The advantage of this choice is that (2.1.3) gives an explicit expression of
the approximate values at time t = (n + 1)δt from the approximate values at time t = nδt. This is a quite

20
natural expectation for evolution equations such as (2.1.1) (which precisely tells how u evolves from a
given initial state). fin is nonetheless supposed to approximate cu at x = iδx on the whole time interval
[nδt, (n + 1)δt[, so a natural expectation may also be to use the values at time t = (n + 1)δt to compute
fin .
Still considering the case of an upwind scheme with c > 0, we could in particular choose, instead of
(2.3.1),
fin = cun+1
i−1 . (2.3.13)
The resulting scheme is
δx n+1
∀n ≥ 0 , ∀i ∈ Z : (u − uni ) + cun+1 − cun+1
i−1 = 0, (2.3.14)
δt i i

to be completed with the discretization (2.1.4) of the initial condition. On the contrary to (2.3.2), (2.3.14)
does not give a straightforward way to compute (un+1 i )i∈Z from (un )i∈Z . In fact, nothing ensures that,
n+1
given (u )i∈Z , there exists (ui )i∈Z which satisfies (2.3.14). Put in another way: (u0i )i∈Z being given by
n

(2.1.4), can we find (let alone compute) (u1i )i∈Z which satisfies (2.3.14) for n = 0?
This scheme [(2.3.14),(2.1.4)] is called “implicit” because it only gives (if it exists) (un+1
i )i∈Z from (uni )i∈Z
n+1
in an implicit way: solving (2.3.14) to compute (ui )i∈Z is not obvious. Implicit schemes are less easy
to use in practical, but they sometimes have very interesting properties. The reader familiar with the
Euler discretizations of ODE can for example remember that, for equations of the kind y 0 (t) = −y(t), the
explicit Euler scheme does not always preserve the positivity of the initial data (which is preserved by
the ODE), whereas the implicit scheme ensures that the approximate solution stays positive if the initial
data is positive. For the conservation law (2.1.1), the implicit upwind scheme also has such an interesting
property: it satisfies the maximum principle whatever the values of the time and space steps (recall that
the explicit scheme only satisfies this principle if the steps satisfy the CFL condition (2.3.3)).

Proposition 2.3.9 (Stability of the implicit upwind scheme) Let c > 0. For any δt > 0 and
δx > 0, if (un )n≥0 , i∈Z satisfies [(2.3.14),(2.1.4)] and, for all n ≥ 0, supj∈Z |unj | < +∞, then

∀n ≥ 0 , ∀i ∈ Z : inf unj ≤ un+1


i ≤ sup unj . (2.3.15)
j∈Z j∈Z

Proof of Proposition 2.3.9


Let n ≥ 0 and assume first that there exists i0 ∈ Z such that un+1
i0 = supj∈Z un+1
j . The scheme (2.3.14)
gives
δt
un+1
i0 − uni0 = c(un+1 n+1
i0 −1 − ui0 ). (2.3.16)
δx
Now, by definition of i0 we have un+1 n+1
i0 −1 − ui0 ≤ 0 and thus supj∈Z un+1j = un+1
i0 ≤ uni0 ≤ supj∈Z unj ,
which proves the second inequality in (2.3.15).
If such an i0 does not exist, then one can choose (ik )k≥1 such that un+1
ik → supj∈Z un+1
j as k → ∞ (recall
n+1
that (uj )j∈Z is bounded by assumption) and deduce from (2.3.16) with ik instead of i0 :

δt
un+1
ik ≤ sup unj + c(sup un+1 − un+1
ik ).
j∈Z δx j∈Z j

Passing to the limit k → ∞ gives back supj∈Z un+1 j ≤ supj∈Z unj .


The first inequality in (2.3.15) can be deduced with a similar reasoning using either i0 such that un+1
i0 =
inf j∈Z un+1
j or a sequence (i )
k k≥1 such that un+1
ik → inf u
j∈Z j
n+1
as k → ∞.
It remains to prove that there exists a bounded solution to [(2.3.2),(2.1.4)]. This solution indeed exists,
and is unique (see e.g. the end of Section 3.5 for an idea of the proof, or the comments on the bibliography
at the end of the document).

21
Let us conclude this discussion on the implicit discretization by the following remark. In the equation
∂t u + ∂x (cu) = 0, the same way the term ∂x (cu) models the convection of u at the velocity c along the
space direction, one could interpret ∂t u as the convection of u along the time direction with a velocity 1
(evolution equations are nothing more than a transport toward the future). With such an interpretation
in mind, our discussion on the discretization of convection terms would lead us to discretize ∂t u using an
upwind choice. If we think of uni as an approximation on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[ (and not only on
[iδx, (i + 1)δx[ at time t = nδt as our in previous idea) — which is coherent with the definition of uδt,δx in
Theorem 2.3.3 — one would thus replace the term
δx n+1
(u − uni )
δt i
in (2.1.3) with
δx n
(u − un−1 )
δt i i

(approximating u at t = (n + 1)δt on [iδx, (i + 1)δx[ with its time-upwind value, that is to say its value
on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[). With such a change, the upwind scheme (2.3.2), with the same choice
(2.3.1) for fin as in the previous explicit discretization, becomes

δx n
(u − un−1 ) + cuni − cuni−1 = 0,
δt i i

that is to say, up to a change of index n → n + 1, precisely the implicit upwind scheme (2.3.14).
Hence, the time-implicit discretization is nothing else than an upwind discretization of the temporal
convection term in the equation...

22
Chapter 3

Schemes for non-linear conservation


laws

3.1 Introduction
We now consider a non-linear scalar conservation law

∂t u(t, x) + ∂x (f (u(t, x))) = 0 t > 0, x ∈ R,
(3.1.1)
u(0, x) = u0 (x) x∈R
with f : R → R locally Lipschitz-continuous and u0 ∈ L∞ (R). Our aim is, once again, to construct a
stable converging scheme to approximate the solution to (3.1.1). Since this equation is non-linear, its
well-posedness requires the use of the notion of entropy solution (Definition 1.5.3) and we have to make
sure that we construct approximations of the (unique) entropy solution, not another weak solution.

3.2 Monotone schemes


The principle of construction of a finite volume scheme for (3.1.1) is the same as in the linear case. We
take time and space steps δt and δx, and we integrate the equation on a cell [nδt, (n + 1)δt[×[iδx, (i + 1)δx[,
obtaining
Z (i+1)δx Z (i+1)δx
u((n + 1)δt, x) dx − u(nδt, x) dx
iδx iδx
Z (n+1)δt Z (n+1)δt
+ f (u(t, (i + 1)δx)) dt − f (u(t, iδx)) dt = 0.
nδt nδt

If uni is an approximate value of u at time t = nδt on [iδx, (i + 1)δx[ and fin is an approximation of f (u)
on [nδt, (n + 1)δt[ at x = iδx, dividing the preceding expression by δt, we are lead to consider the scheme
δx n+1
∀n ≥ 0 , ∀i ∈ Z : (u − uni ) + fi+1
n
− fin = 0. (3.2.1)
δt i
Assuming that fin is expressed in terms of (unj )j∈Z , we complete (3.2.1) with the initial data
Z (i+1)δx
1
∀i ∈ Z : u0i = u0 (x) dx (3.2.2)
δx iδx

and we obtain a scheme giving by induction the approximate values (uni )n≥0 , i∈Z . The hanging question
is therefore to find an way to compute the approximation fin of f (u) in terms of the approximations
(unj )j∈Z of u.

23
3.2.1 A first idea
Obviously, since it failed in the linear case (when f (u) = cu), there is little chance that the “natural”
(for the mathematician) centered choice

f (uni−1 ) + f (uni )
fin = (3.2.3)
2
works in general. However, following the reasoning in section 2.3.2 which gives a relation between the
upwind choice and the discretization of an additional diffusion term, we can try and modify this centered
choice by adding some numerical diffusion.
The centered discretization (3.2.3) leads to the scheme

δx n+1 f (uni+1 ) + f (uni ) f (uni ) + f (uni−1 )


∀n ≥ 0 , ∀i ∈ Z : (ui − uni ) + − = 0.
δt 2 2
Adding some diffusion terms as in (2.3.12), we would write

δx n+1 f (uni+1 ) + f (uni ) f (uni ) + f (uni−1 )


∀n ≥ 0 , ∀i ∈ Z : (ui − uni ) + −
δt 2 2
n n n n
−D(ui+1 − ui ) + D(ui − ui−1 ) = 0 (3.2.4)

with some D > 0 to be chosen so as to ensure the stability of the scheme. This scheme corresponds to
(3.2.1) with
f (uni−1 ) + f (uni )
fin = − D(uni − uni−1 ). (3.2.5)
2

A proper choice of D can be made by trying, as in the linear case, to transform (3.2.4) in order to express
un+1
i as a convex combination of uni−1 , uni and uni+1 . We have

δt f (uni+1 ) + f (uni ) δt f (uni ) + f (uni−1 )


un+1
i = uni − +
δx 2 δx 2
δt n n δt n n
+D (ui+1 − ui ) − D (ui − ui−1 )
δx δx
n n
δt f (u i+1 ) − f (u i ) δt f (uni−1 ) − f (uni )
= uni − +
δx 2 δx 2
δt n δt
+D (ui+1 − uni ) − D (uni − uni−1 )
δx δx
δt δt
= uni − αin (uni+1 − uni ) + βin (uni − uni−1 )
δx δx
δt δt
+D (uni+1 − uni ) − D (uni − uni−1 )
δx δx
f (un n
i+1 )−f (ui ) f (un n
i )−f (ui−1 )
where αin = 2(un −u n) and βin = 2(u n −un (if one or the other of the denominators vanishes, we
i+1 i i i−1 )
simply let αin = 0 or βin = 0). This leads to

δt δt n
un+1 = uni − (αin − D)(uni+1 − uni ) + (β − D)(uni − uni−1 )
i
 δx  δx i
δt n δt δt
= n
1 + (βi + αi − 2D) uni + (D − αin )uni+1 + (D − βin )uni−1
δx δx δx

and un+1
i is therefore a convex combination of uni−1 , uni and uni+1 if

|αin | ≤ D and |βin | ≤ D (3.2.6)

24
and
δt
|βin + αin − 2D|≤ 1. (3.2.7)
δx
n n
By construction, if Ln is the Lipschitz constant of f on [inf i∈Z uni , supi∈Z uni ] then |αin | ≤ L2 and |βin | ≤ L2
n
and (3.2.6) and (3.2.7) are satisfied as soon as L2 ≤ D and (Ln +2D) δx δt
≤ 1. It is easy to see by induction
on n that if we choose D, δt and δx such that
Lipu0 (f )
≤D (3.2.8)
2
(with Lipu0 (f ) the Lipschitz constant of f on [inf R u0 , supR u0 ]) and
δt
≤ 1,
(Lipu0 (f ) + 2D) (3.2.9)
δx
then (3.2.6) and (3.2.7) are satisfied for all n ≥ 0 and the scheme [(3.2.1),(3.2.2),(3.2.5)] is stable: the
computed approximate values all belong to [inf R u0 , supR u0 ].
Equation (3.2.8) indicates how to take D in (3.2.5). We notice that D can be chosen only depending on
f and u0 . Equation (3.2.9) is the CFL condition associated with the scheme: as in the linear case, the
time step must not be to large with respect to the space step in order to obtain a stable approximation.
This scheme is called the “modified” Lax-Friedrichs scheme (1 ).

3.2.2 General monotone schemes, L∞ stability


We would like to find more general ways to write the fin in (3.2.1) in terms of (unj )j∈Z . In a first approach,
it seems reasonable to decide that fin will be computed using only uni−1 and uni (this was the case in the
linear upwind choice (2.3.1) and in the non-linear modified Lax-Friedrichs choice (3.2.5)), that is to say
fin = F (uni−1 , uni ) with F : R × R → R. (3.2.10)
The question is to find properties on F which ensure that [(3.2.1),(3.2.2),(3.2.10)] is a “good” scheme.
Obviously, there must be some kind of relation between F and f , since fin given by (3.2.10) is supposed
to be an approximation of f (u) on [nδt, (n + 1)δt[ at x = iδx. A simple way to find such a relation is to
consider the case where the approximate values uni−1 and uni of u in the two cells neighboring x = iδx
are identical. There is then no reason to imagine that an approximate value of u at x = iδx would differ
from this common value and thus, in this situation, we would like to have fin = f (uni−1 ) = f (uni ). This
imposes
∀a ∈ R : F (a, a) = f (a).
f (a)+f (b)
This property is satisfied by F (a, b) = 2 + D(a − b), the modified Lax-Friedrichs numerical flux.
As we already pointed out in the linear case and during the construction of the modified Lax-Friedrichs
scheme, a crucial property of schemes is their stability. A way to ensure that F leads to a stable scheme
is, once again, to check if (3.2.1) and (3.2.10) allow to see un+1
i as a convex combination of uni−1 , uni and
n
ui+1 . We begin with
δt n δt δt δt
un+1 = uni − f + f n = uni − F (uni , uni+1 ) + F (uni−1 , uni ) (3.2.11)
i
δx i+1 δx i δx δx
and, subtracting and adding F (uni , uni ) to the last two terms,
δt δt
un+1
i = uni − (F (uni , uni+1 ) − F (uni , uni )) + (F (uni−1 , uni ) − F (uni , uni ))
δx δx
δt n n δt n n
= ui + ai (ui+1 − ui ) + bi (ui−1 − uni )
n n
(3.2.12)
δx δx
1 The original Lax-Friedrichs scheme consists in taking D = δx . Its convergence however imposes an “inverse” CFL
2δt
δt
condition δx ≥ C (for some C > 0), therefore forcing δt and δx to have the same order (such a inverse CFL condition is not
required to obtain the convergence of the modified Lax-Friedrichs scheme, as we show below).

25
where
F (uni , uni+1 ) − F (uni , uni )
ani = − (3.2.13)
uni+1 − uni
and
F (uni−1 , uni ) − F (uni , uni )
bni = (3.2.14)
uni−1 − uni
(as before, if one or the other denominator vanishes, so does the corresponding quantity ani or bni ). From
(3.2.12) we obtain  
n+1 δt n δt δt
ui = 1 − (ai + bi ) uni + ani uni+1 + bni uni−1 .
n
(3.2.15)
δx δx δx
The convex combination is achieved if
δt n
ani ≥ 0 , bni ≥ 0 and (a + bni ) ≤ 1. (3.2.16)
δx i
The non-negativity of ani and bni is ensured if we impose that F is non-decreasing with respect to its
first argument, and non-increasing with respect to its second argument. If we assume that F is locally
Lipschitz-continuous with respect to each of its arguments then, denoting Ln1 and Ln2 the Lipschitz
constants with respect to its first and second variables on [inf i∈Z uni , supi∈Z uni ]2 , we have |ani | ≤ Ln1 and
δt
|bni | ≤ Ln2 and the last condition in (3.2.16) is satisfied if δx (Ln1 + Ln2 ) ≤ 1.
The preceding reasoning leads us to the following general definition of a “good” way to compute the
approximate fluxes fin by a formula (3.2.10).

Definition 3.2.1 (Monotone numerical flux and monotone schemes) A monotone (upwind) nu-
merical flux for (3.1.1) is a function F : R × R → R which satisfies the following properties:

∀a ∈ [inf R u0 , supR u0 ] : F (a, a) = f (a) , (3.2.17)

F is Lipschitz-continuous with respect to each of its variables on [inf R u0 , supR u0 ]2 , (3.2.18)


on [inf R u0 , supR u0 ]2 , F is non-decreasing with respect to its first variable
(3.2.19)
and non-increasing with respect to its second variable.
A monotone (upwind) scheme is [(3.2.1),(3.2.2),(3.2.10)] with F a monotone (upwind) numerical flux,
that is to say
δx n+1
∀n ≥ 0 , ∀i ∈ Z : (u − uni ) + F (uni , uni+1 ) − F (uni−1 , uni ) = 0 ,
δt i
(3.2.20)
1 (i+1)δx
Z
0
∀i ∈ Z : ui = u0 (x) dx.
δx iδx

Remark 3.2.2 We require properties of F only on [inf R u0 , supR u0 ]2 because, as stated in the following
proposition, under a suitable CFL condition all the approximate values (uni )n≥0 , i∈Z computed by the
scheme stay in fact inside [inf R u0 , supR u0 ].

The following proposition, which establishes the stability of monotone schemes, is a simple consequence
(by induction on n) of the reasoning made above Definition 3.2.1.

Proposition 3.2.3 (Stability of monotone schemes) Assume that F is a monotone numerical flux
for (3.1.1) and denote by Lip1,u0 (F ) and Lip2,u0 (F ) the Lipschitz constants of F with respect to its first
and second variables on [inf R u0 , supR u0 ]2 . Then, under the CFL condition
δt
(Lip1,u0 (F ) + Lip2,u0 (F )) ≤ 1, (3.2.21)
δx

26
if (uni )n≥0 ,i∈Z satisfies the scheme (3.2.20) we have

∀n ≥ 0 , ∀i ∈ Z : inf unj ≤ un+1


i ≤ sup unj .
j∈Z j∈Z

In particular, all the values (uni )n≥0 , i∈Z are between the infimum and supremum values of u0 and

sup |uni | ≤ ||u0 ||L∞ (R) .


n≥0 , i∈Z

3.2.3 Examples of monotone fluxes, interpretation of the CFL condition


Here are three possible kinds of F satisfying (3.2.17)–(3.2.19).
Lip (f )
1. F (a, b) = f (a)+f
2
(b)
+ D(a − b) with D ≥ u0
2 (recall that Lipu0 (f ) is the Lipschitz constant of
f on [inf R u0 , supR u0 ]). This is the modified Lax-Friedrichs numerical flux.
2. F (a, b) = f1 (a) + f2 (b), where f is written f (s) = f1 (s) + f2 (s) with f1 non-decreasing and f2
non-increasing (both functions being locally Lipschitz-continuous). This is the splitting numerical
flux (2 ). The modified Lax-Friedrichs flux is a special case of splitting flux with f1 (s) = f (s)
2 + Ds
and f2 (s) = f (s)
2 − Ds.
3. 
min[a,b] f if a ≤ b ,
F (a, b) = (3.2.22)
max[b,a] f if a > b.
This is the Godunov numerical flux, which we now discuss in more depth.

Remark 3.2.4 For a linear flux f (s) = cs, the modified Lax-Friedrichs numerical flux with D =
Lipu0 (f ) c
2 = 2 and the Godunov numerical flux both give back the upwind choice (2.3.1).

Expression (3.2.22) is a simple and straightforward definition of the Godunov numerical flux, but this is
not the original way it has been constructed. The idea of the Godunov flux is the following: in order to
construct an approximation fin = F (a, b) of f (u) on [nδt, (n + 1)δt] at x = iδx when uni−1 = a and uni = b,
consider the Riemann problem

 ∂t v + ∂x (f(v)) = 0 t > 0, x ∈ R,
a = uni−1 if x < 0 , (3.2.23)
 v(0, x) =
b = uni if x > 0.

and let fin = F (a, b) = f (v(δt, 0)) (the solution v might not be pointwise well-defined at x = 0, but the
flux f (v) always is). In other words, we let the scalar conservation law evolve from the Riemann initial
data defined by uni−1 and uni and take the value of the resulting flux at time t = δt at the interface x = iδx.
It is known that the solution to (3.2.23) is self-similar and can therefore be written v(t, x) = v ∗ (x/t).
The Godunov flux also can be defined by F (a, b) = f (v ∗ (0)).
If f is convex (or concave), then there are simple expressions for v (depending on whether a ≤ b — v
is then a rarefaction wave — or a > b — v is then a shock) and it is easy to check that the definition
of F (a, b) through (3.2.23) is identical to (3.2.22). This is also true for more general f , but less easy to
verify.
Obviously, in practical (scalar!) situations, only (3.2.22) is used, but the original definition using the
Riemann problem is quite interesting to shed a new light on the CFL condition. Figure 3.1 presents a
possible solution of ∂t w + ∂x f (w) = 0 with the initial data corresponding to the approximate values of u
at t = nδt (in this figure, the solution is a shock at x = iδx and a rarefaction wave at x = (i + 1)δx).
2 Not to be confused with the “splitting method” sometimes used in numerical analysis, see Remark 3.5.1.

27
δt

uni−1
uni+1
uni

uni−1 iδx uni (i + 1)δx uni+1

Figure 3.1: Example of solutions to the scalar conservation law with the initial condition made of the
approximate values of u at t = nδt.

The principle of finite speed propagation for ∂t w + ∂x (f (w)) = 0 states that the value of the initial data
at some point x can only influence, at time δt, the solution on [x − Lδt, x + Lδt] with L being the Lipschitz
constant of f on an interval containing the range of the initial data. In the situation described by Figure
3.1 and under the condition
2δtLipu0 (f ) ≤ δx , (3.2.24)
the waves coming from each interface x = iδx cannot interact with each other on the time span [0, δt].
Hence, in this case, the values (w(δt, iδx))i∈Z can be computed by solving each Riemann problem (3.2.23)
separately, and the Godunov numerical fluxes (F (uni−1 , uni ))i∈Z simply correspond to (f (w(δt, iδx)))i∈Z .
Noting that, for the Godunov numerical flux, Lip1,u0 (F ) = Lip2,u0 (F ) = Lipu0 (f ), (3.2.21) is exactly
(3.2.24). The CFL condition is therefore simply a way to ensure that the waves originating from each
interface do not interact during the time δt. Under this condition, the Godunov scheme has a global
interpretation as an evolution-projection process. It can be shown that it consists in letting ∂t w +
∂x (f (w)) = 0 evolve from the initial data defined by the values (uni )i∈Z and in defining (un+1
i )i∈Z as the
2 n+1 1
R (i+1)δx
L projection of w(δt, ·) on the piecewise constant functions, i.e. ui = δx iδx w(δt, x) dx.
Let us conclude that the Godunov scheme is one of the most favored schemes for (3.1.1), because it is
simple to implement (thanks to (3.2.22)), simple to generalize to systems (thanks to its definition by
(3.2.23)) and introduces in general less numerical diffusion than the modified Lax-Friedrichs or splitting
fluxes.

3.2.4 Numerical diffusion


The modified Lax-Friedrichs scheme has been constructed by adding some numerical diffusion to the
centered flux... but, in fact, all monotone schemes can be seen as such. If F is a monotone numerical
flux, (3.2.10) gives

F (uni−1 , uni−1 ) + F (uni , uni ) 1  1


fin = + F (uni−1 , uni ) − F (uni−1 , uni−1 ) + (F (uni−1 , uni ) − F (uni , uni ))
2 2 2
f (uni−1 ) + f (uni ) n n n n
= − g(ui−1 , ui )(ui − ui−1 ) (3.2.25)
2
with
F (uni−1 , uni ) − F (uni−1 , uni−1 ) F (uni−1 , uni ) − F (uni , uni )
g(uni−1 , uni ) = − + .
2(uni − uni−1 ) 2(uni−1 − uni )
The monotony assumption (3.2.19) on F ensures that g(uni−1 , uni ) ≥ 0 and (3.2.25) therefore shows that
fin indeed corresponds to a centered flux with the addition of a numerical diffusion term (compare with
(3.2.5)), the coefficient of which depends on the unknowns at time step n.

28
3.3 Analysis of monotone schemes
We shall now prove that monotone schemes converge to (3.1.1) as the time and space steps tend to 0
while satisfying the CFL condition. We have already proved in Proposition 3.2.3 an L∞ estimate on
the approximate solution, which implies (up to a subsequence) the weak convergence of this solution.
However, because of the non-linearity in (3.1.1), this weak convergence is not enough to conclude. We
have to prove stronger compactness properties on this solution, as well as some inequalities which ensure
that its possible limits are not only weak solutions to (3.1.1) but also entropy solutions.

3.3.1 BV estimates
The strong compactness property of the approximate solution is a consequence of the following BV
estimates (3 ).

Proposition 3.3.1 (Space BV estimates) Assume that F is a monotone numerical flux for (3.1.1)
and that (3.2.21) holds. If (uni )n≥0 ,i∈Z satisfies the scheme (3.2.20), then
X X
∀n ≥ 0 : |un+1
i − un+1
i−1 | ≤ |uni − uni−1 |. (3.3.1)
i∈Z i∈Z

In particular, if u0 ∈ BV (R) then


X
∀n ≥ 0 : |uni − uni−1 | ≤ |u0 |BV (R) (3.3.2)
i∈Z

where |u0 |BV (R) is the usual BV semi-norm of u0 .

Remark 3.3.2 One can easily check that i∈Z |uni − uni−1 | is the total variation (the BV semi-norm) on
P
R of the piecewise constant function equal to uni on [iδx, (i+1)δx[ for all i ∈ Z. (3.3.1) therefore states that
the space BV semi-norm of the approximate solution is non-increasing with respect to the time. Schemes
satisfying this property are called Total Variation Decreasing (TVD).

Proof of Proposition 3.3.1


We use the expression (3.2.12) of the scheme to write

δt n n δt
uin+1 − un+1 = uni + a (u − uni ) + bni (uni−1 − uni )
i−1
δx i i+1 δx
δt δt
−uni−1 − ani−1 (uni − uni−1 ) − bni−1 (uni−2 − uni−1 )
 δx  δx
δt n δt δt
= 1 − (bi + ai−1 ) (uni − uni−1 ) + ani (uni+1 − uni ) − bni−1 (uni−2 − uni−1 ).
n
δx δx δx

Under (3.2.17)–(3.2.19) and (3.2.21), since all the values (uni )i∈Z belong to [inf R u0 , supR u0 ] by Proposition
δt n
3.2.3, we have 1 − δx (bi + ani−1 ) ≥ 0, ani ≥ 0 and bni−1 ≥ 0 (see (3.2.13) and (3.2.14)) and therefore
 
δt n δt δt
|un+1
i − u n+1
i−1 | ≤ 1 − (bi + an
i−1 ) |uni − uni−1 | + ani |uni+1 − uni | + bni−1 |uni−1 − uni−2 |.
δx δx δx
3 In this course, we only need basic properties of BV functions on the real line (these are also called “absolutely contin-

uous” functions). See [1] for an introduction and [5] for more advanced results.

29
Summing this inequality on i ∈ Z and re-indexing the sums, we find
X X δt n
 X δt
|un+1 − u n+1
| ≤ 1 − (bi + an
i−1 ) |uni − uni−1 | + an |un − uni |
i i−1
δx δx i i+1
i∈Z i∈Z i∈Z
X δt
+ bn |un − uni−2 |
δx i−1 i−1
i∈Z
X δt
 X δt
≤ 1 − (bni + ani−1 ) |uni − uni−1 | + an |un − uni−1 |
δx δx i−1 i
i∈Z i∈Z
X δt
+ bn |un − uni−1 |
δx i i
i∈Z
X
= |uni − uni−1 |
i∈Z

and (3.3.1) is proved.


If u0 ∈ BV (R), one can check (4 ) that
X
|u0i − u0i−1 | ≤ |u0 |BV (R)
i∈Z

and the proof is therefore complete by induction on n.

Proposition 3.3.3 (Time BV estimates) Assume that F is a monotone numerical flux for (3.1.1)
and that the CFL condition (3.2.21) holds. If (uni )n≥0 ,i∈Z satisfies the scheme (3.2.20) and u0 ∈ BV (R),
then, for all T ≥ 0,
[T /δt]
X X
δx |un+1
i − uni | ≤ (T + δt)(Lip1,u0 (F ) + Lip2,u0 (F ))|u0 |BV (R)
i∈Z n=0

where [T /δt] is the integer part of T /δt.


P[T /δt]
Remark 3.3.4 The quantity n=0 |un+1 i − uni | is the BV semi-norm on [0, T ] of the piecewise constant
n
function equal to ui on [nδt, (n + 1)δt[ for all n ≥ 0. Proposition 3.3.3 therefore states a time BV estimate
on the approximate solution, which is quite expected once we have the space BV estimate of Proposition
3.3.1: indeed, for the continuous equation ∂t u+∂x (f (u)) = 0, a space BV estimate on u gives an estimate
on ∂x (f (u)), which therefore translates into a similar estimate on ∂t u, i.e. a time BV estimate on u.

Proof of Proposition 3.3.3


We have, from (3.2.12)–(3.2.14), (3.2.18) and the L∞ estimate in Proposition 3.2.3,

δx|un+1
i − uni | ≤ δtLip2,u0 (F )|uni+1 − uni | + δtLip1,u0 (F )|uni−1 − uni |.

Summing on i ∈ Z and n = 0, . . . , [T /δt] (there is at most Tδt + 1 such n) and using Proposition 3.3.1 we
find
X [TX /δt] 
T

n+1 n
δx |ui − ui | ≤ δt + 1 (Lip1,u0 (F ) + Lip2,u0 (F ))|u0 |BV (R)
n=0
δt
i∈Z

and the proof is complete.


4 Assume 1
R (i+1)δx R (i+1)δx R 1 0
first that u0 ∈ C 1 and write u0i − u0i−1 = δx iδx (u0 (x) − u0 (x − δx)) dx = iδx 0 u0 (x − sδx) dsdx,
P 0 − u0 | ≤
R 1 P R (i+1)δx 0 (x − sδx)| dx ds =
R 1 R 0 (x − sδx)| dx ds = ||u0 ||
so that i |u i i−1 0 i iδx |u0 0 R |u0 0 L 1 (R) . The general case
u0 ∈ BV (R) is obtained by a density argument.

30
Corollary 3.3.5 Assume that F is a monotone numerical flux for (3.1.1) and that u0 ∈ BV (R). Then,
for all T > 0, there exists C = C(T, F, u0 ) such that, if δx > 0 and δt ∈ (0, 1) satisfy (3.2.21) and
(uni )n≥0 ,i∈Z is the solution to the scheme (3.2.20), then

|uδt,δx |BV ([0,T ]×R) ≤ C ,

where uδt,δx : R+ × R → R is the piecewise constant function equal to uni on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[
for all n ≥ 0 and i ∈ Z.

Proof of Corollary 3.3.5


RT R
We have |uδt,δx |BV ([0,T ]×R) ≤ 0 |uδt,δx (t, ·)|BV (R) dt + R |uδt,δx (·, x)|BV ([0,T ]) dx and the corollary follows
from Propositions 3.3.1, 3.3.3 and Remarks 3.3.2, 3.3.4.

3.3.2 Discrete entropy inequalities


The previous BV estimates and Helly’s theorem ensure the strong convergence of a subsequence of
approximate solutions. However, in order to prove that the limit is not only a weak solution but the
unique entropy solution to (3.1.1), we need some kind of discrete entropy inequalities to ensure that the
limit of the approximations uδt,δx satisfy the entropy inequalities in Definition 1.5.3.

Proposition 3.3.6 (Discrete entropy inequalities) Assume that F is a monotone numerical flux for
(3.1.1) and that the CFL condition (3.2.21) holds. If (uni )n≥0 ,i∈Z satisfies the scheme (3.2.20) then, for
all κ ∈ R,
δx  n+1
|ui − κ| − |uni − κ|

∀n ≥ 0 , ∀i ∈ Z :
δt 
+ F (uni >κ, uni+1 >κ) − F (uni ⊥κ, uni+1 ⊥κ)


− F (uni−1 >κ, uni >κ) − F (uni−1 ⊥κ, uni ⊥κ) ≤ 0.


 
(3.3.3)

Remark 3.3.7 Noticing that F (·>κ, ·>κ) − F (·⊥κ, ·⊥κ) satisfies (3.2.17) with f (·>κ) − f (·⊥κ) instead
of f , inequality (3.3.3) clearly is a discretization of

∂t |u − κ| + ∂x (f (u>κ) − f (u⊥κ)) ≤ 0 ,

which is just another way of writing the entropy inequalities in Definition 1.5.3.

Proof of Proposition 3.3.6


δt δt
Let H(a, b, c) = b + δx F (a, b) − δx F (b, c). The assumptions on F show that, under (3.2.21), H is non-
3
decreasing on [inf R u0 , supR u0 ] with respect to each of its variables, and we clearly have H(a, a, a) = a.
By (3.2.11) we have un+1 i = H(uni−1 , uni , uni+1 ) and the monotony properties of H therefore show that,
for all κ ∈ [inf R u0 , supR u0 ], since s ≤ s>κ for all s,

un+1
i ≤ H(uni−1 >κ, uni >κ, uni+1 >κ). (3.3.4)

On the other hand, κ = H(κ, κ, κ) and therefore, still using the monotony of H,

κ ≤ H(uni−1 >κ, uni >κ, uni+1 >κ). (3.3.5)

We deduce from (3.3.4) and (3.3.5) that

un+1
i >κ ≤ H(uni−1 >κ, uni >κ, uni+1 >κ). (3.3.6)

Similarly, it is easy to show that

un+1
i ⊥κ ≥ H(uni−1 ⊥κ, uni ⊥κ, uni+1 ⊥κ). (3.3.7)

31
Subtracting (3.3.7) from (3.3.6) and using s>κ − s⊥κ = |s − κ|, the definition of H gives (3.3.3) when
κ ∈ [inf R u0 , supR u0 ]. If κ does not belong to this interval, then it is either greater or lower than all the
values (uni )n≥0,i∈Z and one can check that the left-hand side of (3.3.3) then vanishes, thanks to (3.2.11).

Remark 3.3.8 This representation of the scheme as

un+1
i = H(uni−1 , uni , uni+1 ) (3.3.8)

(with H non-decreasing with respect to each of its variables and H(a, a, a) = a) has other applications. For
example, one can prove Proposition 3.2.3 using this expression, by simply remarking that if mn = inf i∈Z uni
and M n = supi∈Z uni then

mn = H(mn , mn , mn ) ≤ H(uni−1 , uni , uni+1 ) ≤ H(M n , M n , M n ) = M n .

3.3.3 Convergence of the scheme


It is now quite easy to prove the convergence of the scheme.

Theorem 3.3.9 (Convergence of monotone schemes) Assume that F is a monotone numerical flux
for (3.1.1) and that u0 ∈ BV (R). For δt > 0 and δx > 0, denote by uδt,δx the piecewise constant function
equal to uni on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[, where (uni )n≥0 , i∈Z is the solution to the scheme (3.2.20).
Then, as δt and δx tend to 0 while satisfying the CFL condition (3.2.21), uδt,δx converges to the entropy
solution of (3.1.1) weakly-∗ in L∞ ((0, ∞) × R) and strongly in Lploc ([0, ∞) × R) for all p < ∞ .

Remark 3.3.10 The condition u0 ∈ BV (R) is not mandatory, see Section 3.6.2.

Proof of Theorem 3.3.9


By Proposition 3.2.3, Corollary 3.3.5 and Helly’s lemma (compact embedding of L1loc ∩BVloc into L1loc , see
[5, Section 5.2]), we can extract a subsequence, still denoted uδt,δx , which converges to some u weakly-∗ in
L∞ ((0, ∞) × R) and strongly in Lploc ([0, ∞) × R) for all p < ∞. If we prove that u is the entropy solution
to (3.1.1), then its uniqueness ensures that the whole sequence converges, which proves the theorem.
Since u takes its values (as uδt,δx ) between the infimum and supremum of u0 , it is enough to prove (1.5.5)
for κ also between these values. Let such a κ, take ϕ ∈ Cc∞ ([0, ∞) × R) non-negative and multiply each
1
R (n+1)δt R (i+1)δx
equation of (3.3.3) by δtϕni with ϕni = δtδx nδt iδx
ϕ(t, x) dtdx (5 ). Summing on i and n (notice
that since ϕ has a compact support, these sums are in fact finite) and re-indexing some parts of these
sums, we obtain
XX 
δx |un+1 − κ| − |uni − κ| ϕni

0 ≥ i
n≥0 i∈Z
X X
F (uni >κ, uni+1 >κ) − F (uni ⊥κ, uni+1 ⊥κ) ϕni

+ δt
n≥0 i∈Z
X X
F (uni−1 >κ, uni >κ) − F (uni−1 ⊥κ, uni ⊥κ) ϕni

− δt
n≥0 i∈Z
X X ϕn−1 − ϕni X
≥ δt δx|uni − κ| i
− δx|u0i − κ|ϕ0i
δt
n≥1 i∈Z i∈Z
X X  ϕn − ϕni
δx F (uni−1 >κ, uni >κ) − F (uni−1 ⊥κ, uni ⊥κ) i−1

+ δt . (3.3.9)
δx
n≥0 i∈Z

δt
5 We could also take ϕn equal to the value ϕ(nδt +
i 2
, iδx + δx
2
) of ϕ at the center of [nδt, (n + 1)δt) × [iδx, (i + 1)δx) rather
than its mean value on this rectangle.

32
We write

F (uni−1 >κ, uni >κ) − F (uni−1 ⊥κ, uni ⊥κ) = F (uni−1 >κ, uni >κ) − F (uni >κ, uni >κ)
+F (uni >κ, uni >κ) − F (uni ⊥κ, uni ⊥κ)
+F (uni ⊥κ, uni ⊥κ) − F (uni−1 ⊥κ, uni ⊥κ).

The consistency property (3.2.17) of F and its Lipschitz-continuity (3.2.18) (note that (uni )n≥0 , i∈Z and
κ belong to [inf R u0 , supR u0 ]) imply, from (3.3.9) and using the regularity of ϕ and Proposition 3.3.1,
X X ϕn−1 − ϕni X
0 ≥ δt δx|uni − κ| i
− δx|u0i − κ|ϕ0i
δt
n≥1 i∈Z i∈Z
 
n n [T /δt]
X X ϕ − ϕ X X
+ δt δx(f (uni >κ) − f (uni ⊥κ)) i i+1
+ O δx δt |uni − uni−1 |
δx n=0
n≥0 i∈Z i∈Z
X X ϕn−1 − ϕni X
0 ≥ δt δx|uni − κ| i
− δx|u0i − κ|ϕ0i
δt
n≥1 i∈Z i∈Z
X X ϕni − ϕni+1
+ δt δx(f (uni >κ) − f (uni ⊥κ)) + O(δx) , (3.3.10)
δx
n≥0 i∈Z

where T is some real number such that supp(ϕ) ⊂ [0, T ] × R.


0,κ
Define Φδt,δx : R+ × R → R, Ψδt,δx : R+ × R → R, Θδx : R → R and Uδx : R → R as the piecewise
constant functions
ϕn−1
i − ϕni
Φδt,δx = on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[ ,
δt
ϕn − ϕni+1
Ψδt,δx = i on [nδt, (n + 1)δt[×[iδx, (i + 1)δx[ ,
δt
Θδx = ϕ0i on [iδx, (i + 1)δx[ ,
0,κ
Uδx = |u0i − κ| on [iδx, (i + 1)δx[ .

The regularity of ϕ and (3.2.2) show that, as δt and δx tend to 0,

Φδt,δx → −∂t ϕ and Ψδt,δx → −∂x ϕ uniformly on [0, ∞) × R ,


0,κ (3.3.11)
Θδx → ϕ(0, ·) uniformly on R and Uδx → |u0 − κ| in L1loc (R).

Note also that Φδt,δx , Ψδt,δx and Θδx vanish outside some compact sets not depending on δt or δx.
Equation (3.3.10) can then be written
Z ∞Z Z
0,κ
0 ≥ |uδt,δx − κ|Φδt,δx (t, x) dtdx − Uδx (x)Θδx (x) dx
0 R R
Z ∞Z
+ (f (uδt,δx (t, x)>κ) − f (uδt,δx (t, x)⊥κ))Ψδt,δx (t, x) dtdx + O(δx).
0 R

The strong convergence in L1loc ([0, ∞)×R) of uδt,δx and (3.3.11) allow to pass to the limit in this expression
and to conclude that u indeed satisfies (1.5.5).

Remark 3.3.11 As it is usual in finite volume methods, the proof of convergence of the scheme relies
on compactness estimates and does not require to have established beforehand the existence of a solution
to the PDE. In fact, this convergence analysis of the scheme gives, as a by-product, the existence of a
solution to the continuous problem.

33
3.4 Some numerical results
Before presenting some numerical results, let us say a few words on the practical implementation. Each
time step of the scheme (3.2.20) theoretically requires to compute an infinite number of values (un+1 i )i∈Z ,
which a computer obviously cannot do. We therefore have to compute only some of the unknowns and
this can be achieved without loss thanks to the structure of the scheme.
Equation (3.2.11) shows that un+1 i only depends on uni−1 , uni and uni+1 . Hence, if we are interested in
the approximate solution at time t = N δt (for some N ≥ 0) on the space interval [−Iδx, Iδx] (for some
N −1
I ≥ 0), i.e. by (uN i )|i|≤I , we only need (ui )|i|≤I+1 , which in turn only requires (uiN −2 )|i|≤I+2 , etc.,
0
down to (ui )|i|≤I+N .
Therefore, in order to find the approximate solution at t = N δt on [−Iδx, Iδx], the only values we need to
compute are uni for n = 0, . . . , N and |i| ≤ I + N − n. In particular, we only need to know (u0i )|i|≤I+N , i.e.
u0 on [−(I + N )δx, (I + N )δx], in order to compute uδt,δx (N δt, ·) on [−Iδx, Iδx]. This phenomenon is the
discrete equivalent of the “finite speed propagation property” (Theorem 1.5.6). In the discrete setting,
if T = N δt and R = Iδx, the approximate solution at t = T on [−R, R] depends on the initial data on
[−R − δx δx
δt T, R + δt T ]. Owing to the CFL condition (3.2.21), in the best case scenario this means that
we need u0 on [−R − (Lip1,u0 (F ) + Lip2,u0 (F ))T, R + (Lip1,u0 (F ) + Lip2,u0 (F ))T ]. In general, one has
Lipi,u0 (F ) ≥ Lipu0 (f ) (with equality for the Godunov flux, for example).
This means that the discrete cone of dependence is larger than the continuous cone of dependence (its
slope is, at best, twice as large).
We now illustrate the behavior of the modified Lax-Friedrichs scheme (with the smallest possible D) and
of the Godunov scheme on the Burgers problem with a Riemann initial data
  
u(t,x)2
 ∂t u(t, x) + ∂x

2 =0 t > 0, x ∈ R,
(3.4.1)

ul , if x < 0 ,
 u0 (x) =

ur if x > 0.

We consider the two cases where the solution is a rarefaction wave (taking ul = −1, ur = 1) and a shock
(with ul = 1, ur = −1), and we look at the numerical approximations at time t = 0.5 on [−1, 1]. The
results are plotted in Figures 3.2 and 3.3 (the time and space steps δt and δx indicated in the captions
satisfy the CFL condition (3.2.21)).
These results show that the Godunov scheme is a slightly better than the modified Lax-Friedrichs scheme.
This confirms what we wrote at the end of Section 3.2.3, namely that the Godunov scheme is less diffusive
than the modified Lax-Friedrichs scheme, and thus provides a better approximation of the solution.

3.5 Semi-linear parabolic equations


As we clearly showed during the construction of monotone schemes, the discretization of scalar conser-
vation laws has strong links with the discretization of convective-diffusive equations. It might therefore
be interesting to say a few words on the discretization of (3.1.1) when a diffusion term is added:

∂t u(t, x) + ∂x (f (u(t, x))) − ν∂xx u(t, x) = 0 t > 0, x ∈ R,
(3.5.1)
u(0, x) = u0 (x) x∈R

(with ν > 0 and, as before, f : R → R locally Lipschitz continuous and u0 ∈ L∞ (R)).


Discretizing the diffusion term as in Section 2.3.2 and using a monotone flux for the hyperbolic term, a
scheme for (3.5.1) can be written:

δx n+1 un − 2uni + uni−1


∀n ≥ 0 , ∀i ∈ Z : (ui − uni ) + F (uni , uni+1 ) − F (uni−1 , uni ) − ν i+1 = 0, (3.5.2)
δt δx
completed with the discretization (3.2.2) of the initial data.

34
1.00

2
Equation: ∂t u + ∂x ( u2 ) = 0

-0.50 0.50
-1.00 1.00

Initial condition
Exact solution, t = 0.5
Godounov scheme, t = 0.5
Modified Lax-Friedrichs scheme, t = 0.5

-1.00

Figure 3.2: Comparison between the Godunov and the modified Lax-Friedrichs scheme for the Burgers
2
equation ∂t u + ∂x ( u2 ) = 0 in the case of a rarefaction wave: exact and approximate solutions at t = 0.5
with δt = 0.02 and δx = 0.04.

As the pure scalar conservation law, the semi-linear parabolic equation (3.5.1) satisfies a maximum
principle: the solution is bounded from below and from above by the infimum and supremum values of
the initial data. The approximate solution given by a scheme for (3.5.1) shoudl therefore also satisfies
this principle. Using the writing (3.2.15) for the hyperbolic terms of the equation, we easily see that
(3.5.2) is equivalent to
 
δt n δt δt δt
un+1 = 1 − (a + b n
) uni + ani uni+1 + bni uni−1 + ν (un − 2uni + uni−1 )
i
δx i i
δx δx (δx)2 i+1
     
δt δt δt n δt δt n δt
= 1 − (ani + bni ) − 2ν un
i + a + ν u n
+ b + ν uni−1
δx (δx)2 δx i (δx)2 i+1
δx i (δx)2
with ani and bni defined by (3.2.13) and (3.2.14). A stability condition for (3.5.2) is therefore
δt n δt
(a + bni ) + 2ν ≤ 1, (3.5.3)
δx i (δx)2
ν ν
ani + ≥ 0 and bni + ≥ 0. (3.5.4)
δx δx
Equations (3.5.4) are always satisfied if F is a monotone flux (because ani ≥ 0 and bni ≥ 0 if (uni )i∈Z all
belong to [inf R u0 , supR u0 ]). They nonetheless show that, in presence of a diffusion term, the monotony
assumptions on F can be relaxed as ani and bni do not necessarily need to be nonnegative, since they can
be compensated by the diffusion term. In particular, if
ν ≥ max(Lip1,u0 (F ), Lip2,u0 (F ))δx (3.5.5)

35
1.00

2
Initial condition and exact solution
Equation: ∂t u + ∂x ( u2 ) = 0
Godounov scheme
Modified Lax-Friedrichs scheme

1.00

-1.00

-1.00

Figure 3.3: Comparison between the Godunov and the modified Lax-Friedrichs scheme for the Burgers
2
equation ∂t u + ∂x ( u2 ) = 0 in the case of a shock: exact and approximate solutions at t = 0.5 with
δt = 0.02 and δx = 0.04.

then no monotony is required on F to satisfy (3.5.4). We already noticed this in the linear case with F
is the centered flux F (a, b) = 12 (f (a) + f (b)), and (3.5.5) is the equivalent of the linear Peclet condition
(2.3.11). In fact, one can understand from (3.5.4) exactly how to relax the monotony assumptions on F .
Define the “lower and upper Lipschitz constants” of F by
( − )
F (a, c) − F (b, c)
Lip−1,u0 = sup ; (a, b, c) ∈ [inf u0 , sup u0 ]3
a−b R R

and ( + )
F (c, a) − F (c, b)
Lip+
2,u0 = sup 3
; (a, b, c) ∈ [inf u0 , sup u0 ] .
a−b R R

Since that ani ≥ −Lip+ n n
2,u0 (F ) and bi ≥ −Lip1,u0 (F ) (if (ui )i∈Z all belong to [inf R u0 , supR u0 ]), we see

that (3.5.4) is satisfied if we impose (3.5.5) with Lip1,u0 (F ) and Lip+ 2,u0 (F ) instead of Lip1,u0 (F ) and
Lip2,u0 (F ). This gives a less restrictive condition than (3.5.5), and this condition is always satisfied in
the case of a monotone flux since, for such fluxes, Lip− +
1,u0 (F ) = Lip2,u0 (F ) = 0).

In order to ensure (3.5.3), we have to require


δt δt
(Lip1,u0 (F ) + Lip2,u0 (F )) + 2ν ≤ 1. (3.5.6)
δx (δx)2
This condition, non-linear equivalent of (2.3.10) (6 ), shows that the diffusion term imposes a more restric-
tive condition on the time and space steps than the hyperbolic term. Indeed, the presence of diffusion
6 The δt
term δx
(Lip1,u0 (F ) + Lip2,u0 ) does not appear in (2.3.10) because, in the linear case, we have an n
i + bi = 0.

36
leads to a bound of the kind δt ≤ C(δx)2 rather than the bound δt ≤ Cδx coming from (3.2.21) (this
has already been noticed in the linear case, see Remark 2.3.7). There is however a way to avoid such a
restrictive CFL condition. We just need to discretize the diffusion term in a implicit way rather than an
explicit way.
Instead of (3.5.2) we write
δx n+1 un+1 − 2un+1 + un+1
∀n ≥ 0 , ∀i ∈ Z : (ui − uni ) + F (uni , uni+1 ) − F (uni−1 , uni ) − ν i+1 i i−1
= 0. (3.5.7)
δt δx
To study the stability of this semi-implicit scheme (the hyperbolic term is discretized in a explicit way,
the diffusive term in an implicit way), we define
δt δt
vin = uni − F (uni , uni+1 ) + F (uni−1 , uni ) (3.5.8)
δx δx
and we notice that, under the usual hyperbolic CFL condition (3.2.21) (not involving (δx)2 ), if (uni )i∈Z
all belong to [inf R u0 , supR u0 ] then the values (vin )i∈Z also belong to this interval, since these are simply
the values computed by the monotone scheme defined by F for the pure hyperbolic scalar conservation
law (see (3.2.11)). Assume now that (uni )i∈Z are given real numbers in [inf R u0 , supR u0 ] and that there
exists a bounded sequence (un+1 i )i∈Z satisfying (3.5.7). Then
δt δt
un+1
i +ν (un+1
i − un+1
i+1 ) + ν (un+1 − un+1 n
i−1 ) = vi . (3.5.9)
(δx) 2 (δx)2 i
Taking (ik )k≥0 a sequence such that un+1
ik → supj∈Z un+1
j and applying (3.5.9) to i = ik , we find
δt δt
un+1
ik +ν (un+1 − sup(un+1 )) + ν (un+1 − sup(un+1 )) ≤ sup vjn ≤ sup u0 .
(δx)2 ik j∈Z
j
(δx) 2 ik
j∈Z
j
j∈Z R

Passing then to the limit k → ∞, we infer supj∈Z un+1 j ≤ supR u0 . Similarly, we could show that
n+1
inf j∈Z uj ≥ inf R u0 . This proves that the semi-implicit scheme (3.5.7) satisfies the maximum principle
(and is therefore stable) under the same CFL (3.2.21) as in the absence of a diffusion term. This CFL is
always less restrictive than (3.5.6), and much more so in the case of small space steps.
There however remains the question of the existence, given (uni )i∈Z , of (un+1 i )i∈Z satisfying (3.5.7). On
the contrary to the case of the fully explicit scheme (3.5.2), this existence is not obvious. However, once a
priori estimates on the possible solution (un+1
i )i∈Z have been obtained, one can apply classical techniques
which ensure the existence of this solution. Here, this would for example consist in cutting (3.5.7) in
order to consider only a finite number of equations, say for |i| ≤ I, to notice that the preceding a priori
estimates still holds for this finite-dimensional system and therefore ensure the existence and uniqueness
of its solution, and to pass to the limit I → ∞ (still using the estimates on the solution) to obtain a
solution to the full system (3.5.7). It is also possible to prove that this solution is unique.
Remark 3.5.1 As we have noticed, (vin )i∈Z defined by (3.5.8) is computed, from (uni )i∈Z , by applying
one time iteration of the monotone scheme for the pure hyperbolic conservation law (3.1.1). One can also
notice that (3.5.9) consists in computing (un+1
i )i∈Z from (vin )i∈Z by applying one time iteration of the
scheme for the pure diffusion equation (i.e. (3.5.1) with f = 0). Each time iteration of the semi-implicit
scheme (3.5.7) for
∂t u + ∂x (f (u)) − ν∂xx u = 0 (3.5.10)
therefore appears as the successive application of one time iteration of a scheme for
∂t u + ∂x (f (u)) = 0
and one time iteration of a scheme for
∂t u − ν∂xx u = 0.
This technique, which consists in cutting the evolution of (3.5.10) in two equations, is known in numerical
analysis as the splitting method.

37
3.6 Two concluding remarks
3.6.1 Implicit discretization of the fluxes
As in the linear case, another natural choice of flux discretization in (3.2.1) is to use an implicit form.
This consists in replacing (3.2.10) with
fin = F (un+1 n+1
i−1 , ui ). (3.6.1)
One can then prove that if F is a monotone numerical flux then the resulting scheme [(3.2.1),(3.2.2),(3.6.1)]
is L∞ stable without any CFL assumption. Indeed, this scheme can be written
δt δt
∀n ≥ 0 , ∀i ∈ Z : uni = un+1
i + F (un+1
i , un+1
i+1 ) − F (un+1 n+1
i−1 , ui ) =: G(un+1 n+1
i−1 , ui , un+1
i+1 ) (3.6.2)
δx δx
with, on [inf R u0 , supR u0 ]3 , G non-increasing with respect to its first and third variables, G non-decreasing
with respect to its second variable and G(a, a, a) = a. Assuming that there exists a solution (un+1 i )i∈Z ∈
[inf R u0 , supR u0 ]Z to (3.6.2) and taking i such that un+1
i = sup j∈Z ju n+1
(or, if such an i does not exist,
n+1 n+1
a sequence (ik )k≥0 such that uik → supj∈Z uj as in Section 3.5), we have then

sup unj ≥ G(un+1 n+1


i−1 , ui , un+1 n+1
i+1 ) ≥ G(ui , un+1
i , un+1
i ) = un+1
i = sup un+1
j .
j∈Z j∈Z

We would similarly show that inf j∈Z unj ≤ inf j∈Z un+1 j . These a priori estimates show that the scheme
satisfies the maximum principle without the need of any CFL condition. They also allow to prove the
existence of a solution (un+1
i )i∈Z ∈ [inf R u0 , supR u0 ]Z to (3.6.2).
Implicit schemes for scalar conservation laws (3.1.1) are however not used as much as for diffusion equa-
tions (3.5.1), because the resulting system (3.6.2) to solve is non-linear and the construction of MUSCL
methods (see Chapter 4) for the implicit discretization is not obvious.

3.6.2 Convergence without BV estimates


We proved the convergence of the monotone scheme for (3.1.1) under the assumption that the initial
data has a bounded variation (see Theorem 3.3.9). This BV assumption has been used to obtain the
compactness of the approximate solution and to prove that the error term in (3.3.10) tends to 0 with the
space step.
It is however possible to prove the convergence of the scheme without any assumption on u0 besides
the fact that it belongs to L∞ (R). Instead of trying to prove an a priori compactness property on
the approximate solution, the idea is to use Young’s measure theory in order to pass to the limit (in
a “non-linear weak-∗” sense) in the non-linear terms of the entropy inequalities (3.3.3). The resulting
limit is no longer a function of (t, x), but a Young measure (roughly speaking, a family of probability
measures (νt,x )t,x on R) which can be represented by its repartition function. This function of (t, x, α),
where α is an additional variable, is called “entropy process solution”. We can then prove a strong
uniqueness property for this entropy process solution, which proves that it does not depend on α and
is therefore a classical entropy solution (a function of (t, x)). As an a posteriori by-product, this gives
strong convergence of the approximate solutions toward this entropy solution.
It is however important to remark that, even if the BV estimate is not required to obtain a non-linear
weak-∗ compactness property on the approximate solution, some kind of “weak BV estimate” is necessary
to control the error term in (3.3.10). This estimate is written
X C
|uni − uni−1 | ≤ √
i∈Z
δx

(compare with (3.3.2)). The error term in (3.3.10) is then no more O(δx) but O( δx), which still vanishes
as δx → 0.

38
Chapter 4

MUSCL methods

4.1 Position of the problem, principle of MUSCL schemes


The finite volume method presented in Chapter 3 approximates the solution with functions which are
constant on each space cell. In particular, the numerical fluxes computed at an interface x = iδx uses the
two values uni−1 and uni inside the neighboring cells. If we consider these values as pointwise approxima-
tions of the solution at the center of each cell, this means that the interfaces values are computed using
values at a distance δx/2 of the interfaces. The order of the resulting scheme is therefore not very high
(the consistency error on the fluxes is at best a O(δx)) and, as can be seen in Figures 3.2 and 3.3, the
resulting approximations, though correct, are not very good, especially near the points where the exact
solution is not smooth. We present here some methods to increase the quality of monotone schemes.
The MUSCL methods (Monotone Upwind Scheme for Conservation Laws) consist in replacing piecewise
constant approximations of the solutionwith piecewise linear (discontinuous) approximations. uni is then
considered as the approximate value at the center iδx+(i+1)δx
2 of the space cell [iδx, (i + 1)δx[ and slopes
n
(pi )i∈Z are computed inside each cell, which allows to obtain approximate values (e uni )− = uni−1 + pni−1 δx
2
n + n n δx
and (e ui ) = ui − pi 2 of the solution on the left and right of each interface x = iδx (see Figure 4.1).
These values are (hopefully) better approximations of u at x = iδx than uni−1 and uni , and they can be
used in (3.2.10) to compute the approximate fluxes:
 
n n − n + n n δx n n δx
fi = F ((e ui ) ) = F ui−1 + pi−1 , ui − pi
ui ) , (e . (4.1.1)
2 2

The resulting scheme [(3.2.1),(4.1.1)] is


   
δt n δx n δx δt n δx n δx
un+1 = u n
i + F un
i−1 + p i−1 , un
− p − F un
+ p , un
− p , (4.1.2)
i
δx 2 i i
2 δx i i
2 i+1 i+1
2

completed with the discretization of the initial condition (3.2.2). The task is to find a way to compute
the fluxes pni so that (4.1.2) is a stable scheme.

4.2 General stability and entropy lemmas


Let us first state two general lemmas for schemes written under a slightly more general form than (3.3.8).
The first lemma gives a very general description of stable schemes and the second lemma shows that such
schemes satisfy the entropy inequalities.

Lemma 4.2.1 (General stability result) Let u = (ui )i∈Z and v = (vi )i∈Z be two bounded sequences
and A = inf i∈Z ui , B = supi∈Z ui . The following properties are equivalent:

39
uni )+
(e
Slope pni

uni−1

uni

uni−2
uni )−
(e uni+1

(i − 1)δx iδx (i + 1)δx

Figure 4.1: Piecewise constant and piecewise linear approximate solutions, slopes inside the cells and
approximate values on either side of the interfaces.

1. There exists Hu,v : [A, B]3 × Z → R satisfying

Hu,v is non-decreasing with respect to each of its first three variables and
(4.2.1)
∀r ∈ [A, B] , ∀i ∈ Z , Hu,v (r, r, r, i) = r

and such that, for all i ∈ Z, vi = Hu,v (ui−1 , ui , ui+1 , i).

2. For all i ∈ Z, vi ∈ [min(ui−1 , ui , ui+1 ), max(ui−1 , ui , ui+1 )].


3. For all i ∈ Z, vi is a convex combination of ui−1 , ui and ui+1 .

Proof of Lemma 4.2.1


Assume that Item 1 holds. Let i ∈ Z and set mi = min(ui−1 , ui , ui+1 ) and Mi = max(ui−1 , ui , ui+1 ).
Since Hu,v (·, ·, ·, i) is non-decreasing with respect to each of its variables, we have

Hu,v (mi , mi , mi , i) ≤ Hu,v (ui−1 , ui , ui+1 , i) = vi ≤ Hu,v (Mi , Mi , Mi , i)

and (4.2.1) gives mi ≤ vi ≤ Mi , that is Item 2.


Item 2 and 3 are obviously equivalent since the endpoints of [min(ui−1 , ui , ui+1 ), max(ui−1 , ui , ui+1 )] are
(uj , uk ) for some (j, k) ∈ {i − 1, i, i + 1}.
Finally, if Item 3 holds then for all i ∈ Z there exists ai (u, v), bi (u, v) and ci (u, v) non-negative with
sum equal to 1 such that vi = ai (u, v)ui−1 + bi (u, v)ui + ci (u, v)i+1 . We then define Hu,v (α, β, γ, i) =
ai (u, v)α + bi (u, v)β + ci (u, v)γ to get Item 1.

Lemma 4.2.2 (Discrete entropy inequalities) If u = (ui )i∈Z and v = (vi )i∈Z are bounded sequences
which satisfy Item 1 in Lemma 4.2.1 then, for all κ ∈ R and all i ∈ Z,

vi >κ ≤ Hu,v (ui−1 >κ, ui >κ, ui+1 >κ, i)

and
vi ⊥κ ≥ Hu,v (ui−1 ⊥κ, ui ⊥κ, ui+1 ⊥κ, i).

40
Proof of Lemma 4.2.2
The proof is the same as the proof of Proposition 3.3.6. Property (4.2.1) gives

vi = Hu,v (ui−1 , ui , ui+1 , i) ≤ Hu,v (ui−1 >κ, ui >κ, ui+1 >κ, i)

and
κ = Hu,v (κ, κ, κ, i) ≤ Hu,v (ui−1 >κ, ui >κ, ui+1 >κ, i).
Taking the supremum of these two inequalities gives the first inequality in the lemma. A similar reasoning
allows to prove the second inequality.

4.3 Example of a MUSCL scheme


We have to find ways to compute slopes pni , using (unj )j∈Z , which ensure that the solution to (4.1.2)
satisfies the maximum principle. It is quite simple to compute slopes inside the cells, taking for example
un −un
pni = i+12δx i−1 . Such simple choices however do not usually lead to stable schemes. One can quite easily
understands why by looking at the example in Figure 4.2 (in which the slope inside the cell is precisely
computed using the two values on the neighboring cells).

uni )+
(e

uni−1 uni

uni+1

(i − 1)δx iδx (i + 1)δx

Figure 4.2: Example of “bad choice” of slope in the MUSCL method.

In this Figure 4.2, the approximated value (e uni )+ on the right of x = iδx lies outside the interval
[min(ui−1 , ui , ui+1 ), max(ui−1 , ui , ui+1 )]. Hence, the value un+1
n n n n n n
i computed with (4.1.2) also has chances
to be out of this interval, which is clearly not a good omen for the stability of the scheme. This can be
confirmed by implementing this scheme: it is not stable and explodes, as the centered scheme explodes
for linear transport equations.
In choosing the slopes, one therefore has to be cautious not to create interface values (e uni )± outside
the range of the values in the cells on either side of the interface. A proper choice of the slopes
un −un
consists in defining peni = i+12δx i−1 and in taking αin ∈ [0, 1] the largest possible number such that
pni = αin peni is an acceptable slope in the sense that (euni )+ ∈ [min(uni−1 , uni ), max(uni−1 , uni )] and (e uni+1 )− ∈
n n n n
[min(ui , ui+1 ), max(ui , ui+1 )]. It is easy to see that this comes down to taking
 n
ui+1 − uni uni − uni−1

n
pi = minmod , (4.3.1)
δx δx

where 
sgn(a) min(|a|, |b|) if a and b have the same sign,
minmod(a, b) =
0 otherwise.

41
b

a b a
b

b
a → minmod(a, b) for b ≥ 0 a → minmod(a, b) for b ≤ 0

Figure 4.3: The function a → minmod(a, b)

In other words, pni vanishes if the two slopes computed with (uni−1 , uni ) and (uni , uni+1 ) have different signs,
and is the smallest (in absolute value) possible slope between those two if they have the same sign.
Let us look at the stability and entropy inequalities for the scheme [(4.1.2),(4.3.1),(3.2.2)] thus obtained,
by beginning with a few simple properties.

Lemma 4.3.1 Let [a, b] be the set of numbers between a and b, whatever the order of a and b, and 1A
the characteristic function of A ⊂ R. The following properties hold:

(a, b) → minmod(a, b) is non-decreasing with respect to each of its variables, (4.3.2)


un n
i−1 +ui+1 un n
i −ui−1 un n
i+1 −ui
Defining mni = 2 , we have pni δx n
2 = 1[ui−1 ,mi [ (ui )
n n
2 + 1[mni ,uni+1 ] (uni ) 2 , (4.3.3)

(uni−1 , uni , uni+1 ) → uni + pni δx n


2 is non-increasing with respect to ui−1 ,
n n
non-decreasing with respect to ui and ui+1 and:
a) Lipschitz-continuous with constant 1.5 with respect to uni if uni ∈ [uni−1 , mni ], (4.3.4)
b) Lipschitz-continuous with constant 0.5 with respect to uni if uni ∈ [mni , uni+1 ],
c) Lipschitz-continuous with constant 1 with respect to uni elsewhere,
(uni−1 , uni , uni+1 ) → uni − pni δx n
2 is non-increasing with respect to ui+1 ,
n n
non-decreasing with respect to ui−1 and ui and:
a) Lipschitz-continuous with constant 0.5 with respect to uni if uni ∈ [uni−1 , mni ], (4.3.5)
b) Lipschitz-continuous with constant 1.5 with respect to uni if uni ∈ [mni , uni+1 ],
c) Lipschitz-continuous with constant 1 with respect to uni elsewhere.

Proof of Lemma 4.3.1


If b is non-negative then 
 0 for a ≤ 0,
minmod(a, b) = a for 0 ≤ a ≤ b,
b for a > b

and if b is non-positive then 


 0 for a ≥ 0,
minmod(a, b) = a for b ≤ a ≤ 0,
b for b < a.

Those formulas show that a → minmod(a, b) is non-decreasing (see Figure 4.3) and the symmetry of
minmod with respect to its arguments conclude the proof of Item 4.3.2.

42
Property (4.3.3) can be checked by studying all possible situations: uni 6∈ [uni−1 , uni+1 ] (the two slopes used
to define pni then have opposite signs and pni = 0), uni ∈ [uni−1 , mni [ (we have then |uni −uni−1 | ≤ |uni+1 −uni |)
and uni ∈ [mni , uni+1 ] (in which case |uni − uni−1 | ≥ |uni+1 − uni |).
The monotony properties in (4.3.4) and (4.3.5) with respect to uni−1 and uni−1 are direct consequences of
(4.3.2) and (4.3.1). The monotony properties and the values of the Lipschitz constants with respect to
uni are easily deduced from (4.3.3).
The MUSCL scheme [(4.1.2),(4.3.1)] can be written

δt  δt
un+1 = uni + F ci1 (uni−1 , uni ), di1 (uni , uni+1 ) − F di2 (uni , uni−1 ), ci2 (uni , uni+1 )

i (4.3.6)
δx δx
where
δx δx
ci1 (uni−1 , uni ) = uni−1 + pni−1 , ci2 (uni , uni+1 ) = uni+1 − pni+1 ,
2 2
δx δx
di1 (uni , uni+1 ) = uni − pni and di2 (uni , uni−1 ) = uni + pni
2 2
depend on other (unj )j∈Z than the ones explicitly stated but, according to Lemma 4.3.1, satisfy the
following properties (whatever the values of these other (unj )j∈Z ):

• ci1 and ci2 are non-decreasing with respect to their two variables,
• di1 and di2 are non-decreasing with respect to their first variable and non-increasing with respect to
their second variable,

• for all (uni−1 , uni , uni+1 ),


a) di1 and di2 are Lipschitz-continuous with respective constants 0.5 and 1.5
with respect to uni if uni ∈ [uni−1 , mni ],
b) di1 and di2 are Lipschitz-continuous with respective constant 1.5 and 0.5
with respect to uni if uni ∈ [mni , uni+1 ],
c) di1 and di2 are Lipschitz-continuous with constant 1 with respect to uni elsewhere,

• ci1 (s, s) = ci2 (s, s) = di1 (s, s) = di2 (s, s) = s for all s ∈ R
(this last property comes from minmod(0, r) = minmod(r, 0) = 0 for all r ∈ R). From these remarks and
the monotony (3.2.19) of F , we see that the right-hand side of (4.3.6) is non-decreasing with respect to
uni , when all values (unj )j∈Z are inside [inf R u0 , supR u0 ], as soon as

δt h
max 0.5Lip2,u0 (F ) + 1.5Lip1,u0 (F ) ; 1.5Lip2,u0 (F ) + 0.5Lip1,u0 (F ) ;
δx i
Lip2,u0 (F ) + Lip1,u0 (F ) ≤ 1. (4.3.7)

Under this assumption, the monotony and consistency properties of F , ci1 , ci2 , di1 and di2 thus prove that
(4.3.6) can be written
un+1
i = Hun ,un+1 (uni−1 , uni , uni+1 , i)
with un+1 = (un+1
j )j∈Z , un = (unj )j∈Z and Hun ,un+1 satisfying (4.2.1) (the first three variables of Hun ,un+1
are the ui−1 , ui , uni+1 explicitly appearing in the right-hand side of (4.3.6)). The L∞ stability, the
n n

maximum principle and the entropy inequalities for the MUSCL scheme [(4.1.2),(4.3.1),(3.2.2)] then
follow from Lemmas 4.2.1 and 4.2.2.

43
Let us conclude by noting that (4.3.7) is the CFL condition associated with the 5-points (1 ) MUSCL
method [(4.1.2),(4.3.1),(3.2.2)], and that it is equivalent to

δt h i
max 1.5Lip1,u0 (F ) + 0.5Lip2,u0 (F ) ; 0.5Lip1,u0 (F ) + 1.5Lip2,u0 (F ) ≤ 1. (4.3.8)
δx
This condition for the MUSCL implementation of the chosen monotone scheme is slightly more demanding
than the initial CFL (3.2.21), but not very much (it is the same if Lip1,u0 (F ) = Lip2,u0 (F )).

Remark 4.3.2 One can also increase the number of unknowns used to compute each slope, taking for
example  n
ui+2 − uni uni+1 − uni uni − uni−1 uni − uni−2

pni = minmod , , ,
2δx δx δx 2δx
(we define minmod(a, b, c, d) = sgn(a) min(|a|, |b|, |c|, |d|) if a, b, c and d all have the same sign, and
minmod(a, b, c, d) = 0 otherwise). This choice leads to a 7-points scheme, and one can check that its
stability condition is the same as for the 5-points scheme, that is to say (4.3.8). However, in many
practical situations, the 7-points scheme appears more diffusive than the 5-points scheme (see Figure 4.4
in the next section) and is therefore less interesting.

4.4 Numerical results


We noticed in Section 3.4 that, to obtain the approximate solution at t = N δt on [−Iδx, Iδx] using a
classical (3-points) monotone scheme, one has to compute all the approximate values uni for n = 0, . . . , N
and |i| ≤ I + N − n. This was due to the fact that the computation of un+1i required uni−1 , uni and uni+1 .
The 5-points MUSCL scheme requires two additional unknowns, namely ui−2 and uni+2 , for the same
n

computation. Hence, in order to obtain the approximate solution at t = N δt on [−Iδx, Iδx] using the
5-points scheme, we have to compute uni for n = 0, . . . , N and |i| ≤ I + 2N − 2n. The discrete cone of
dependence is therefore larger than for the 3-points scheme (this was expected...).
Let us now give some numerical results involving MUSCL schemes. Figure 4.4 shows the comparison
between the 5-points and the 7-points MUSCL schemes, using a Godunov numerical flux, in the simple
case of a linear transport of an initial discontinuity. This result confirms Remark 4.3.2: the 7-points
scheme is slightly more diffusive than the 5-points scheme. Hence, we hereafter only use the 5-point
MUSCL method.
In Figures 4.5 and 4.6, we compare the pure Godunov scheme and its MUSCL modification in two
situations: linear transport of a discontinuous initial data and a rarefaction wave solution to the Burgers
equation. These results show the remarkable efficiency of the MUSCL method in reducing the numerical
diffusion.
The case of a shock wave is illustrated in Figures 4.7 and 4.8. For the equation and initial condition
considered in Figure 4.7, the scheme with the Godunov numerical flux is already exact (up to the dis-
cretization of the initial data, see Figure 3.3), so we applied the modified Lax-Friedrichs numerical flux.
The Godunov scheme is no longer “exact” in the situation presented in Figure 4.8, which allows for a
comparison with its MUSCL modification. In both these situations, the reduction of numerical diffusion
by the MUSCL technique is perhaps a bit less astonishing than in the previous tests, but it is nevertheless
perceptible.

1 The term “5-points” refers to the fact that [(4.1.2),(4.3.1),(3.2.2)] gives a relation involving un+1 and five values at
i
time t = nδt: un n n n n
i−2 , ui−1 , ui , ui+1 and ui+2 (the values corresponding to i − 2 and i + 2 are needed to compute the slopes
n n
pi−1 and pi+1 ).

44
1.00

Initial condition
Equation: ∂t u + ∂x u = 0 Exact solution
Godunov + 5-points MUSCL
Godunov + 7-points MUSCL

-0.50 0.50
-1.00 1.00

-1.00

Figure 4.4: Comparison between the 5-points and 7-points MUSCL methods on the Godunov scheme
for a linear transport equation ∂t u + ∂x u = 0 and a discontinuous initial data: exact and approximate
solutions at t = 0.5 with δt = 0.02 and δx = 0.04.

1.00

Initial condition
Exact solution
Equation: ∂t u + ∂x u = 0 Godounov + MUSCL
Godounov

-1.00 -0.50 0.50 1.00

-1.00

Figure 4.5: Effect of the MUSCL method on the Godunov scheme for the linear transport equation
∂t u + ∂x u = 0 and a discontinuous initial data: exact and approximate solutions at t = 0.5 with δt = 0.02
and δx = 0.04.

45
1.00

2
Equation: ∂t u + ∂x ( u2 ) = 0

-1.00 -0.50 0.50 1.00

Initial condition
Exact solution
Godounov + MUSCL
Godounov
-1.00
2
Figure 4.6: Effect of the MUSCL method on the Godunov scheme for the Burgers equation ∂t u+∂x ( u2 ) =
0 in the case of a rarefaction wave: exact and approximate solutions at t = 0.5 with δt = 0.02 and
δx = 0.04.

1.00

Initial condition and exact solution


2
Equation: ∂t u + ∂x ( u2 ) =0 Modified Lax-Friedrichs + MUSCL
Modified Lax-Friedrichs

-1.00 1.00

-1.00

Figure 4.7: Effect of the MUSCL method on the modified Lax-Friedrichs scheme for the Burgers equation
2
∂t u + ∂x ( u2 ) = 0 in the case of a shock: exact and approximate solutions at t = 0.5 with δt = 0.02 and
δx = 0.04.

46
1.00

2
Equation: ∂t u + ∂x ( u2 ) = 0

0.50

Initial condition
Exact solution
Godounov + MUSCL
Godounov

-1.00 -0.50 0.50 1.00


2
Figure 4.8: Effect of the MUSCL method on the Godunov scheme for the Burgers equation ∂t u+∂x ( u2 ) =
0 in the case of a shock: exact and approximate solutions at t = 0.5 with δt = 0.02 and δx = 0.04.

47
Bibliography

[1] Bobrowski A., Functional Analysis for Probability and Stochastic Processes, Cambridge University
Press, 2005.
[2] Chainais-Hillairet C., PhD Thesis, ENS Lyon, 1998.
[3] Clain S. and Clauzon V., The Multi-Slope MUSCL Method, Finite volumes for complex applica-
tions, V (Aussois, 2008), 297–304, Hermes Sci. Publ., Paris, 2008.
[4] Droniou J., A numerical method for fractal conservation laws, Math. Comp. 79 (2010), 95-124.
[5] Evans L.C. and Gariepy R.F., Measure Theory and Fine Properties of Functions, Studies in
Advanced Mathematics, CRC Press, 1992.

[6] Eymard R., Gallouët T., Herbin R., Finite volume methods, Handbook of numerical analysis,
Vol. VII, North-Holland, Amsterdam (2000), 713–1020.
[7] Godlewski E., Raviart P.-A., Hyperbolic systems of conservation laws, Mathématiques & Ap-
plications, 3/4, Ellipses, Paris (1991), 252 pp.

[8] Krushkov S.N., First Order quasilinear equations with several space variables. Math. USSR. Sb.,
10 (1970), 217-243.
[9] Smoller J., Shock waves and reaction-diffusion equations. A Series of Comprehensive Studies in
Mathematics, Vol. 258, Springer-Verlag, New York, 1983, xx + 581 pp.
[10] Vovelle J., Convergence of finite volume monotone schemes for scalar conservation laws on
bounded domains, Numer. Math. 90 (2002), no. 3, 563–596.

Comments
Most of Chapters 2 and 3 of this document are a simplified version of the theory developed in [6]. We tried
and make a more detailed and lengthy presentation, illustrated with several numerical results, in order
for the reader with little or no background in numerical analysis to grasp both the theoretical analysis
of finite volume schemes for scalar conservation laws as well as some understanding of their qualitative
behaviour. The reader interested in delving into more complex details (for example the proof of existence
of solutions to implicit schemes, the proof of convergence without BV estimates mentioned in Section
3.6.2 or the multidimensional versions of the schemes) should look at [6].
As we showed in Section 3.5, the discretization of hyperbolic terms in PDE can be mixed with the
discretization of other terms, such as diffusive terms. A more detailed presentation of this section can be
found in [4], in which the Laplacian operator −ν∂xx u is replaced by a Lévy opérator (a fraction of the
Laplacian). The situation is therefore a little bit more complex, but in many ways similar to the case
quickly described in Section 3.5 (which can therefore serve as an introduction to [4]).
We only considered scalar conservation laws on the whole space, but two natural situations can further
be considered: bounded domains, and systems of conservation laws. The theory on the corresponding

48
PDEs is much more complex than in the scalar case and this complexity finds some echo in the numerical
approximation of these problems. A presentation and study of finite volume schemes for scalar conser-
vation laws on bounded (multidimensional) domains can be found in [10] and [6] gives elements on the
numerical approximation of systems of conservation laws. Of course, both these situations re-use and
adapt the basic ideas presented here for scalar equations on the whole domain. As this is very often the
case in Mathematics, the understanding of complex situations comes from the understanding of simpler
cases, even if they appear only academic.
The basic study of generic multi-dimensional MUSCL methods can be found in [7] or [2] and recent
developments on such methods are presented in [3].

49

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy