Sie sind auf Seite 1von 213

AF

Computational Gas Dynamics

DR

January - April, 2010

Dr. S.V. Raghurama Rao


Associate Professor
CFD Centre
Department of Aerospace Engineering
Indian Institute of Science
Bangalore 560012, India
E-mails : (i) raghu@aero.iisc.ernet.in
(ii) svraghuramarao@yahoo.com

AF
T

DR
ii

Contents
1 Introduction

2 Compressible Fluid Flows, Their Governing Equations, Models and Approximations


2.1 Navier-Stokes Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Euler Equations, Burgers Equation and Linear Convection Equation . . . .
2.2.1 Euler equations in one dimension . . . . . . . . . . . . . . . . . . .
2.2.2 Euler equations in primitive variable form . . . . . . . . . . . . . .
2.2.3 Isentropic Euler Equations . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Isentropic Euler equations in characteristic form . . . . . . . . . . .
2.2.5 Burgers equation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Linear Convection Equation . . . . . . . . . . . . . . . . . . . . . .
2.3 Linear Convection Equation, Characteristics and Hyperbolicity . . . . . . .
2.4 Burgers Equation, Shock Waves and Expansion Waves . . . . . . . . . . .
2.5 Shock Waves in Supersonic Flows . . . . . . . . . . . . . . . . . . . . . . .
2.6 Mathematical Classification of PDEs . . . . . . . . . . . . . . . . . . . . .
2.6.1 First Order PDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.2 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.3 Second Order PDEs . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.4 Physical Significance of the Classification . . . . . . . . . . . . . . .
2.7 Euler equations and Hyperbolicity . . . . . . . . . . . . . . . . . . . . . . .
2.8 Kinetic Theory, Boltzmann Equation and its Moments as Macroscopic
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8.1 B-G-K Model for the collision term . . . . . . . . . . . . . . . . . .
2.8.2 Splitting Method . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9 Relaxation Systems for Non-linear Conservation Laws . . . . . . . . . . . .
2.9.1 Chapman-Enskog type expansion for the Relaxation System . . . .
2.9.2 Diagonal form of the Relaxation System . . . . . . . . . . . . . . .
2.9.3 Diagonal form as a Discrete Kinetic System . . . . . . . . . . . . .
2.9.4 Multi-dimensional Relaxation Systems . . . . . . . . . . . . . . . .
2.10 A Note on Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
5
5
6
8
10
14
15
16
20
21
22
23
24
26
29
33
36
42
42
44
46
48
50
52
55

iii

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

iv

CONTENTS

3 Analysis of Convection Equations


57
3.1 Linear Convection Equation and Method of Characteristics . . . . . . . . . 57
3.2 Linear Convection Equation and Travelling Waves . . . . . . . . . . . . . . 61
3.3 Linear Convection Equation with a Variable Coefficient as Convection Speed 62
3.4 Non-linear Convection Equation . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5 Gradient Catastrophe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6 Piece-wise Smooth Solutions and Discontinuities for Non-linear Convection
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.7 Weak Solutions and Integral Forms of Conservation Laws . . . . . . . . . . 77
3.8 Shock Wave Solution of a Non-linear Convection Equation and the RankineHugoniot (Jump) condition . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.9 Expansion Waves with Non-linear Convection Equations . . . . . . . . . . 86
3.10 Non-unique Solutions of Non-linear Convection Equations . . . . . . . . . . 95
3.11 Entropy Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.11.1 Entropy Condition Version - I : . . . . . . . . . . . . . . . . . . . . 98
3.11.2 Entropy Condition Version - II : . . . . . . . . . . . . . . . . . . . . 99
3.11.3 Entropy Condition Version - III : . . . . . . . . . . . . . . . . . . . 99
3.11.4 Entropy Condition Version - IV : . . . . . . . . . . . . . . . . . . . 100
4 Analysis of Numerical Methods
4.1 Basics of Finite Difference and Finite Volume Methods
4.1.1 Upwind Method in Finite Difference Form . . .
4.1.2 Upwind Method in Finite Volume Form . . . .
4.2 Modified Partial Differential Equations . . . . . . . . .
4.3 Consistency of Numerical Methods . . . . . . . . . . .
4.4 Stability Analysis . . . . . . . . . . . . . . . . . . . . .
4.4.1 Fourier series in complex waveform . . . . . . .
4.4.2 Stability analysis of Numerical Methods . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

103
. 103
. 103
. 106
. 110
. 114
. 115
. 115
. 116

5 Central Discretization Methods for Scalar and Vector Conservation Laws123


5.1 A Brief History of Numerical Methods for Hyperbolic Conservation Laws . 123
5.2 Lax-Friedrichs Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.3 Lax-Wendroff Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.4 Two-Step Lax-Wendroff Method and MacCormack Method . . . . . . . . . 130
6 Upwind Methods for Scalar Conservation Laws
6.1 Flux Splitting Method . . . . . . . . . . . . . . .
6.2 Approximate Riemann Solver of Roe . . . . . . .
6.2.1 Entropy Fix for Roes Scheme . . . . . . .
6.3 Kinetic Flux Splitting Method . . . . . . . . . . .
6.4 Relaxation Schemes . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

133
134
136
139
142
147

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

CONTENTS

6.4.1
6.4.2
6.4.3

Relaxation Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


Discrete Kinetic Scheme . . . . . . . . . . . . . . . . . . . . . . . . 149
A Low Dissipation Relaxation Scheme . . . . . . . . . . . . . . . . 151

7 Upwind Methods for Vector Conservation Laws


7.1 Some features of Euler equations . . . . . . . . . . . . . . .
7.1.1 Homogeneity Property . . . . . . . . . . . . . . . . .
7.1.2 Linear Convection Equation: . . . . . . . . . . . . . .
7.1.3 Burgers equation: . . . . . . . . . . . . . . . . . . . .
7.1.4 Euler Equations: . . . . . . . . . . . . . . . . . . . .
7.2 Flux Vector Splitting . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Flux Splitting for Linear Convection Equation . . . .
7.2.2 Flux Vector Splitting for Euler Equations: . . . . . .
7.3 Approximate Riemann Solver or Roe . . . . . . . . . . . . .
7.3.1 Projection of the solution onto the eigenvector space
7.3.2 Roes Approximate Riemann Solver . . . . . . . . . .
7.3.3 Roe averages with the use of a parameter vector . . .
7.3.4 Properties of the Roe Linearization . . . . . . . . . .
7.3.5 Wave strengths . . . . . . . . . . . . . . . . . . . . .
7.3.6 Solution of the Approximate Riemann Problem . . .
7.4 Kinetic Flux Vector Splitting Method for Euler Equations .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

157
. 157
. 157
. 158
. 159
. 159
. 161
. 161
. 162
. 169
. 169
. 172
. 181
. 185
. 188
. 193
. 197

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

vi

CONTENTS

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 1
Introduction
Computational Fluid Dynamics (CFD) is the science and art of simulating fluid flows on
computers. Traditionally, experimental and theoretical fluid dynamics were the two dimensions of the subject of Fluid Dynamics. CFD has emerged as a third dimension in the
last three decades [1]. The rapid growth of CFD as a design tool in several branches of engineering, including Aerospace, Mechanical, Civil and Chemical Engineering, is due to the
availability of fast computing power in the last few decades, along with the development
of several intelligent algorithms for solving the governing equations of Fluid Dynamics.
The history of the development of numerical algorithms for solving compressible fluid
flows is an excellent example of the above process. In this course, several important and
interesting algorithms developed in the past three decades for solving the equations of
compressible fluid flows are presented in detail.
In the next chapter (2nd chapter), the basic governing equations of compressible fluid
flows are described briefly, along with some simplifications which show the essential nature of the convection process. The basic convection process is presented in terms of
simpler scalar equations to enhance the understanding of the convection terms. It is the
presence of the convection terms in the governing equations that makes the task of developing algorithms for fluid flows difficult and challenging, due to the non-linearity. The
basic convection equations are presented in both linear and non-linear forms, which will
form the basic tools for developing and testing the algorithms presented in the later chapters. The hyperbolic nature of the convection equations is presented in detail, along with
its important implications. Some of the numerical methods presented in later chapters
depend upon deriving the equations of compressible flows from Kinetic Theory of gases
and as Relaxation Approximations. Therefore, these systems are also presented in this
chapter, as a part of the governing equations for compressible flows, their models and
approximations.
In the third chapter, the basic tools required for analyzing the numerical methods consistency and stability of numerical methods, modified partial differential equations,
numerical dissipation and dispersion, order of accuracy of discrete approximations - are
1

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Introduction

briefly presented. These tools help the student in understanding the algorithms presented
in later chapters better.
The fourth chapter presents the central discretization methods for the hyperbolic equations, which were the earliest to be introduced historically. The fifth chapter presents the
upwind discretization methods which became more popular than the central discretization
methods in the last two decades. The four major categories of upwind methods, namely,
Riemann Solvers, Flux Splitting Methods, Kinetic Schemes and Relaxation Schemes, are
presented for the scalar conservation equations in this chapter. More emphasis is given to
the alternative formulations of recent interest, namely, the Kinetic Schemes and Relaxation Schemes. The corresponding numerical methods for vector conservation equations
are presented in the next chapter.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 2
Compressible Fluid Flows, Their
Governing Equations, Models and
Approximations
2.1

Navier-Stokes Equations

The governing equations of compressible fluid flows are the well-known Navier-Stokes
equations. They describe the conservation of mass, momentum and energy of a flowing
fluid. In three dimensions, we can write the Navier-Stokes equations in the vector form
as
G1 G2 G3
G1,V
G2,V
G3,V
U
+
+
+
=
+
+
(2.1)
t
x
y
z
x
y
z
where U is the vector of conserved variables, also known as the vector of state variables,
defined by

u1

u
(2.2)
U =
2

u3
E
G1 , G2 and G3 are the inviscid flux vectors, given by

u3
u2
u1

p + u21
u3 u1
u2 u1

u
p
+
u
u
u
;
G
=
;
G
=
G1 =
3 u2
1 2
2
2
2

p + u23
u2 u3
u1 u3
pu2 + u3 E
pu2 + u2 E
pu1 + u1 E

G1,V , G2,V and G3,V are the viscous flux vectors, given by

(2.3)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Governing Equations and Approximations

G1,V

0
xx
xy
xz
u1 xx + u2 xy + u3 xz q1

G3,V

; G2,V =

0
yx
yy
yz
u1 yx + u2 yy + u3 yz q2

0
zx
zy
zz
u1 zx + u2 zy + u3 zz q3

(2.4)

In the above equations, is the density of the fluid, u1 , u2 and u3 are the components of
the velocity in x,y and z directions, p is the pressure and E is the total energy (sum of
internal and kinetic energies) given by
1
E = e + u21 + u22 + u23
2
The internal energy is defined by
e=

p
( 1)

(2.5)

(2.6)

where is the ratio of specific heats ( = CCVP ). The pressure, temperature and the density
are related by the equation of state as p = RT where R is the gas constant per unit mass,
obtained by dividing the universal gas constant by molecular weight (for air at standard
conditions, R = 217 J/(Kg K)) and T is the temperature. Here, ij (i=1,2,3, j=1,2,3)
represents the shear stress tensor and qi (i=1,2,3) represents the heat flux vector, the
expressions for which are as follows.


u1
u1 u2 u3
+ bulk
+
+
(2.7)
xx = 2
x
x
y
z


u2
u1 u2 u3
yy = 2
+ bulk
+
+
(2.8)
y
x
y
z


u1 u2 u3
u3
+ bulk
+
+
(2.9)
zz = 2
z
x
y
z


u1 u2
xy = yx =
(2.10)
+
y
x


u1 u3
+
(2.11)
xz = zx =
z
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications

yz = zy =
q1 = k

u3 u2
+
y
z

T
T
T
, q2 = k
, q3 = k
x
y
z

(2.12)
(2.13)

where is the coefficient of viscosity, bulk is the bulk viscosity coefficient defined by
2
bulk = and k is the thermal conductivity.
3

2.2
2.2.1

Euler Equations, Burgers Equation and Linear


Convection Equation
Euler equations in one dimension

A simplification which is often used is the inviscid approximation in which the viscous and
heat conduction effects are neglected. This approximation is valid in large parts of the
fluid flows around bodies, except close to the solid surfaces where boundary layer effects
are important. The equations of inviscid compressible flows, called Euler equations, are
obtained by neglecting the right hand side of the Navier-Stokes equations (2.1). In this
course, we shall often use the Euler equations and their further simplifications.
Consider the 1-D Navier Stokes equations given by
G
GV
U
+
=
t
x
x

(2.14)

where

0
u

U = u , G = p + u2 and GV =
u q
pu + uE
E

(2.15)

Here, is the 1-D component of the stress tensor and q is the corresponding component
of the heat flux vector. They are defined for this 1-D case by
4 u
T
=
and q = k
3 x
x

(2.16)

where is the viscosity of the fluid and k is the thermal conductivity. Let us make the
first simplifying assumption of neglecting the viscosity and heat conduction. Then, we
obtain the 1-D Euler equations as
G
U
+
=0
t
x

(2.17)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

2.2.2

Governing Equations and Approximations

Euler equations in primitive variable form

Let us now expand the conservative form of Euler equations to obtain the primitive
variable form. The mass conservation equation
(u)
+
=0
t
x

(2.18)

gives

u
+u
+
=0
t
x
x
The momentum conservation equation
(u) (p + u2 )
+
=0
t
x

(2.19)

(2.20)

gives

p
(u2 )

u
+u +
+
+ u2
=0
t
t x
x
x

or

or

p
u

u
+u +
+ 2u
+ u2
=0
t
t x
x
x

u
u
u p
+ u2
+ u
+
+ u
+
=0
t
x
x
t
x x




u

u
u 1 p

+
=0
+u
+
+u
+
u
t
x
x
t
x x
u

or

(2.21)

Using (2.19), we obtain from the above equation


u 1 p
u
+u
+
=0
t
x x

(2.22)

The energy conservation equation


(E) (pu + uE)
+
=0
t
x

(2.23)

gives
(pu)
E
(u)
E
+E
+
+ u
+E
=0
t
t
x
x
x


E (pu)
(u)
E
+ u
+
+E
+
=0

t
x
x
t
x

or

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications

which, after using the mass conservation equation (2.18), becomes


E
E u p p u
+u
+
+
=0
t
x
x x
Since
E=
we obtain

and

1
p
+ u2
( 1) 2

 1

E
1
=
p1 +
u2
t
1 t
2 t


p
1 1 p
u
1
2
+
+u
=
1

t 1 t
t
1
E
=
x
1

p
2

Therefore, the energy equation becomes

or

(2.24)

1 1 p
u
+
+u
x 1 x
x

(2.25)

(2.26)

1 p
1 1 p
u
1 pu
1 u p
u u p p u

+u

+ u2
+
+
=0
2
2
1 t 1 t
t 1 x 1 x
x x x
u pu
p
u
p
u
p p
+ +( 1) u
+u +( 1) u2 +( 1) u +( 1) p
=0
t t
t x
x
x
x
x

or

p pu p
p
u
p
u
u

+ +u +( 1) u +( 1) u2 +( 1) u +( 1) p
=0
t x t
x
t
x
x
x

or




p
p

p
u
p
u
2 u

+
=0
+u
+u
+ ( 1) u
+ u
+u
+p
t
x
t
x
t
x
x
x
Using (2.19), we obtain




p
u
p
u
p
u
u 1 p
u

+
+ ( 1) p

+u
+p
+ ( 1) u
+u
+
=0

x
t
x
x
t
x x
x
which, after using (2.22), gets simplified to
p
u
u
p
+u
+p
+ ( 1) p
=0
t
x
x
x
or

p
u
p
+u
+ p [1 + 1] = 0
t
x
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Governing Equations and Approximations

or

p
p
u
+u
+ p
=0
(2.27)
t
x
x
Thus, the 1-D Euler equations in primitive variable form (equations (2.19), (2.22) and
(2.27)) can be written as
V
V
+A
=0
(2.28)
t
x
where

V = u and A =
(2.29)
0 u
p
0 p u
The eigenvalues of A are determined by

|A I| = 0
or

or

or

0


1
0
u


0
p u





=0




p
2
=0
(u ) (u )



p
(u ) (u )2 a2 = 0 as a2 =

Thus, the eigenvalues of A are given by

1 = u a ; 2 = u ; 3 = u + a

2.2.3

(2.30)

Isentropic Euler Equations

Let us consider the energy equation in primitive variables, given by


p
p
u
+u
+ p
=0
t
x
x

(2.31)

Using the definition of the sound speed, a, as


a2 =

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications


we obtain

p
u
p
+u
+ a2
=0
t
x
x

(2.32)

The entropy S is defined by


S = CV ln

+ constant

Therefore, the derivatives of S are given by



 2
S
a 1 p
= CV
+
t
p t p t
and

from which we obtain

(2.33)

(2.34)


 2
a 1 p
S
= CV
+
x
p x p x

(2.35)

p
p S

=
+ a2
t
CV t
t

(2.36)

and

p S

p
=
+ a2
x
CV x
x
Using the above two equations, the energy equation can be written as

(2.37)

up S

u
p S
+ a2
+
+ ua2
+ a2
=0
CV t
t CV x
x
x
or
or

which becomes



u
S CV 2 CV p S CV 2
+
a
+
u
+
a u
+
=0
t
p
t
p CV x
p
x
x


S
S CV 2

u
+u
+
a
+u
+
=0
t
x
p
t
x
x

S
S
+u
=0
(2.38)
t
x
when the continuity equation (2.22) is used. Thus, for isentropic flow, the Euler equations
are obtained as

u
+u
+
=0
t
x
x
u 1 p
u
+u
+
=0
t
x x
S
S
+u
=0
t
x

(2.39)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

10

2.2.4

Governing Equations and Approximations

Isentropic Euler equations in characteristic form

Consider the isentropic Euler equations in 1-D, given by

u
+u
+
=0
t
x
x
u 1 p
u
+u
+
=0
t
x x
S
S
+u
=0
t
x

(2.40)

Let us change the primitive variables from (, u, S) to (p, u, S). Since the sound speed
a is defined by
p
(2.41)
a2 =

we have
p = a2
Therefore

and

= a2
t
t

(2.42)

p
= a2
x
x

(2.43)

The continuity equation, given by

u
+u
+
=0
t
x
x
then becomes

1 p
1 p
u
+u 2
+
=0
2
a t
a x
x

or

p
u
p
+u
+ a2
=0
t
x
x
The 1-D isentropic Euler equations then can be written as
p
p
u
+u
+ a2
=0
t
x
x
u 1 p
u
+u
+
=0
t
x x
S
S
+u
=0
t
x

(2.44)

(2.45)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications

11

Note that the third equation in the above system of equations is already in characteristic
form (being similar to a first order wave equation). For this equation
dx
=u
dt

(2.46)

is the equation of the characteristic curve and along this characteristic curve
dS
=0
dt

(2.47)

which means that the entropy is constant along these characteristic paths. Let us try
to write the first two equations of (2.45) in characteristic form. Multiplying the second
equation of (2.45) by a and adding it to the first equation, we obtain


p
p
u 1 p
u
2 u
=0
+u
+ a
+ a
+u
+
t
x
x
t
x x
or




u
p
u
p
+ a
=0
+ (u + a)
+ (u + a)
t
x
t
x

(2.48)

Similarly, multiplying the second equation of (2.45) by a and subtracting it from the
first equation, we obtain


p
u 1 p
p
u
2 u
=0
+u
+ a
a
+u
+
t
x
x
t
x x
or




p
u
p
u
+ (u a)
+ (u a)
a
=0
t
x
t
x

Dividing both the above equations by a and rearranging, we get






u
1 p
1 p
u
+
+
+ (u + a)
=0
t
a t
x a x
and




u
1 p
1 p
u
+ (u a)
=0

t
a t
x a x

(2.49)

(2.50)

(2.51)

Let us now define w1 and w2 with

dw1 = du +

1
dp
a

(2.52)

dw2 = du

1
dp
a

(2.53)

and

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

12

Governing Equations and Approximations

which give
w1
t
w1
x
w2
t
w2
x
We then obtain

u
1 p
+
t
a t
u
1 p
=
+
t
a x
u
1 p
=

t
a t
u
1 p
=

x a x

(2.54)

w1
w1
+ (u + a)
=0
t
x

(2.55)

and

w2
w2
+ (u a)
=0
(2.56)
t
x
which are in characteristic form, with the constants along the characteristic curves being
defined by
dx
= (u + a)
(2.57)
w1 = constant along
dt
and
dx
= (u a)
(2.58)
w2 = constant along
dt
The 1-D isentropic Euler equations then become
w1
w1
+ (u + a)
= 0 with dw1 = du +
t
x
w2
w2
+ (u a)
= 0 with dw2 = du
t
x
w3
w3
+u
= 0 with w3 = S
t
x

1
dp
a
1
dp
a

(2.59)

Let us obtain the expressions of w1 and w2 . Since


dw1 = du +
we get
w1 = u +
Using the definition of the sound speed
a2 =

1
dp
a

1
dp
a

dp
d

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications

13

we can write
dp = a2 d
Therefore
w1 = u +

1 2
a d = u +
a

a
d

From the definition of the entropy


 
p
+ k where k is a constant
S = CV ln

we get
ln
or

Therefore

p
= exp

Sk
CV

= e CV

Sk
CV

k
where k =
= a constant
CV

p = e CV k where k = ek = a constant
Thus

p = k e CV

(2.60)

For isentropic flow, since S is a constant. Therefore, we get


p = c where c = a constant
Then
a2 =

(2.61)

d
dp
=
(c ) = c(a)
d
d

or

a = (c) 2
Thus

(1)
2

(2.62)

R a
d

R 1
1
(1)
u+
(c) 2 2 d
R
1
(1)
u + (c) 2 2 1 d
1 R
(3)
u + (c) 2 2 d
1
(1)
1
u + (c) 2 2 1 

w1 = u +
=
=
=
=

1
(1)
2
(c) 2 2
= u+
( 1)
2
a
= u+
( 1)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

14

Governing Equations and Approximations

where we have used the equation (2.62). Therefore, we obtain


w1 = u +

2a
( 1)

(2.63)

w2 = u

2a
( 1)

(2.64)

Similarly, we get

Therefore, the characteristic form of the isentropic Euler equations are given by
w1
2a
w1
+ (u + a)
= 0 where w1 = u +
t
x
( 1)
w2
2a
w2
+ (u a)
= 0 where w2 = u
t
x
( 1)
w3
w3
+u
= 0 where w3 = S
t
x

2.2.5

(2.65)

Burgers equation

Of the three equations in the system of 1-D isentropic Euler equations in characteristic
form (equations (2.65), the first two equations can be simplified further, by assuming the
fluid to be a mono-atomic gas.
=

D+2+2
CP
=
for a poly-atomic gas
CV
D+2

(2.66)

and

CP
D+2
for a mono-atomic gas
(2.67)
=
CV
D
7
3+2+2
= = 1.4. For a mono-atomic gas flow in 1-D,
Thus, for air flow in 3-D, =
3+2
5
we obtain
1+2
=3
(2.68)
=
1
Therefore, we get
2a
2a
w1 = u +
=u+
=u+a
(2.69)
1
31
=

and

w2 = u

2a
2a
=u
=ua
1
31

(2.70)

w1
w1
+ w1
=0
t
x

(2.71)

The first two equations of (2.65) then become

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and simplifications

15

and
w2
w2
+ w2
=0
t
x

(2.72)

These two equations are of the form


u
u
+u
=0
t
x

(2.73)

This equation is known as the inviscid Burgers equation. Let us now put the above
equation in conservative form as
u2
u g (u)
+
= 0 where g (u) =
t
x
2

(2.74)

So, the flux g (u) is a quadratic function of the conservative variable u. That is, g (u)
is not a linear function of u and hence it is a non-linear equation. The non-linearity of
the convection terms is one of the fundamental difficulties in dealing with NavierStokes
equations.

2.2.6

Linear Convection Equation

For the sake of simplicity, let us linearize the flux g (u) in the above equation as
g (u) = cu where c is a constant

(2.75)

We are doing this linearization only to study and understand the basic convection terms.
When we try to solve the Euler or NavierStokes equations, we will use only the nonlinear equations. With the above assumption of a linear flux, the inviscid Burgers equation
becomes
u
u
+c
=0
(2.76)
t
x
This is called as the linear convection equation. So, the linear convection equation represents the basic convection terms in the NavierStokes equations. The researchers in
CFD use the numerical solution of the linear convection equation as the basic building
block for developing numerical methods for Euler or NavierStokes equations. The Kinetic Schemes and the Relaxation Schemes, the two alternative numerical methodologies
which will be presented in this course, also exploit this strategy, but in a different manner,
as the Boltzmann equation and the Discrete Boltzmann equation, without the collision
term, are just linear convection equations. Note also that the third of the 1-D isentropic
Euler system (2.65) is just a linear convection equation. Thus, the Euler equations consist
of two inviscid Burgers equations (non-linear PDEs) and one linear convection equation.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

16

2.3

Governing equations and approximations

Linear Convection Equation, Characteristics and


Hyperbolicity

To understand the nature of the linear convection equation better, let us first find out its
solution. The linear convection equation
u
u
+c
=0
t
x

(2.77)

is a first order wave equation, also called as advection equation. It is a first order hyperbolic
partial differential equation. Hyperbolic partial differential equations are characterised by
information propagation along certain preferred directions. To understand this better, let
us derive the exact solution of (2.77), given the initial condition
u(x, t = 0) = u0 (x)

(2.78)

Let us now use the method of characteristics to find the value of the solution, u(x, t), at
a time t > 0. The method of characteristics uses special curves in the x t plane along
which the partial differential equation (PDE) becomes an ordinary differential equation
(ODE). Consider a curve in the x t plane, given by (x(t), t). The rate of change of u
t

(x(t),t)

(0,0)

Figure 2.1: 3-Point Stencil

along this curve is given by

d
u (x (t) , t). Using chain rule, we can write
dt

dx

u (x (t) , t) =
u (x (t))
+ u (x (t) , t)
dt
x
dt
t

(2.79)

which can be written simply as


du
u dx u
=
+
dt
t
dt x

(2.80)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Linear convection equation and characteristics

17

The right hand side of (3.4) looks similar to the left hand side of the linear convection
u
u
equation (2.77), i.e.,
+ c . Therefore, if we choose
t
x
c=

dx
dt

(2.81)

du
then (2.77) becomes
= 0, which is and ODE! The curve (x (t) , t), therefore, should be
dt
defined by
dx
= c with x (t = 0) = xo
(2.82)
dt
The solution of (3.6) is given by
x = ct + k
(2.83)
where k is a constant. Using the initial condition x (t = 0) = x0 , we get
x0 = k

(2.84)

x = ct + x0

(2.85)

Therefore
u
u
+c
=0
t
x
u
u
(2.77), or simply as the characteristic. Along the characteristic, the PDE,
+c
= 0,
t
x
du
= 0. The solution of this ODE is u = constant. Therefore, along
becomes and ODE,
dt
the characteristic, the solution remains a constant. Thus, if we know the solution at the
foot of the characteristic (at x0 ), which is the initial condition, we can get the solution
anywhere on the characteristic, that is, u (x, t). Using (3.9), we can write
The curve x = ct + x0 is called the characteristic curve of the equation

x0 = x ct

(2.86)

u (x, t) = u0 (x0 ) = u0 (x ct)

(2.87)

x0
1
1
or t = x k
ct = x x0 or t = x
c
c
c

(2.88)

Therefore
We can write (3.9) as

where k is a constant. Therefore, we can sketch the characteristics in the x t plane.


1
They are parallel straight lines with slope . For non-linear PDES, characteristics need
c
not be parallel straight lines.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

18

Governing equations and approximations

slo
pe
=1
/c

Figure 2.2: 3-Point Stencil

Let us now derive the solution (3.11) in a mathematical way. For the PDE which is
u
dx
u
+c
= 0, let us choose
= c. Its solution
the linear convection equation given by
t
x
dt
is x = ct + x0 or x0 = x ct. This suggests a transformation of coordinates from (x, t) to
(s, ) where
s = x c and = t
(2.89)
The inverse transformation is given by
x = s + c and t =

(2.90)

Therefore, the transformation is from u (x, t) to u (s, ). Since the function is the same
in different coordinate systems
u (x, t) = u (s, )
(2.91)
We can now write
d
u
u t u x
u t u x
=
+
=
+
(since u = u)
d
t
x
t
x

(2.92)

From (3.14), we have

Therefore

But, from (2.77),

x
t
= 1 and
=c

(2.93)

u
u
d
u
=
+c
d
t
x

(2.94)

u
u
+c
= 0. Therefore
t
x
d
u
=0
d

(2.95)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Burgers equation, shock waves and expansion waves

19

The initial condition is u (x, 0) = u0 (x). Therefore


u (s, = 0) = u0 (s)

(2.96)

u ( ) = k = constant

(2.97)

u ( = 0) = u0 (s) = k or k = u0 (s)

(2.98)

u (s, ) = u0 (s)

(2.99)

u (x, t) = u0 (s)

(2.100)

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

(2.101)

Solving (3.19), we get


Using (3.20), we obtain

Therefore
Since u = u, we obtain
Using (3.13), we can write

For a time interval t to t + t, we can write


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

(2.102)

If we consider a point xj with neighbours xj1 and xj+1 to the left and right sides of xj
1
0
0
1

1
0
1
0

0
1
111111
1
1111111
000000
0
0000000
0
1
111111
000000
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
000000
111111
0 c<0
1
0000000
1111111
c>0 1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
11111111
00
1
0
1
0
000000
0
1
0000000
1111111
11
00
1
0
1
0

xj1
x

ct ct
xj
x

1
0
0
1

1
0
1
0

t+t

xj+1

Figure 2.3: 3-Point Stencil

respectively, the foot of the characteristic can fall on the left or right side of xj depending
on the sign of c. Since the information travels a distance of x = ct along the characteristic
during a time t (from t = 0), c is the speed with which information propagates along the
characterstics, and is called characteristic speed or wave speed. Therefore, we can see
that the sign of c determines the direction of information propagation, with information
coming from the left if c > 0 and from right if c < 0.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

20

2.4

Governing equations and approximations

Burgers Equation, Shock Waves and Expansion


Waves

Consider the Burgers equation


u g (u)
1
+
= 0, with g (u) = u2
t
x
2

(2.103)

Let us check the wave speed for this case. The wave speed is defined by
a (u) =

g (u)
u

(2.104)

Therefore, a(u) = u. Consider an initial profile which is monotonically increasing. Therefore as u increases, a(u) increases.
u
t=0

t=t1

t=t 2

large speed

small speed
x

Figure 2.4: Formation of expansion waves for Burgers Equation


The larger values of u lead to larger speeds and smaller values of u lead to smaller
speeds. Therefore the upper parts of the profile move faster than the lower parts of the
profile and the profile expands or gets rarefied after some time. This phenomenon leads
to expansion waves or rarefaction waves.
Now, consider an initial profile which is monotonically decreasing, coupled with a
monotonically increasing profie of the previous example. On the right part of the profile
which is monotonically decreasing, as the upper part overtake lower part (due to larger
speed on the top), the gradient becomes infinite and the solution becomes multi-valued.
Let us now recollect the basic features of a function. A function is rule that assigns
exactly one real number to each number from a set of real numbers. Such a rule is often
given by an algebraic and/or trigonometric expression. A continuous function has no
gaps or breaks at any point on its profile. Therefore, discontinuities are not allowed for a
continuous function.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Shock waves in supersonic flows

21

u
t=0

t=t1

t=t2

multivalued
unphysical
solution
t=t3

x
Figure 2.5: Shock formation to avoid multivalued unphysical solution for Burgers equation

For the non-linear case and for an initial profile which is monotonically decreasing,
the function may become multi-valued after some time. Then, the solution ceases to be
a function, by definition. Discontinuities may appear and the solution becomes multivalued. Multivalued functions are avoided on physical grounds. Imagine, for example,
the density of a fluid at a point having more than one value at any given time, which is
unphysical. Therefore, as multi-valued functions are avoided, discontinuities will appear.
These discontinuities are known as shock waves.

2.5

Shock Waves in Supersonic Flows

In the supersonic flows of inviscid fluid flows modeled by Euler equations, shock waves
appear when the flows are obstructed by solid bodies. The appearance of such shock
waves can be explained as follows.
Consider the flow of a fluid over a blunt body, as shown in the following figure. The

Subsonic flow
(M < 1)

Solid Body

Figure 2.6: Subsonic flow over a blunt body

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

22

Governing equations and approximations

fluid flow consists of moving and colliding molecules. Some of the molecules collide with
the solid body and get reflected. Thus, there is a change in the momenta and energy of the
molecules due to their collision with the solid body. The random motion of the molecules
communicates this change in momenta and energy to other regions of the flow. At the
macroscopic level, this can be explained as the propagation of pressure pulses. Thus,
the information about the presence of the body will be propagated throughout the fluid,
including directly upstream of the flow, by sound waves. When the incoming fluid flow
has velocities which are smaller than the speed of the sound (i.e., the flow is subsonic),
then the sound waves can travel upstream and the information about the presence of the
solid body will propagate upstream. This leads to the turning of the streamlines much
ahead of the body, as shown in the figure (2.6).
Now, consider the situation in which the fluid velocities are larger than the speed of
the sound (i.e., the flow is supersonic). The information propagation by sound waves is

Shock Wave

Supersonic Flow
(M > 1)

M<1

Solid Body

Figure 2.7: Supersonic flow over a blunt body with the formation of a shock wave
now not possible upstream of the flow. Therefore, the sound waves tend to coalesce at
a short distance ahead of the body. This coalescence forms a thin wave, known as the
shock wave, as shown in the figure (2.7). The information about the presence of the solid
body will not be available ahead of the shock wave and, therefore, the streamlines do not
change their direction till they reach the shock wave. Behind the shock wave, the flow
becomes subsonic and the streamlines change their directions to suit the contours of the
solid body. Thus, the shock waves are formed when the a supersonic flow is obstructed
by a solid body.

2.6

Mathematical Classification of PDEs

We can derive several simpler equations from the Navier-Stokes equations : pure convection equation, convection-diffusion equation, pure diffusion equation and the wave

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

First Order PDEs

23

equations of first order and second order. These equations, including the Navier-Stokes
equations, are Partial Differential Equations (PDEs). To understand these equations better, we shall study their mathematical and physical behaviour. Let us start with the
classification of PDEs.

2.6.1

First Order PDEs

General form of a first order linear PDE is


A(x, y)

u
u
+ B(x, y)
+ C(x, y)u = D(x, y)
x
y

(2.105)

Let us simplify (2.105) by assuming C = D = 0.


A(x, y)

u
u
+ B(x, y)
=0
x
y

(2.106)

The above equation is a first order homogeneous partial differential equation (PDE). Let
us look for the solutions of the form
u(x, y) = f (w)

(2.107)

where w is some combination of x and y such that as x and y change, w remains constant.
Substituting (2.107) in (2.106), we obtain
f (w) w
f (w) w
+ B(x, y)
= 0
w x
w y


w
w
f (w)
A(x, y)
+ B(x, y)
= 0

w
x
y

A(x, y)

(2.108)

(w)
df
df
From the above equation, either dfdw
= 0 or A dx
+ B dy
= 0. Since we assumed that f is
df
a function of w only, dw need not be zero. Therefore, the only possibility for (2.108) to
be true is to have

A(x, y)

w
w
+ B(x, y)
=0
x
y

(2.109)

Let us now seek the solutions of (2.109) such that w remains constant as x and y vary.
Therefore, require
w
w
dx +
dy = 0
(2.110)
dw = 0 or
x
y
From (2.109) and (2.110) (which look alike), we get
A(x, y)

w
w
= B(x, y)
x
y

(2.111)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

24

Governing equations and approximations

and

w
w
dx = dy
x
y

(2.112)

dx
dy
=
A(x, y)
B(x, y)

(2.113)

Dividing (2.112) by (2.111), we get

Therefore, f(w) will be constant along those lines (x, y) that satisfy (2.113). On integrating
(2.113) for given A(x, y) and B(x, y), we get a functional relation between x and y, which
can be taken as w. Thus, we can get
f (w) = f (w(x, y))
u(x, t) = f (w) = f (w(x, y))

(2.114)

which will be the solution.


Example:
u
u
+c
=0
t
x

(2.115)

A = 1 and B = c

dt
dx
dt
dx
=
gives
=
A
B
1
c
dx = c dt

(2.116)

Integrating, we get
x = c t + k where k is a constant.

(2.117)

w = k = x ct

(2.118)

u(x, t) = f (w) = f (x ct)

(2.119)

where f is an arbitrary function which must be determined by initial conditions for the
PDE, which is (2.115) in this case. In a similar way, the non-homogeneous first order
PDE, where C and D are non-zero, can also be solved [2].

2.6.2

Characteristics

Let us rewrite the general form of first order linear PDE (2.105) as
A(x, y)

u
u
+ B(x, y)
= C(x, y, u)
x
y

(2.120)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Characteristics

25

Let us now solve (2.120) for u(x, y) subject to the boundary condition
u(x, y) = (s)

(2.121)

Let the boundary condition (2.121) be specified in the x y plane along a boundary curve
which is described in parametric form as
x = x(s) and y = y(s)

(2.122)

Here, s in the arc length along the boundary. Along the boundary represented by (2.122),
the variation of u is given by
du
u dx u dy
=
+
(2.123)
ds
x ds y ds
Using (2.121), (2.123) can be written as
u dx u dy
d
du
=
+
=
ds
x ds y ds
ds
We now have two equations (2.120) and (2.124) with two unknowns

(2.124)
u
u
and
. We can
x
y

write (2.124) and (2.120) as


u dx u dy
d
+
=
x ds y ds
ds

(2.125)

and

u
u
A+
B=C
x
y
or

d
dx dy
x
ds
ds ds
=

u
A B
C
y
u
u
and
as
We can solve (2.127) to obtain the unknowns
x
y

dx dy 1 d
x

ds ds ds

u
A B
C
y

(2.126)

(2.127)

(2.128)

The solution is not possible if the determinant of the matrix, whose inverse is required,
NT
where N T is the transpose of the matrix N of cofactors of M .
is zero since M 1 =
|M |

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

26

Governing equations and approximations

The determinant is zero if

dx
ds

dy
ds = 0

(2.129)

or
B

dx
dy
A
= 0
ds
ds
B

dy
dx
= A
ds
ds

dy
B
ds =
dx
A
ds
dy
B

=
dx
A

dy
dx
=
A
B

(2.130)

We have already seen that (2.130) represents that curve in the (x, y) plane in which w is
a constant with (u(x, y)) = f (w). Such curves are called characteristic curves or simply
u
u
or
may not exist
characteristics. Note also that the derivatives of the solution,
x
y
along the characteristics, since w = constant along the characteristics.
u

=
f (w) =
x
x

u
=
f (w) =
y
y

f w
f
=
0=0
w x
w
f w
f
=
0=0
w y
w

Therefore, discontinuities in solution may exist along the characteristics. That is why we
u
u
and
everywhere in the (x, y) domain except along the characteristics
can solve for
x
y
(when the determinant is zero (2.129)).

2.6.3

Second Order PDEs

The general form of a second order PDE is


A(x, y)

2u
2u
u u
2u
+
B(x,
y)
+
C(x,
y)
= D(x, y, u, , )
2
2
x
xy
y
x y

(2.131)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Second order PDEs

27

Apart from the general form of the second order PDE, we can obtain two more relationu
u
ships by applying the chain rule to the total derivatives of
and
[3].
x
y
2u
2u
2u
+
B
+
C
= D
(2.132)
x2
xy
y 2
 
2u
u
2u
(2.133)
dx +
dy = d
2
x
xy
x
 
2u
2u
u
(2.134)
dx + 2 dy = d
xy
y
y
or
2

u
D
x2

A B C

 

u

2

u
d

dx dy 0

=
(2.135)

x
xy

 

u
0 dx dy 2 u
d
y
y 2
2u
2u 2u
,
and
everywhere in the (x, y)
The equation (2.135) can be solved for
x2 xy
y 2
domain, except on a curve where the determinant in (2.135) is zero, which will be the
characteristic curve. The zero determinant condition is
A B C
A

dx dy
0

0 =0

(2.136)

dx dy





A (dy)2 dx 0 B [dxdy 0] + C (dx)2 dy 0 = 0
A (dy)2 B (dxdy) + C (dx)2 = 0

Let us divide by (2.138) by (dx)2 to obtain


 2
dy
dy
A
B
+C =0
dx
dx

(2.137)
(2.138)

(2.139)

This is the equation of the curve along which the second partial derivatives of u cannot
be defined. The solution to (2.139) is
p
(B) (B)2 4AC
dy
=
(2.140)
dx
2A
p
B (B)2 4AC
dy
=
(2.141)

dx
2A

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

28

Governing equations and approximations

The curves in the (x, y) domain satisfying (2.139) are called the characteristics of the
PDE (2.131). The characteristics have tangents at each point given by (2.139), when
A 6= 0. The equation (2.141) has real solutions when B 2 4AC > 0 and complex roots
when B 2 4AC < 0. The second order PDEs are classified accordingly as
Hyperbolic if B 2 4AC > 0
Parabolic if B 2 4AC = 0
Elliptic if B 2 4AC < 0

When the PDEs are hyperbolic (B 2 4AC > 0), the equation (2.139) defines two
families of real curves in (x, y) plane. When the PDEs are parabolic (B 2 4AC = 0) the
equation (2.139) defines one family of real curves in the (x, y) plane. When the PDEs are
elliptic (B 2 4AC < 0) the equation (2.139) defines two families of complex curves. Note
that if A, B & C are not constant, the equation may change from one type to another at
different points in the domain. This classification is similar to the classification of general
second degree equations in analytical geometry. Recall that the general equation for a
conic section in analytical geometry is given by
ax2 + bxy + cy 2 + dx + ey = f

(2.142)

and the conic section takes different shapes as given below.


The conic is a hyperbola if b2 4ac > 0
The conic is a parabola if b2 4ac = 0
The conic is an ellipse if b2 4ac < 0

(2.143)
(2.144)
(2.145)

Example 1 : Consider wave equation

2
2u
2 u
=
c
t2
x2

1 2u
2u

=0
x2 c2 t2

1
A = 1, B = 0 & C = 2
c
r
1
0 (0)2 4 1 ( 2 )
1
dt
c
=
=

dx
21
c
dx
= c

dt
x = ct + k & x = ct + k (k = constant)

Here, x ct = k & x + ct = k are the characteristics. Since B 2 4AC > 0, the


equation is hyperbolic.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Physical significance of the classification

29

Example 2 : Consider the pure diffusion equation


2u
u
= 2
t
x

2u
u
=
2
x
t

A = , B = 0 & C = 0
B 2 4AC = 0 4 0 = 0
Therefore the equation is parabolic.
Example 3 : Consider the Laplace equation in 2-D
2u 2u
+
=0
x2 y 2

(2.146)

Here, A = 1, B = 0 and C = 1. B 2 4AC = 0 4 1 1 = 4. B 2 4AC < 0.


This equation is elliptic.

2.6.4

Physical Significance of the Classification

The mathematical classification introduced in the previous sections, leading to the categorization of the equations of fluid flows and heat transfer as hyperbolic, parabolic or
elliptic, is significant as different types of equations represent different physical behaviour
and demands different types of treatment analytically and numerically.
Hyperbolic PDEs
Hyperbolic equations are characterized by information propagation along certain preferred
directions. These preferred directions are related to the characteristics of the PDEs.
Consequently, there are domains of dependence and zones of influence in the physical
domains where the hyperbolic equations apply. The linear convection equation, the nonlinear inviscid Burgers equation, the Euler equations, the inviscid isothermal equations
and the isentropic equations are all hyperbolic equations. As an illustration, let us consider
the wave equation (which describes linearized gas dynamics, i.e., acoustics), given by
2
2u
2 u
=
c
t2
x2

(2.147)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

30

Governing equations and approximations

As in a previous section for second order PDE, we can write the above equation as
2
u

t2
0

 

u
1 0 c2 2

dt dx 0
(2.148)
=
t
 
xt
u
0 dt dx

2u
x
x2

Setting the determinant of the coefficient matrix in the above equation to zero and solving
for the slopes of the characteristic paths, we obtain
(dx)2 c2 (dt)2 = 0

(2.149)

Solving the above quadratic equation, we get


dx
= c or x = x0 ct
dt

(2.150)

Therefore, there are two real characteristics associated with the wave equation considered
here. The information propagation along the characteristics is with the speed
a=

dx
= c
dt

(2.151)

The domain of the solution for the wave equation, which is a typical hyperbolic partial
differential equations (PDE), is shown in the figure (2.8).

Figure 2.8: Domain of the Solution for a Hyperbolic PDE (Wave equation)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Physical significance of the classification

31

Parabolic PDEs
The parabolic equations are typically characterized by one direction information propagation. Unsteady heat conduction equation, unsteady viscous Burgers equation and
unsteady linear convection-diffusion equation are examples of parabolic equations. Consider the unsteady heat conduction equation in 1-D, given by
T
2T
= 2
t
x

(2.152)

As done before, we can write this equation as



T
2T
x2
t

 

0 0 2
T d T
dx dt 0
=

0 dx dt xt

2 T  T 
d
t
t2

(2.153)

Setting the determinant of the coefficient matrix to zero and solving for the slopes of the
characteristic paths, we get
(dt)2 = 0
dt = 0
t = constant

(2.154)

Thus, there are two real but repeated roots associated with the characteristic equation
for unsteady conduction equation in 1-D. The characteristics are lines of constant time.
The speed of information propagation (from the above equations) is
dx
dx
=
=
dt
0

(2.155)

Thus, the information propagates at infinite speed along the characteristics (lines of constant t). The domain of the solution for a typical parablic PDE (unsteady heat conduction
equation) is shown in figure (2.9).
Elliptic PDEs
In contrast to the hyperbolic equations, the elliptic equations are characterized by information propagation having no preferred directions. Therefore, the information propagates
in all directions. A typical example is the steady state heat conduction in a slab. The

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

32

Governing equations and approximations

Figure 2.9: Domain of Solution for a Parabolic PDE (unsteady heat conduction equation)
pure diffusion equations in steady state are elliptic equations. Consider the steady heat
conduction equation in 2-D, given by
2T
2T
+
=0
x2
y 2
As done before, the above equation can be written as
2

0
x2
 T 

1 0 1
d
2T

dx dy 0
=
xy  
0 dx dy

T

d
2T
y
2
y

(2.156)

(2.157)

Setting the determinant to zero and solving for the characteristics, we obtain
1 (dy)2 + 1 (dx)2 = 0 or

dy
= 1
dx

(2.158)

Thus, the roots are complex and there are no real characteristics. That means, there are
no preferred directions for information propagation. The domain of dependence and the
range of influence both cover the entire space considered. The domain of solution for a
typical elliptic equation (steady state heat condution equation in 2-D) is shown in figure
(2.10).

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and hyperbolicity

33

Figure 2.10: Domain of Solution for an Elliptic PDE (steady heat conduction equation)
Not all equations can be classified neatly into hyperbolic, elliptic or parabolic equations. Some equations show mixed behaviour. Steady Euler equations are hyperbolic for
supersonic flows (when Mach number is greater than unity) but are elliptic for subsonic
flows (when Mach number is less than unity). The mathematical behaviour of the fluid
flow equations may change from one point to another point in the flow domain.

2.7

Euler equations and Hyperbolicity

We have seen how a scalar equation (linear convection equation in this case) is hyperbolic,
characterized by preferred directions of information propagation. Let us now consider the
vector case for hyperbolicity.

Definition of hyperbolicity for systems of PDEs


Consider a system of PDEs
G
U
+
=0
t
x

(2.159)

where

U =

U1
U2
..
.
Un

G
=

G1
G2
..
.
Gn

(2.160)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

34

Governing equations and approximations

Here, U is the vector of conserved variables (also called as the field vector) and G is the
vector of fluxes (called as the flux vector), each component of which is a function of U .
Usually, in fluid dynamics, G is a non-linear function of U . Let us rewrite the above
system of equations in a form similar to the linear convection equation (in which the time
and space derivatives are present for the same conserved variable) as
U
G U
+
=0
t
U x

(2.161)

or

U
G
U
+A
= 0 where A =
(2.162)
t
x
U
The above form of system of PDEs (2.162) is known as the quasi-linear form. Note that A
will be a nn matrix. A system of partial differential equations (2.162) is hyperbolic if the
matrix A has real eigenvalues and a corresponding set of linearly independent eigenvectors.
If the eigenvectors are also distinct, the system is said to be strictly hyperbolic. If the
system is hyperbolic, then the matrix A can be diagonalised as
A = RDR1
where R is the matrix of eigenvectors and D is the matrix of eigenvalues.

1 0
0 0

D = ..
..
.. , R = [R1 , , Rn ] , ARi = i Ri
.
.
.
0 n

(2.163)

(2.164)

Therefore, we can define a hyperbolic system of equations as a system with real eigenvalues
and diagonalisable coefficient (flux Jacobian) matrix.

Linear systems and characteristic variables


U
U
If A is constant, then the hyperbolic system
+A
= 0 is linear. If we introduce a
t
x
characteristic variable as
W = R1 U
(2.165)
then the hyperbolic system will be completely decoupled. If A is a constant, then so is
R. Therefore
U
W
U
W
=R
and
=R
(2.166)
t
t
x
x
Therefore
W
W
+ AR
=0
(2.167)
R
t
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Euler equations and hyperbolicity


or
Therefore

35

W
W
+ R1 AR =
=0
t
x

(2.168)

W
W
+D
=0
t
x

(2.169)

1-D Euler equations


The 1-D Euler equations

U
U
+
=0
t
x
which can be written in quasi-linear form as

(2.170)

U
G
U
+A
= 0 where A =
t
x
U

A=

0
3 2
u
2
a2 u
2 3
u
2
1

(2.171)

(3 ) u
1

a2
3 2 2
u +
u
2
1

(2.172)

1
p 1
p
p 1
In terms of the total enthalpy H = h + u2 = e + + u2 =
+ + u2
2
2
( 1) 2

0
1
0
3 2

u
(3 ) u
1
A= 
(2.173)

2


1 2
2
u H
H ( 1) u
u
u
2
The eigenvalues of A are

1 = u a, 2 = u and 3 = u + a

(2.174)

and the corresponding eigenvectors are

1
1
1

R1 = u a , R2 = u and R3 = u + a
1 2
H + ua
H ua
u
2

(2.175)

Therefore, we can see that the 1-D Euler equations are (strictly) hyperbolic. So, are
multi-dimensional Euler equations.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

36

Governing equations and approximations

In this short course, apart from the traditional numerical methods for solving the
equations of compressible flows, alternative methodologies based on the Kinetic Theory of Gases, called as Kinetic Schemes and a relatively new strategy of converting the
non-linear conservation equations into a linear set of equations known as the Relaxation
Systems, along with the related numerical methods known as the Relaxation Schemes,
will be presented. The next two sections are devoted to the presentation of the governing
equations for these two strategies.

2.8

Kinetic Theory, Boltzmann Equation and its Moments as Macroscopic Equations

Consider the flow of air over a solid body, say a wing of an aeroplane. The variables
of interest are the fluid velocities and the fluid density, apart from the thermodynamic
variables like pressure and temperature, as they can be used to calculate the required
design parameters like lift, drag, thrust and heat transfer coefficients. To obtain these
variables, we need to solve the Euler or Navier-Stokes equations, which is the subject
matter of traditional CFD and some algorithms for doing so will be presented in the
next chapters. We can also consider the fluid flow from a microscopic point of view,
considering the flow of molecules and their collisions. Obviously, both the microscopic
and the macroscopic approaches must be related, as we are referring to the same fluid
flow. The macroscopic variables can be obtained as statistical averages of the microscopic
quantities. This is the approach of the Kinetic Theory of Gases. Similar to the NavierStokes equations, which are obtained by applying Newtons laws of motion to the fluids, we
can apply Newtons laws of motion to the molecules and, in principle, solve the resulting
equations. But, it is practically impossible to solve the large number of equations that
result, as there will be 1023 molecules in a mole of a gas. Neither can we know the initial
conditions for all the molecules. Therefore, a better way of describing the fluid flow at the
microscopic level is by taking statistical averages and the Kinetic Theory of Gases is based
on such a strategy. In the Kinetic Theory, the movement of the molecules is described
by probabilities instead of individual paths of molecules. The macroscopic quantities of
interest, like density, pressure and velocity, are obtained by taking statistical averages
of the molecular quantities. These averages are taken over macroscopically infinitesimal
but microscopically large volumes. These averages are also known as moments and this
process of taking averages is called as taking moments.
Consider a small volume V (V = 3 r) in the physical space (x,y,z). Let the
number of molecules in this volume be 3 N . Therefore, the local number density, which
represents the number of molecules per unit volume, is given by
n (r) = Lim3 r0

3 N
3 r

(2.176)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Kinetic theory of gases

37

Therefore, we can write


d3 N = n (r) d3 r

(2.177)

and we can calculate the number of molecules if the local number density (or the molecular distribution) is known. If we consider a phase space, which has three additional
coordinates as the molecular velocities apart from three physical coordinates, we can
write
d6 N = fp (r, v) d3 rd3 v = fp (r, v) dxdydz dv1 dv2 dv3
(2.178)
where fp (r, v) is the local number density in the phase space, known as the phase space
distribution function. Therefore, if the phase space distribution function is known, we can
calculate the number of molecules by integrating the phase space distribution function
(thereby obtaining the physical number density) as
Z Z Z
fp (r, v) d3 v
(2.179)
n (r) =

which we denote by a simpler notation as


n = hfp i

(2.180)

Multiplying both sides of the above equation by the mass of the molecules, m, and identifying the density of the gas as the number of molecules multiplied by the mass of the
molecules, we obtain
mn = = hmfp i = hf i where f = mfp
Similarly, the average or mean speed of the molecules can be written as
Z Z Z
vfp (r, v) d3 v
n (r) hvi =

(2.181)

(2.182)

or
nhvi = hvfp i

(2.183)

nmhvi = hvmfp i

(2.184)

hvi = hvf i

(2.185)

Multiplying by the mass, we obtain

or
Denoting the average molecular velocity hvi by u and recognizing it as the fluid velocity,
we can write
u = hvf i
(2.186)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

38

Governing equations and approximations

Similarly, we can obtain an average for the kinetic energy as


1
E = h v2 f i
2

(2.187)

1
= hf i ; u = hvf i ; E = h v2 f i
2

(2.188)

Thus, we have the expressions

which give the macroscopic quantities as averages (also called as moments) of the molecular velocity distribution function. In addition to the above moments, we can also derive
the following additional moments for the Pressure tensor and the heat flux vector.
Pij = pij ij = hci cj f i where c = v u

(2.189)

qi = hcci f i

(2.190)

and
The relative velocity c is known by various names as peculiar velocity, random velocity or
thermal velocity. Here, ij is the Kronecker delta function, defined by

1 if i = j
ij =
(2.191)
0 if i 6= j
and
c2 = c21 + c22 + c23 ; v2 = v12 + v22 + v32

(2.192)

The expression for E can be evaluated as


E=

p
u2
+
2
2

But, the right expression for E is


E =e+
where
e=

u2
2

p
( 1)

(2.193)

(2.194)
(2.195)

is the internal energy. Therefore, to get the right value of E, we have to modify the
moment definitions. But, first let us learn about the equilibrium distribution. If we
keep a system isolated from the surroundings and insulated (no heat transfer), and if
there are no internal heat sources and external forces, the gas in the system will reach
thermodynamic equilibrium. The velocity distribution of such a state is known as the
equilibrium distribution. It is also known as Maxwellian distribution. In such a state,
all gradients are zero (the gas is at rest). However, the flows of interest always contain

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Kinetic theory of gases

39

changes in velocity and gas properties. Therefore, we consider the concept of local thermal
equilibrium, when locally the gradients are very small. For such conditions, we consider
locally Maxwellian distributions. The Maxwellian distribution is defined by
  D2
2

F =
e(vu)
(2.196)

where

1
=
(2.197)
2RT
2P
and D is the number of translational degrees of freedom. For 1-D, D=1, for 2-D, D=2
and for 3-D, D=3. R is the gas constant, defined by the state equation
=

p = RT

(2.198)

Now that we know the expression for the Maxwellian distribution, let us evaluate the
moments. From the definitions, we can write for 1 D

U = h v f i
(2.199)
1 2
v
2
Using the Maxwellian

U = h v F i
1 2
v
2

(2.200)

U3

F dv

vF dv
= hvF i =

Z 2
v2
v
= h Fi =
F dv
2
2

U1 = hF i =

U2

(2.201)
(2.202)
(2.203)

To evaluate the above, we need to know some basic integrals. Some types of integrals we
encounter often are
Z
2
xn ex dx n = 0, 1, 2, ...
(2.204)
Jn =

Z
2
+
xn ex dx n = 0, 1, 2, ...
(2.205)
Jn =
0
Z 0
2

Jn =
xn ex dx n = 0, 1, 2, ...
(2.206)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

40

Governing equations and approximations

R
2
We first need to evaluate the fundamental integral ex dx. Let
Z
Z
2
x2
K=
e dx =
ey dy

Since definite integral is a function of limits only, we get


Z Z
Z Z
2
2
x2 y 2
2
e(x +y ) dxdy
e e dxdy =
K =

(2.207)

(2.208)

Let x = r cos and y = r sin. Then


2

K =

K =

er rdrd

[]2
0


er rdr

1 r2
K = 2
e
2

K=
2

Therefore,

ex dx =

(2.209)

Using the above, we can derive the following expressions.

J0 = J 0 =

J1 = 0 J1 =

+
J2 =
J2 =
2
4

J3 = 0 J3 =

3
3

J4 =
J4 =
4
8
and Jn = Jn Jn+

Using these integrals, if we derive U3 , we get, for a Maxwellian




v2
1 2
p
U3 = h F i =
+ u = E
2
2 2
u2
p
+
where E =
2
2

(2.210)

(2.211)

(2.212)
(2.213)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Kinetic theory of gases

41

But, for Euler equations, we know that


E=

p
u2
+
( 1)
2

(2.214)

This discrepancy is because we considered only a mono-atomic gas which has no internal
degrees of freedom contributing to internal energy. It has only translational degrees of
freedom. A polyatomic gas has internal degrees of freedom contributing to vibrational and
rotational energies. To add internal energy contributions, we modify the definitions as
follows.
Z Z
=
dI
d3 v f
(2.215)
0

Z Z
u =
dI
d3 v vf
(2.216)
0

Z Z
v2
d3 v (I + )f
dI
E =
(2.217)
2

0
where v2 = v12 + v22 + v32
(2.218)
Here I is the internal energy variable corresponding to non-translational degrees of freedom. The Maxwellian is modified as
 D
2 (vu)2 I
F =
e
e I0
I0
(2 + D) D
where I0 =
RT
2 ( 1)

(2.219)
(2.220)

is the average internal energy due to non-translational degrees of freedom. The basic
equation of kinetic theory is the Boltzmann equation
f
f
+v
= J (f, f )
t
x

(2.221)

(in the absence of external forces).


The left hand side of (2.221) represents the temporal and spatial evolution of the
velocity distribution function, f . The right hand side, J(f, f ) represents the collision term.
The molecules are in free flow except while undergoing collisions. The LHS represents the
free flow and the RHS represents the changes in the velocity distribution due to collisions.
The collision term makes (2.221) an integro-differential equation, which is difficult to
solve. For an introduction to the Kinetic Theory of Gases, the reader is referred to the
following books [4, 5, 6].

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

42

2.8.1

Governing equations and approximations

B-G-K Model for the collision term

Bhatnagar, Gross and Krook [7] proposed a simple model for the collision term :
J (f, f ) =

F f
tR

(2.222)

According to the B-G-K model, the velocity distribution function, f , relaxes to a Maxwellian
distribution, F , in a small relaxation time, tR . With this model, the Boltzmann equation
becomes
f
F f
f
+v
=
(2.223)
t
x
tR

2.8.2

Splitting Method

Boltzmann equation (2.221) is usually solved by a splitting method. To illustrate the


splitting method, let us consider the (2.223). We can re-write (2.223) as
f
t

= v
f
t

f
F f
+
x
tR

= O1 + O2

f
x
F f
=
tR

where O1 = v
and O2

(2.224)

(2.225)

(2.226)
(2.227)

We can split (2.225) into two steps:


f
t

= O1

(2.228)

f
t

= O2

(2.229)

(2.228) and (2.229) can be re-written as


f
f
+v
= 0
t
x

(2.230)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Kinetic theory of gases

43
f
t

F f
tR

(2.231)

equation (2.230) is the convection equation for f and equation (2.231) is the collision
equation for f. Therefore, The operator splitting has resulted in two steps: (i) a convection
step and (ii) a collision step. In the convection step, (2.230) can be solved exactly or
numerically. Let us see how, in the collision step, the equation (2.231) can be solved. We
can write (2.231) as an ODE.
F f
df
=
(2.232)
dt
tR
This is a simple ODE for which the solution is given by
tt

f = (f0 F ) e
tt

or f = f0 e

If we take tR = 0, then (2.233) gives

+F



t
+ F 1 e tR

f = f0 e 0 + F or f = F

(2.233)
(2.234)

(2.235)

Therefore, If the relaxation time is zero, the exact solution of the collision step drives the
distribution to a Maxwellian. Thus, the collision step becomes a relaxation step. The
kinetic schemes or Boltzmann schemes are based on this split-up into a convection step
and a relaxation step :
Convection Step:
f
f
+v
=0
(2.236)
t
x
Relaxation Step:
f =F
(2.237)
Therefore, in kinetic schemes, after the convection step, the distribution function instantaneously relaxes to a Maxwellian distribution. If we start with an initially Maxwelian
distribution, we can use the approximation
F
F
+v
=0
t
x

(2.238)

as a basis for developing kinetic schemes. The Euler equations


U Gi
+
= 0
t
xi

where

(i = 1, 2, 3)

ui
U =
E

(2.239)
(2.240)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

44

Governing equations and approximations

and

ui
G = ij p + ui uj
pui + ui E

(2.241)

E =

p
u2
+
( 1)
2

(2.242)

u2 = u21 + u22 + u23

(2.243)

can be obtained as moments of the Boltzmann equation:

1


f
f

v
i
= 0i (2.244)
+ vi
h

v2
t
xi
I+
2

1
1
Z Z

vi
vi
Therefore, U = h
d3 v
dI
(2.245)
fi =
2 f
v2
v

0
I+
I+
2
2

1
1
Z Z

vi
vi
d3 v
dI
(2.246)
and Gj = h
2 vj f
2 vj f i =
v
v

0
I+
I+
2
2
The Kinetic Schemes are based on the above connection between the Boltzmann equation
and Euler equations. The splitting method is also an inherent part in most of the Kinetic
Schemes.

2.9

Relaxation Systems for Non-linear Conservation


Laws

In the previous section, the non-linear vector conservation laws of Fluid Dynamics were
derived from a simpler linear convection equation (the Boltzmann equation), using the
Kinetic Theory of Gases. Thus, the task of solving the non-linear vector conservation
equations was simplified by the use of a linear convection equation. In this section,
another such a simpler framework is presented, in which the non-linear conservation laws
are linearized by a Relaxation Approximation. This framework of a Relaxation System is
even simpler than the previous one and is easier to deal with.
Consider a scalar conservation law in one dimension
u g (u)
+
=0
(2.247)
t
x
with the initial condition u (x, t = 0) = u0 (x) .

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Relaxation systems for non-linear conservation laws

45

u2
Here the flux g (u) is a non-linear function of the dependent variable u. With g (u) = ,
2
we recover the inviscid Burgers equation. The main difficulty in solving this equation
numerically is the non-linearity of the flux g (u). Jin and Xin [8] dealt with this problem
of non-linearity by introducing a new variable v, which is not an explicit function of the
dependent variable u and provided the following system of equations.
u v
+
t
t

= 0

1
u
v
+ 2
= [v g (u)]
t
x

(2.248)

Here, is a positive constant and is a very small number approaching zero. We can
rearrange the second equation of the above system (2.248) as


v
2 u

= [v g (u)]
(2.249)
+
t
x
and as 0, we obtain v = g (u). Substituting this expression in the first equation
of the Relaxation System (2.248), we recover the original non-linear conservation law
(2.247). Therefore, in the limit 0, solving the Relaxation System (2.248) is equivalent
to solving the original conservation law (2.247). It is advantageous to work with the
Relaxation System instead of the original conservation law as the convection terms are
not non-linear any more. The source term is still non-linear, and this can be handled
easily by the method of splitting. The initial condition for the new variable v is given by
v(x, t = 0) = g (u0 (x))

(2.250)

This initial condition avoids the development of an initial layer, as the initial state is in
local equilibrium [8]. The above approach of replacing the non-linear conservation law by
a semi-linear Relaxation System can be easily extended to vector conservation laws and
to multi-dimensions. Consider a vector conservation law in one dimension, given by
U G (U)
+
=0
t
x

(2.251)

Here, U is the vector of conserved variables and G (U) is the flux vector, defined by

(2.252)
U = u and G (U) = p + u2
pu + uE
E

where is the density, u is the velocity, p is the pressure and E is the total internal energy
of the fluid, defined by
u2
p
+
(2.253)
E=
( 1)
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

46

Governing equations and approximations

with being the ratio of specific heats. The above vector conservation laws are the Euler
equations of gas dynamics and describe the mass, momentum and energy conservation
laws for the case of an inviscid compressible fluid flow. The Relaxation System for the
above vector conservation laws is given by
U V
+
t
x

= 0

U
1
V
+D
= [V G (U)]
t
x

where D is a positive constant diagonal matrix, defined by

D1 0
0
D = 0 D2 0
0
0 D3

(2.254)

(2.255)

The positive constants in the Relaxation System for the scalar case (2.248) and Di , (i =
1, 2, 3) in the Relaxation System for the vector case (2.254) are chosen in such a way that
the Relaxation System is a dissipative (stable) approximation to the original non-linear
conservation laws. To understand this better, let us do a Chapman-Enskog type expansion
for the Relaxation System.

2.9.1

Chapman-Enskog type expansion for the Relaxation System

In this section, a Chapman-Enskog type expansion is performed for the Relaxation System,
following Jin and Xin [8]. We can rewrite the second equation of the Relaxation System
(2.248) as


v
2 u
v = g (u)
(2.256)
+
t
x
which means that
v = g (u) + O []
(2.257)
Differentiating with respect to time, we obtain
v

g u
=
[g (u)] + O [] =
+ O []
t
t
u t

(2.258)

Since the first equation of the Relaxation System (2.248) gives

we can write

u
v
=
t
x

(2.259)

g v
v
=
+ O []
t
u x

(2.260)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Relaxation systems for non-linear conservation laws

47

Therefore, using (2.257), we can write




v
g
=
{g (u) + O []} + O []
t
u x


 2
g
u
v
g g u
+ O [] =
or
=
+ O []
t
u u x
u x
Substituting the above expression in (2.256), we get
)
#
" ( 
2
u
u
g
+ O [] + 2
v = g (u)
u x
x
or

"

u
v = g (u)
x

g
u

2 )#

 
+ O 2

(2.261)

(2.262)

(2.263)

(2.264)

Substituting this expression for v in the first equation of the Relaxation System (2.248),
we get
" (
 2 )#
 
u
g
u g (u)
2
+
=
+ O 2
(2.265)

t
x
x x
u

The right hand side of (2.265) contains a second derivative of u and hence represents a dissipation (viscous) term. The coefficient represents the coefficient of viscosity. Therefore,
the Relaxation System provides a vanishing viscosity model to the original conservation
law. For the coefficient of dissipation to be positive (then the model is stable), the following condition should be satisfied.
2

g
u

2

or

g
u

(2.266)

This is referred to as the sub-characteristic condition. The constant in the Relaxation


System (2.248) should be chosen in such a way that the condition (2.266) is satisfied.
For the vector conservation laws (2.251) modeled by the Relaxation System (2.254),
the ChapmanEnskog type expansion gives
"(
#

2 )
U
G(U)

U G(U)
D
+ O(2 )
(2.267)
+
=
t
x
x
U
x
For the Relaxation System (2.254) to be dissipative, the following condition should be
satisfied.
2

G (U)
0
(2.268)
D
U

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

48

Governing equations and approximations

Based on the eigenvalues of the original conservation laws (2.251), i.e., Euler equations,
Jin and Xin [8] proposed the following two choices.

2
1 0 0
(i) Define D as D = 0 22 0
0 0 23
First choice : 2 = 21 = 22 = 23 = max [|u a|, |u|, |u + a|]

(ii) Second choice : 21 = max|u a|, 22 = max|u| and 23 = max|u + a|

(2.269)
(2.270)

where u is the fluid velocity and a is the speed of sound. With the first choice, the diagonal
matrix D can be written as
D = 2 I
(2.271)
where I is a unit matrix.

2.9.2

Diagonal form of the Relaxation System

The Relaxation System (2.248) can be written in matrix form as

u
v

0 1
2 0

Q
Q
+A
=H
t
x
"


(2.272)
0

1
(2.273)
[v g (u)]

As the Relaxation System (2.248) is hyperbolic, so is (2.272) and, therefore, we can write
where Q =

, A=

and H =

A = RR1 and consequently = R1 AR

(2.274)

where R is the matrix of right eigenvectors of A, R1 is its inverse and is a diagonal


matrix with eigenvalues of A as its elements. The expressions for R, R1 and are given
by

1
1




2 2
0
1 1

1
(2.275)
, R =
R=
and =
0

1
1
2 2
Since the Relaxation System (2.272) is a set of coupled hyperbolic equations, we can
decouple it by introducing the characteristic variables as

Therefore, we can write

f = R1 Q which gives Q = Rf

(2.276)

Q
f
Q
f
=R
and
=R
t
t
x
x

(2.277)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Relaxation systems for non-linear conservation laws

49

Substituting the above expressions in (2.272), we obtain


f
f
+ R1 AR
= R1 H
t
x

(2.278)

Using (2.274), the above equation can be written as


f
f
+
= R1 H
t
x

(2.279)

where

u
v
1



2 [v g (u)]
2
2

f1
and R1 H =
f=
= R1 Q =

f2

v
u
1
+
[v g (u)]

2 2
2

(2.280)

Thus, we obtain two decoupled equations as


f1
1
f1

=
[v g (u)]
t
x
2

(2.281)

f2
1
f2
+
=
[v g (u)]
t
x
2
Solving these two equations in the limit of 0 is equivalent to solving the original
non-linear conservation law (2.247). It is much easier to solve the above two equations
than solving (2.247), since the convection terms in them are linear. The source terms are
still non-linear, but these can be handled easily by the splitting method, which will be
described in the following sections. Using (2.275) and (2.276), we obtain the expressions
u = f1 + f2 and v = (f2 f1 )

(2.282)

using which we can recover the original variables u and v. In the case of vector conservation
laws (2.251), the diagonal form of the Relaxation System leads to
f1
f1
1

=
[V G (U)]
t
x
2

(2.283)

f2
f2
1
+
=
[V G (U)]
t
x
2
where f1 and f2 are vectors with three components each for the 1-D case.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

50

2.9.3

Governing equations and approximations

Diagonal form as a Discrete Kinetic System

The diagonal form of the Relaxation System can be interpreted as a discrete Boltzmann
equation [9, 10, 11]. Let us introduce a new variable F as

u g (u)


2
F1
2
F=
=
F2
u g (u)
+
2
2

(2.284)

With these new variables, the diagonal form of the Relaxation System (2.279) can be
rewritten as
f
f
1
+
= [F f ]
(2.285)
t
x

This equation is similar to the Boltzmann equation of Kinetic Theory of Gases with a
Bhatnagar-Gross-Krook (B-G-K) collision model, except that the molecular velocities are
discrete ( and ) and the distribution function f correspondingly has two components,
f1 andf2 . The new variable F represents the local Maxwellian distribution. This interpretation was used by Natalini [9] and Driollet & Natalini [10] to develop multi-dimensional
Relaxation Systems which are diagonalizable and new schmes based on them. The classical
Boltzmann equation with B-G-K model in one dimension is given by
f
f
1
+
=
[F f ]
t
x
tR

(2.286)

where is the molecular velocity (we are not using v as it has been used in the Relaxation System for the new variable), tR is the relaxation time and F is the equilibrium
(Maxwellian) distribution. The Euler equations can be obtained as moments of the Boltzmann equation. The 1-D local Maxwellian for such a case is given by

F =
I0

  21 h
i

(u)2 + II
0
e

(2.287)

1
where is the density, D is the number of translational degrees of freedom, = 2RT
,
T is the temperature, I is the internal energy variable for the non-translational degrees
of freedom and I0 is the corresponding average internal energy. The moments of the
distribution function lead to the macroscopic variables as

u=

dI

I+
2

f =

dI

I+
2

(2.288)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Relaxation systems for non-linear conservation laws

51

and
g (u) =

dI

f =

(2.289)

I+
I+
2
2
The macroscopic equations (Euler equations in this case) are obtained as moments of the
Boltzmann equation by

1


Z Z
f
1
f

+
=
[F f ]
(2.290)
d
dI

1 2
t
x
tR

0
I+
2
The corresponding expressions for the moments of the discrete Boltzmann equation are
0

dI

u = P f = P F , v = P f and g (u) = P F where P = [1 1]

(2.291)

for the case of scalar conservation laws and


U = P f = P F , V = P f and G (U) = P F

(2.292)

for the case of vector conservation laws. The macroscopic equations are obtained from the
discrete Boltzmann equation by multiplying by P and P respectively. Let us multiply
the discrete Boltzmann equation (2.285) by P to obtain




f
1
f
+
[F f ]
(2.293)
=P
P
t
x

or
1
(P f ) (P f )
+
= [P F P f ]
(2.294)
t
x

Using (2.291), the above equation can be rewritten as


u v
+
=0
(2.295)
t
x
which is the first equation of the Relaxation System (2.248). Similarly, multiplying the
discrete Boltzmann equation (2.285) by P , we obtain
1
(P f ) (P 2 f )
+
= [P F P f ]
(2.296)
t
x

Evaluating P 2 f as 2 u and using (2.291), we get


v
u
1
+ 2
= [v g (u)]
(2.297)
t
x

which is the second equation of the Relaxation System (2.248). The Relaxation System for
the vector conservation laws can also be recovered by a similar procedure. In comparison
with the classical Boltzmann equation, we can see that recovering the moments are simpler
for the Relaxation System and therefore the Relaxation Schemes will be simpler than the
traditional Kinetic Schemes in final expressions.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

52

Governing equations and approximations

2.9.4

Multi-dimensional Relaxation Systems

Consider a scalar conservation law in 2-D


u g1 (u) g2 (u)
+
+
=0
t
x
y

(2.298)

The Relaxation System given by Jin and Xin [8] for the above equation is
u v1 v2
+
+
= 0
t
x
y
u
1
v1
+ 21
= [v1 g1 (u)]
t
x

u
1
v2
+ 22
= [v2 g2 (u)]
t
y

(2.299)

We can write the above Relaxation System in matrix form as


Q
Q
Q
+ A1
+ A2
=H
t
x
y

(2.300)

where

0 0 1
0 1 0
u
1
{v g1 (u)}
Q = v1 , A1 = 21 0 0 , A2 = 0 0 0 and H = 1

1
22 0 0
0 0 0
v2
{v2 g2 (u)}

(2.301)

The matrices A1 and A2 do not commute (A1 A2 6= A2 A1 ) and the above system is not
diagonalizable. This is true in general for the multi-dimensional Relaxation System of Jin
and Xin (see [9]). As it is preferable to work with a diagonal form, Driollet and Natalini
[10] generalize the discrete Boltzmann equation in 1-D to multi-dimensions to obtain a
multi-dimensional Relaxation System as
D

f X
1
f
+
= [F f ]
k
t k=1 xk

(2.302)

For the multi-dimensional diagonal Relaxation System, the local Maxwellians are defined
by [10]
"
#
D
1X
1
u+
FD+1 =
gk (u)
D
k=1
(2.303)
1
Fi = gi (u) + FD+1 , (i = 1, , D)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Relaxation systems for non-linear conservation laws

53

Let us consider the 2-D case for which the local Maxwellians are given by

u
2
1

g
(u)
+
g
(u)
2
3 3 1

3
F1

u
1
2

F = F2 = + g1 (u) g2 (u)
3 3

3
F3
u

1
1
+ g1 (u) + g2 (u)
3 3
3

(2.304)

Using the definitions

u = P f = P F , g1 = P 1 F , g2 = P 2 F , v1 = P 1 f and v2 = P 2 f

(2.305)

we can obtain

0
P = [1 1 1] , 1 =
0

u
3

u
and f =
3
u
3

0 0
0 0 ,
0
2
v1 +
3
1
+ v1
3
1
+ v1 +
3

0 0 0
2 = 0 0
0 0

1
v2
3

v2
3

1
v2
3

(2.306)

Now, multiplying the 2-D discrete Boltzmann equation by P , P 1 and P 2 , we can obtain
the 2-D Relaxation System for (2.298). The 2-D Boltzmann equation is
f
f
f
1
+ 1
+ 2
= [F f ]
t
x
y

(2.307)

Multiplying the above equation by P , we obtain


(P f ) (P 1 f ) (P 2 f )
1
+
+
= [P F P f ]
t
x
y

(2.308)

Using (2.305), the above equation can be simplified to


u v1 v2
+
+
=0
t
x
y

(2.309)

Similarly, multiplying (2.307) by P 1 , we get


1
(P 1 f ) (P 21 f ) (P 1 2 f )
+
+
= [P 1 F P 1 f ]
t
x
y

(2.310)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

54

Governing equations and approximations

and by multiplying (2.307) by P 2 , we obtain


(P 2 f ) (P 2 1 f ) (P 22 f )
1
+
+
= [P 2 F P 2 f ]
t
x
y

(2.311)

Using (2.306), we can evaluate P 21 f , P 1 2 f , P 2 1 f and P 22 f as


P 21 f = 2 (f1 + f3 ) , P 1 2 f = P 2 1 f = 2 f3 and P 22 f = 2 (f2 + f3 )

(2.312)

Using theses expressions, the above two equations get simplified to



v1
 2
 2  1
+
(f1 + f3 ) +
f3 = [g1 (u) v1 ]
t
x
y

(2.313)

 1
 2
 2 
v2
f3 +
(f2 + f3 ) = [g1 (u) v1 ]
+
(2.314)
t
x
y

Using the definitions (2.305) in (2.309), (2.313) and (2.314), after some algebraic manipulation, we obtain the 2-D Relaxation System as
u v1 v2
+
+
=0
t
x
y

1
v1
+
[2 (u + v1 + v2 ) 3v1 ] +
[u + v1 + v2 ] = [g1 (u) v1 ]
t
3 x
3 y

v2

1
+
[u + v1 + v2 ] +
[2 (u + v1 + v2 ) 3v2 ] = [g2 (u) v2 ]
t
3 x
3 y

(2.315)
This Relaxation System is different from the non-diagonalizable Relaxation System of Jin
and Xin (2.299). The above derivation was done only to see the type of multi-dimensional
Relaxation System we obtain from the multi-dimensional discrete Boltzmann equation. It
is not necessary, however, to use the above Relaxation System, and it is sufficient to use the
multi-dimensional discrete Boltzmann equation as a starting point to derive Relaxation
Schemes. For the 2-D cases presented in this report the following equation is used as a
starting point
f
f
f
1
+ 1
+ 2
= [F f ]
(2.316)
t
x
y

which, when expanded, leads to the following equations.


f1
1
f1

=
[F1 f1 ]
t
x

f2
1
f2

=
[F2 f2 ]
t
y

f3
f3
1
f3
+
+
=
[F3 f3 ]
t
x
y

(2.317)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

2.10. A NOTE ON NUMERICAL METHODS

55

For 2-D Euler equations, the expanded form of the discrete Boltzmann equation is given
by
f1
f1
1

=
[F1 f1 ]
t
x

f2
1
f2

=
[F2 f2 ]
t
y

f3
f3
1
f3
+
+
=
[F3 f3 ]
t
x
y

(2.318)

where fi and Fi for each i, (i = 1, 2, 3) are vectors with 4 components each similar to the
corresponding moments U, V1 , V2 , G1 and G2 . The initial condition for f is prescribed
as
f (x, y, t = 0) = F (U (x, y, t = 0))
(2.319)
The ChapmanEnskog type analysis for the above multidimensional Relaxation System
to be a dissipative approximation to the original conservation laws leads to the following
condition (see [10, 42] for details of the derivation).
max (A1 A2 , 2A1 A2 , A1 + 2A2 )
where
A1 =

2.10

G1 (U)
G2 (U)
and A2 =
U
U

(2.320)

(2.321)

A Note on Numerical Methods

In the preceding sections, the governing equations of compressible fluid flows are presented, along with two major alternative formulations which make the task of solving
these equations simpler - the framework of Kinetic Theory of Gases and the framework
of Relaxation Systems. In the later chapters, the numerical methods for solving the compressible fluid flows are presented, based on each of the above framework. While the
traditional numerical methods based on Euler and Navier-Stokes equations are presented
briefly, more emphasis is given in this course for alternative formulations.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

56

Governing equations and approximations

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 3
Analysis of Convection Equations
In this chapter, the convection equations are studied in detail. Starting with the linear
convection equation, the method of characteristics is introduced as a technique for finding
the solution for hyperbolic equations. This is followed by a similar analysis for non-linear
convection equation (inviscid Burgers equation) in which the basic difficulties resulting
from the non-linearity are presented, along with the techniques to deal with them.

3.1

Linear Convection Equation and Method of Characteristics

To understand the nature of the linear convection equation better, let us first find out its
solution. The linear convection equation
u
u
+c
=0
(3.1)
t
x
is a first order wave equation, also called as advection equation. It is a first order hyperbolic
partial differential equation. Hyperbolic partial differential equations are characterised by
information propagation along certain preferred directions. To understand this better, let
us derive the exact solution of (3.1), given the initial condition
u(x, t = 0) = u0 (x)

(3.2)

Let us now use the method of characteristics to find the value of the solution, u(x, t), at
a time t > 0. The method of characteristics uses special curves in the x t plane along
which the partial differential equation (PDE) becomes an ordinary differential equation
(ODE). Consider a curve in the x t plane, given by (x(t), t). The rate of change of u
d
along this curve is given by u (x (t) , t). Using chain rule, we can write
dt
d

dx

u (x (t) , t) =
u (x (t))
+ u (x (t) , t)
(3.3)
dt
x
dt
t
57

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

58

Analysis of Scalar Conservation Laws


t

(x(t),t)

(0,0)

Figure 3.1: Characteristic curve in x-t plane

which can be written simply as


du
u dx u
=
+
dt
t
dt x

(3.4)

The right hand side of (3.4) looks similar to the left hand side of the linear convection
u
u
+ c . Therefore, if we choose
equation (3.1), i.e.,
t
x
c=

dx
dt

(3.5)

du
= 0, which is and ODE! The curve (x (t) , t), therefore, should be
then (3.1) becomes
dt
defined by
dx
= c with x (t = 0) = xo
(3.6)
dt
The solution of (3.6) is given by
x = ct + k
(3.7)
where k is a constant. Using the initial condition x (t = 0) = x0 , we get
x0 = k

(3.8)

x = ct + x0

(3.9)

Therefore
u
u
+c
=0
t
x
u
u
+c
= 0,
(3.1), or simply as the characteristic. Along the characteristic, the PDE,
t
x
du
= 0. The solution of this ODE is u = constant. Therefore, along
becomes an ODE,
dt

The curve x = ct + x0 is called the characteristic curve of the equation

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Linear Convection Equation and Method of Characteristics

59

the characteristic, the solution remains a constant. Thus, if we know the solution at the
foot of the characteristic (at x0 ), which is the initial condition, we can get the solution
anywhere on the characteristic, that is, u (x, t). Using (3.9), we can write
x0 = x ct

(3.10)

u (x, t) = u0 (x0 ) = u0 (x ct)

(3.11)

1
x0
1
ct = x x0 or t = x
or t = x k
c
c
c

(3.12)

Therefore
We can write (3.9) as

where k is a constant. Therefore, we can sketch the characteristics in the x t plane.


1
They are parallel straight lines with slope . For non-linear PDES, characteristics need
c

slo

pe

=1

/c

Figure 3.2: Characteristics for Linear Convection Equation


not be parallel straight lines.
Let us now derive the solution (3.11) in a mathematical way. For the PDE which is
u
dx
u
+c
= 0, let us choose
= c. Its solution
the linear convection eqution given by
t
x
dt
is x = ct + x0 or x0 = x ct. This suggests a transformation of coordinates from (x, t) to
(s, ) where
s = x c and = t
(3.13)

The inverse transformation is given by

x = s + c and t =

(3.14)

Therefore, the transformation is from u (x, t) to u (s, ). Since the function is the same
in different coordinate systems
u (x, t) = u (s, )
(3.15)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

60

Anlysis of Scalar Conservation Laws

We can now write


u t u x
u t u x
d
u
=
+
=
+
(since u = u)
d
t
x
t
x

(3.16)

From (3.14), we have

Therefore

But, from (3.1),

t
x
= 1 and
=c

(3.17)

d
u
u
u
=
+c
d
t
x

(3.18)

u
u
+c
= 0. Therefore
t
x
d
u
=0
d

(3.19)

The initial condition is u (x, 0) = u0 (x). Therefore


u (s, = 0) = u0 (s)

(3.20)

u ( ) = k = constant

(3.21)

u ( = 0) = u0 (s) = k or k = u0 (s)

(3.22)

u (s, ) = u0 (s)

(3.23)

u (x, t) = u0 (s)

(3.24)

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

(3.25)

Solving (3.19), we get


Using (3.20), we obtain

Therefore
Since u = u, we obtain
Using (3.13), we can write

For a time interval t to t + t, we can write


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

(3.26)

If we consider a point xj with neighbours xj1 and xj+1 to the left and right sides of xj
respectively, the foot of the characteristic can fall on the left or right side of xj depending
on the sign of c. Since the information travels a distance of x = ct along the characteristic
during a time t (from t = 0), c is the speed with which information propagates along the
characterstics, and is called characteristic speed or wave speed. Therefore, we can see
that the sign of c determines the direction of information propagation, with information
coming from the left if c > 0 and from right if c < 0.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.2. LINEAR CONVECTION EQUATION AND TRAVELLING WAVES


1
0
1
0

1
0
0
1

1
0
111111
000000
0
1
0000000
1111111
1
0
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
c>0
000000
111111
0 c<0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
000000
111111
0
1
0000000
1111111
111111
1
1111111
000000
0
0000000
000000
111111
0
1
0000000
1111111
000000
0
1
0000000
1111111
00111111
11
0
1
0
1
000000
0
1
0000000
1111111
00111111
11
0
1
0
1

xj1
x

ct ct
xj
x

1
0
1
0

1
0
0
1

61

t+t

xj+1

Figure 3.3: Information propagation for linear convection equation on a 3-point stencil

3.2

Linear Convection Equation and Travelling Waves

The solution of th linear convection equation


u
u
+c
=0
t
x

(3.27)

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

(3.28)

u (x, t) = u0 (x ct)

(3.29)

with the initial condition


is given by
This is known as a traveling wave solution. Traveling waves have two basic features :
1. the underlying profile shape (u0 here) and
2. the speed (c here) at which the profile is translated (along x-axis).

Example
Consider

u
u
+c
= 0 with c = 5
t
x

and
u (x, t = 0) = u0 (x) = ex

The solution is
2

u (x, t) = u0 (x ct) = e(x5t)

This example represents a traveling wave with initial profile ex moving in the positive
x-direction with speed c = 5. The traveling wave solution for this problem at different
times are shown in the following figures.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

62

Anlysis of Scalar Conservation Laws

Figure 3.4: At t = 0 and t = 1

Figure 3.5: At t = 2 and t = 3

3.3

Linear Convection Equation with a Variable Coefficient as Convection Speed

Consider the equation

u
u
+ a(x, t)
=0
(3.30)
t
x
Note that the wave speed, a, is not a constant but is a function of x and t. (3.30) is still
a linear equation as a 6= a(u). The characteristics can be found by
dx
= a(x, t)
dt

(3.31)

x(t = 0) = x0

(3.32)

with initial condition


Since a(x, t) is not a constant, integrating (3.31) with respect to t will not yield the
equation of a straight line.
Z
x = a(x, t)dt
(3.33)
The integration in (3.33) will yield the characteristic curves, after using the initial condition (3.32). Along these characteristic curves, the rate of change of u(x(t), t) is given
by
u u dx
d
(u(x(t), t)) =
+
dt
t
x dt

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.3. LINEAR CONVECTION EQUATION WITH A VARIABLE COEFFICIENT AS CONVECTION

Figure 3.6: Characteristics for a Linear Convection Equation with a Variable Coefficient
as Convection Speed
u
u
d
(u(x(t), t)) =
+ a(x, t)
= 0 (from(3.30) &(3.31))
dt
t
x
Thus, we can see that u is a constant along the characteristics. Will the characteristic
curves intersect? The equation for the characteristic is an ODE, given by

dx
= a(x, t) with x(t = 0) = x0
dt

(3.34)

If a(x, t) is smooth, the curves (3.34) will exist, at least locally, and never intersect without being coincident, by the existence and uniqueness theorem for ordinary differential
equations1 .

Example
u
u
+ t2
= 0, u(x, t = 0) = u0 (x)
t
x
The characteristic curve is given by
dx
= t2
dt

(3.35)

(3.36)

Chorin & MarsdenA Mathematical Introduction to Fluid Mechanics, 3rd edition, 2000, SpringerVerlag, pp 105-106

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

64

Analysis of Scalar Conservation Laws

Integrating, we get

1
x = t3 + k
3
The foot of the characteristic corresponding to u0 (x) can be defined as
x(t = 0) = x0
1
0+k
x0 =
3
k = x0
1 3
t + x0
x =
3

(3.37)

(3.38)

Along the characteristics, we have


du
u u dx
u
u
=
+
=
+ t2
=0
dt
t
x dt
t
x
u = constant along the characteristics. Since u(x, t = 0) = u0 (x0 ), we get
u(x, t) = u0 (x0 )


1 3
u(x, t) = u0 x t
3

3.4

(3.39)

Non-linear Convection Equation

Consider the 1-D inviscid Burgers equation, which is a non-linear convection equation,
given by
u
u
+u
=0
(3.40)
t
x
We can write (3.40) as
u
u
+ a(u)
=0
(3.41)
t
x
where a(u) = u is the convection speed. Since a = a(u), this equation is non-linear. The
characteristics are defined by
dx
= a(u) with x(t = 0) = x0
dt

(3.42)

To integrate (3.42), we need to know u, as a = a(u). But, u is the solution itself, which we
are seeking! Thus, it appears we cannot carry out the integration of (3.42). However, we
can overcome this problem by using the fact that the solution is still a constant along the

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Non-linear Convection Equation

65

characteristic, whatever the characteristic curves will be (which is obtained by integrating


du
(3.42)). To see this, let us evaluate
along the characteristics.
dt
du
u u dx
u
u
(x(t), t) =
+
=
+ a(u)
= 0 (from(3.41) & (3.42))
dt
t
x dt
t
x
Therefore, u = constant along the characteristics. Now we can write (3.42) as ( u is
constant along the characteristics)
dx
= a(u(x, t)) = a(u0 (x0 )) where x(t = 0) = x0
dt

(3.43)

We can now integrate (3.43) to obtain


x = a(u0 (x0 ))t + k

(3.44)

as a(u0(x0 ) is a constant. Using x(t = 0) = x0 , we get x0 = a(u0 (x0 ) 0 + k or k = x0


x = a(u0 (x0 ))t + x0
x0 = x a(u0 (x0 ))t
u(x, t) = u0 (x0 ) = u0 (x a(u0 (x0 ))t)

(3.45)
(3.46)
(3.47)

We can see from (3.45) that characteristics are straight lines, like those for the linear
convection equation. However, unlike for the linear convection equation, the slopes are
t

slope=1/a(u2)
slope=1/a(u1)

x1

slope=1/a(u3 )

x2

x3

Figure 3.7: Typical Characteristics for Non-linear Convection (Inviscid Burgers Equation)
not the same. From the equation (3.45), we get
x x0
=t
a(u0 (x0 ))

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

66

Analysis of Scalar Conservation Laws


t=

1
x0
x k ( where k =
= constant )
a(u0 (x0 ))
a(u0 (x0 ))

1
, may vary from point to point for different values of x0 , as it depends
a(u0 (x0 ))
upon u at x0 . Therefore, the characteristics may either converge and may eventually
intersect or may diverge for this case of non-linear convection equation (inviscid Burgers
equation).
The slope ,

Example
Consider the inviscid Burgers equation
u
u
+u
= 0, < x < , t > 0
t
x
(
0
if x 0
with the initial condition u(x, t = 0) =
1
(
)
e x
if x > 0
The convection speed is given by
a(u0 (x0 )) = u0 (x0 )
x = u0 (x0 )t + x0
(
0 t + x0 = x0 if x 0
x =
1
e x0 t + x0 if x > 0


1
=e
As x0 moves to right, slope
u0 (x0 )

1
x0

decreases to zero.

u(xo,0) = 0

x
u(xo,0) = exp(1/xo)

Figure 3.8: Burgers equation example : Characteristics

u(x, t) =

0
1
x0

if x 0

if x > 0 ( where x = x0 + e

1
x0

t)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.5. GRADIENT CATASTROPHE

3.5

67

Gradient Catastrophe

In the case of linear convection equation, we could obtain the exact solution with the
help of the method of characteristics by using the value of the solution at the foot of a
characteristic. Even for the non-linear convection equation, this strategy of following a
characteristic curve (x, t) back to its foot (x0 , t = 0) can be used as long as the characteristics do not intersect. If the characteristics intersect, this strategy breaks down.
The breakdown of the solution is related to the phenomenon called Gradient Catastrophe.
The gradient catastrophes are precursors to the formation of the discontinuous solutions
known as the shock waves.
Consider the linear convection equation
u
u
+c
= 0, < x < , t > 0
t
x

(3.48)

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

(3.49)

with initial condition


The characteristics curves for this case (x = ct + x0 ) are straight lines. The value of the
solution is constant along the characteristics. We can represent both these facts on an
(x t u) diagram as shown in the following figure. on the (x t u) diagram, the height
u

characteristic

Figure 3.9: Constant profile for Linear Convection Equation

of the surface is represented by u and is constant along a characteristic. We also know


that for the linear convection equation the characteristics are parallel. If we consider,
for example, two parallel characteristics representing the two end points of the solution
profile u(x, t), then, from the (x t u) diagram for the linear convection equation, the
solution profile
u(x, t = 0)

 seems to get translated without change as t increases. The
du
u
gradient
= lim
always remains constant for this case of linear convection.
dx x0 x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

68

Analysis of Scalar Conservation Laws


u

y
y
y

parallel
characteristics
x

Figure 3.10: Constant gradient for Linear Convection Equation

Now, let us consider the case of non-linear convection equation, the Burgers equation,
given by
u
u
+u
= 0, < x < , t > 0
(3.50)
t
x
with initial condition
u(x, t = 0) = u0 (x)
(3.51)
The characteristic curves for this non-linear case, x = a(u(x0 ))t + x0 , are straight lines
but need not be parallel. Let us consider the case when they intersect, at some time tc ,
the critical time. As t increases, if we follow the solution along two characteristics that
u

y
x

y y
x x

intersecting
characteristics

Figure 3.11: Gradient blowing up on intersecting characteristics for Burgers Equation

intersect, along each characteristic the solution is constant, but the slope of the solution

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.5. GRADIENT CATASTROPHE

69


du
u
profile changes. The gradient
= lim
keeps on increasing as t increases and
dx x0 x
becomes infinite as t approaches tc , when the characteristics intersect. This phenomenon
is called Gradient Catastrophe.
Let us now observe the gradient catastrophe in the x u plane. Recall that for the
linear convection equation, the solution profile u(x, t = 0) simply gets translated with a
speed c.
u

u(x,t=0)

u(x,t1)

u(x,t2)

ct1
ct2

Figure 3.12: Profile translation for linear convection equation

dx
dx
The characteristic is defined by the equation
= c. Thus
represents the convecdt
dt
dx
(= a(u)) is not constant and changes at different
tion speed. In the non-linear case,
dt
points on the solution profile.
u
u3
u2

u1

u=0

speed = a(u3 )
speed = a(u2)
speed = a(u1 )

Figure 3.13: Different speeds on the profile for Burgers Equation

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

70

Analysis of Scalar Conservation Laws

Consider the Burgers equation for which a(u) = u and consider an initial profile which
is monotonically increasing. Therefore as u increases, a(u) increases.
u
t=0

t=t1

t=t 2

large speed

small speed
x

Figure 3.14: Formation of expansion waves for Burgers Equation


The larger values of u lead to larger speeds and smaller values of u lead to smaller
speeds. Therefore the upper parts of the profile move faster than the lower parts of the
profile and the profile expands or gets rarefied after some time. This phenomenon leads
to expansion waves or rarefaction waves.
Now, consider an initial profile which is monotonically decreasing, coupled with a
monotonically increasing profie of the previous example. On the right part of the profile

u
t=0

t=t1

t=t2

multivalued
unphysical
solution
t=t3

x
Figure 3.15: Multivalued unphysical solution for Burgers Equation
which is monotonically decreasing, as the upper part overtake lower part (due to larger
speed on the top), the gradient becomes infinite and the solution becomes multi-valued.
Let us now recollect the basic features of a function. A function is rule that assigns
exactly one real number to each number from a set of real numbers. Such a rule is often

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.5. GRADIENT CATASTROPHE

71

given by an algebraic and/or trigonometric expression. A continuous function has no


gaps or breaks at any point on its profile. Therefore, discontinuities are not allowed for a
continuous function.
For the non-linear case and for an initial profile which is monotonically decreasing,
the function may become multi-valued after some time. Then, the solution ceases to be a
function, by definition. Discontinuities may appear and the solution becomes multivalued.
Multivalued functions are avoided on physical grounds. Imagine, for example, the density
of a fluid at a point having more than one value at any given time, which is unphysical.
Thus, the method of characteristics (on which this analysis is based) fails after some
time for the non-linear case. However, the physical process represented by the non-linear
equation may continue after that time. We require a different mathematical approach for
obtaining the solution beyond such a time.
In the x t plane, the intersecting characteristics for the non-linear case may look like
those in the following figure.
t

Figure 3.16: Intersecting characteristics for Burgers Equation


Breaking Time: For non-linear convection equation, the critical time tc , when the gradient
catastrophe begins to occur, is called breaking time (also denoted by tb ). We can calculate
tc by examining the gradient of the solution.
Consider the Burgers equation
u
u
+u
= 0, < x < , t > 0
t
x

(3.52)

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

(3.53)

with initial condition


The value of the solution is constant along the characteristics
u(x, t) = u0 (x)

(3.54)

Differentiating both sides of (3.54), we get


u0 (x0 )

u(x, t) =
x
x0

x0
x

(3.55)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

72

Analysis of Scalar Conservation Laws

by chain rule. To evaluate the right hand side of (3.55) we need the relationship of x0 to
x, which is given by equation for a characteristic as
x = a(u0 (x0 ))t + x0

(3.56)

where a(u) is a convection speed. Note that (3.56) is an implicit equation in x0 . Therefore,
let us use the implicit differentiation to obtain

(x) =
[a(u0 (x0 ))t + x0 ]
x
x

x0
1 = t
[a(u0 (x0 ))] +
x
x
x0 x0

+
[a(u0 (x0 ))]
1 = t
x0
x
x




x0
1 =
t
{a(u0 (x0 ))} + 1
x
x0

x0
=
x

1


{a(u0 (x0 ))}


1+t
x0

(3.57)

Substituting, (3.57) in (3.55), we get

u0 (x0 )

x0

[u(x, t)] = 

x
{a(u0 (x0 ))}
1+t
x0

(3.58)

When the gradient catastrophe occurs, as the gradient becomes infinity, the denom
inator in (3.58) should become zero. If
{a(u0 (x0 ))} 0, the denominator in (3.58)
x0

{a(u0 (x0 ))} < 0 for some x0 , then the denominator can
never approaches zero. If
x0
become zero. Equating the denominator to zero, we get



{a(u0 (x0 ))} = 0


1+t
x0

t
{a(u0 (x0 ))} = 1
x0
1
t =

{a(u0 (x0 ))}


x0

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.5. GRADIENT CATASTROPHE

73

Therefore the critical time (breaking time) is


tb = tc =

(3.59)

{a(u0 (x0 ))}


x0

The value of x0 which produces earliest blow-up time is that value of x0 which makes the
derivative in the denominator most negative.

Example
Consider the Burgers equation
u
u
+u
= 0, < x < , t > 0
t
x
with initial condition
u(x, t = 0) = ex

(3.60)

(3.61)

Plot the characteristics and determine the breaking time.


The characteristics are given by
x = a(u0 (x0 ))t + x0
Here, a(u) = u
x = u0 (x0 )t + x0
2

x = ex0 t + x0 ( u(x, 0) = ex )

(3.62)

a(u0 (x0 )) = u0 (x0 ) = ex0





h x0 2 i ew w
( where w = x0 2 )
[a(u0 (x0 ))] =
=
e
x0
x0
w x0

2
[a(u0 (x0 ))] = ew (2x0 ) = 2x0 ex0
x0
1
1
=
tc =
2
2x0 ex0
2x0 ex0 2

(3.63)

Let us denote the derivatives by f (x0 ).


f (x0 ) =

2
[a(u0 (x0 ))] = 2x0 ex0
x0

(3.64)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

74

Analysis of Scalar Conservation Laws


t
2

1.5
tb
1

0.5

Figure 3.17: Characteristics for Burgers equation example


2

ex0

2 x0
2
2
f (x0 ) = 2x0
2ex0
= 2x0 (2x0 )ex0 2ex0 1
x0
x0
x0

2
2
2
f (x0 ) = 4x0 2 ex0 2ex0 = ex0 (4x0 2 2)
x0

2
f (x0 ) to zero, to obtain the maximum, we get ex0 (4x0 2 2) = 0.
Equating
x0
4x0 2 2 = 0
1
or x0 2 =
2
1
x0 =
2

(3.65)

1
If we take x0 = in (3.65), we do not get the most negative values of f (x0 ). Therefore,
2
1
we take x0 = + .
2
1
from (3.63)
tc =
2x0 ex0 2
1
tc =
   1 2

2
2 12 e
1
tc =
1
2 e( 2 )
r
r
e
2.718281828
=
= 1.165821991 = 1.17 1.2
tc =
2
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.6. PIECE-WISE SMOOTH SOLUTIONS AND DISCONTINUITIES FOR NON-LINEAR CONVEC

3.6

Piece-wise Smooth Solutions and Discontinuities


for Non-linear Convection Equations

We have seen that for non-linear scalar conservation laws the characteristics can intersect and result in the phenomenon of gradient catastrophe. The solution
of a non-linear scalar conservation law can be found using the method of characteristics
only till the time of a gradient catastrophe, that is, till the breaking time. The method
of characteristics temporarily stops when a gradient catastrophe occurs. However, the
physical process modeled by the conservation law does not necessarily end at the breaking time. To extend the method of finding the solution beyond the breaking time, we
need to introduce the concepts of piece-wise smooth solutions and discontinuous solutions. The multi-valued solution is avoided by the introduction of a jump discontinuity
with piece-wise smooth solutions on both sides of the jump discontinuity.
Consider a non-linear scalar conservation law
u g(u)
+
= 0, < x < , t > 0
t
x

(3.66)

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

(3.67)

with the initial condition


Suppose that (xs (t), t) is a curve in the x-t plane which divides the x-t plane into two
parts, R+ and R , with R+ representing the region to the right of the (xs (t), t) curve
and R representing the region to the left of the (xs (t), t) curve. The curve (xs , (t))
represents the jump discontinuity and the regions R and R+ represent the regions of
piece-wise smooth solutions. A piece-wise smooth solution of (3.66) and (3.67) with a

Figure 3.18: Piecewise smooth solution with a discontinuity

jump discontinuity along (xs (t), t) has the following features.


1. The function u(x, t) has continuous first derivatives

u
u
and
in R+ and R .
t
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

76

Analysis of Scalar Conservation Laws


u g(u)
+
= 0 for all (x, t) in R with u(x, 0) = u0 (x)
t
x
u g(u)
+
= 0 for all (x, t) in R+ with u(x, 0) =
for x < xs (0) and also satisfies
t
x
u0 (x) for x > xs (0)

2. The solution u(x, t) satisfies

3. At every point (x0 , t0 ) on the curve (xs (t), t), the limits
uL =

lim

(x,t)(x0 ,t0 )

u(x, t) in R and uR =

lim

(x,t)(x0 ,t0 )

u(x, t) in R+

both exist and are not necessarily equal.


A typical (u x t) plot for such a function is as shown below. The jump discontinuity

Figure 3.19: x-t-u plot of a shock wave


at xs (t) may move with time. In (u x) plane, such a function with a jump discontinuity
is shown in the following figure. Such a jump discontinuity is called as a shock wave.

Figure 3.20: A moving shock wave


Since such a shock wave develops when the characteristics converge, thereby leading to
a compression of the solution, a shock wave is a possible result of a compression wave.
Note that even if the initial profile of the solution is totally smooth, jump discontinuities

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.7. WEAK SOLUTIONS AND INTEGRAL FORMS OF CONSERVATION LAWS 77


may develop after some time for a non-linear conservation law, thus creating necessity
for a piece-wise smooth solution. Compare this phenomenon to the convection process
with a linear convection equation, where no shock will be formed if the initial profile is
smooth. A linear convection equation can only transport an initial discontinuity and does
not lead to the development of a new discontinuity. A non-linear convection equation, in
contrast, may lead to the development of shocks, even we if start with a totally smooth
initial solution profile in the entire physical domain.

3.7

Weak Solutions and Integral Forms of Conservation Laws

Discontinuities may develop in the solution of non-linear conservation laws, even if the
initial profile is smooth. Even for the case of a linear conservation law, an initial discontinuity in the solution may propagate in time. Thus, there is a need for considering
discontinuous solutions for conservation laws. Such a generalization of the concept of solutions (from totally smooth solution to piece-wise smooth solutions with discontinuities)
necessiates the introduction of what is known as a weak form of a conservation law.
A differential form of a conservation law
u g(u)
+
= 0, < x < , t > 0
t
x

(3.68)

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

(3.69)

with the initial condition


and
is valid only for totally smooth functions u(x, t) as we assume that the derivatives u
t
u
exist everywhere. However, for a piece-wise smooth solution with a jump discontinuity
x
on the curve (xs (t), t), this assumption is not valid on that curve and, therefore, we cannot
use (3.68) and (3.69) everywhere.
To overcome this difficulty let us integrate (3.68) over a rectangle q = [x1 , x2 ] [t1 , t2 ].
Z

t2

t1

x2

x1

u g(u)
+
t
x

dxdt = 0

(3.70)

(x, t) dxdt = 0

(3.71)

We can write (3.70) as


Z

u g(u)
+
t
x

where
(x, t) =

1 if (x, t) Q
0 if (x, t)
/Q

(3.72)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

78

Analysis of Scalar Conservation Laws

The modern theory of PDEs has taken this integrated version of the equation (3.71)
and (3.72) one step further, replacing the discontinuous function (x, t) of (3.72) by a
smooth test function (x, t). This leads the procedure of defining solutions in sense of
distributions. The family of test functions is assumed to be differentiable at least once
(C 1 functions) and have compact support, vanishing outside some rectangle.
The weak form of u
+ (g(u))
= 0 is an alternative integral form of the conservation
t
x
law. The weak form uses test functions which have the following features. A test function
(x, t) is a real valued function for which
1. the derivatives

and
exist and are continuous for all (x, t) and
t
x

2. there is an area of compact support (a circle) in the x t plane such that (x, t) = 0
in all (x, t) = 0 in all (x, t) on or outside this area of compact support.
An example of a test function is



1

exp
if x2 + t2 < 1
(x, t) =
1 x2 t2

0
if x2 + t2 1

(3.73)

Figure 3.21: A typical test function

Let us now derive the weak form for a scalar conservation law given by
u g(u)
+
= 0, < x < , t > 0
t
x

(3.74)

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

(3.75)

with the initial condition


The solution of the differential form of conservation law (3.74),(3.75), u(x, t), is called
the classical solution. If we multiply the solution by the test function (x, t), then the

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

3.7. WEAK SOLUTIONS AND INTEGRAL FORMS OF CONSERVATION LAWS 79


product u(x, t)(x, t) will be zero at every point (x, t) on or outside of the area of compact
support in the x t plane. Multiplying (3.74) by (x, t) and integrating over all possible
x and t, we get

Z Z 

u(x, t)(x, t) + g(x, t)(x, t) dxdt = 0


(3.76)
t
t
0
or
I1 + I2 = 0
where

(3.77)

u(x, t)(x, t) dxdt


I1 =
t
0

Z Z 

I2 =
g(x, t)(x, t) dxdt
x
0
Z

I1 =

u(x, t)(x, t)dt dx (changing the order of integration)


t


Z
t

u(x, t)(x, t) t0

Z

I1 =
(

uv = uv

(3.78)
(3.79)

u(x, t) (x, t)dt dx


t

vdu; u & v

u
; integration by parts)
x

As t , (x, t) = 0; u(x, t)(x, t) = 0, as t


As t 0, u(x, t) = u0 (x), by initial condition; u(x, t)(x, t) = u0 (x)(x, 0), as t 0

I1 =

[0 u0 (x)(x, 0)] dx

I1 =

[u0 (x)(x, 0)] dx

I2 =




u(x, t) (x, t) dxdt


t




u(x, t) (x, t)dt dxdt


t

(3.80)
(3.81)

Similarly,

I2 =



g(x, t)(x, t) x
x

g(x, t)(x, t) dxdt


t

Z

g(x, t) (x, t)dx dt

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

80

Analysis of Scalar Conservation Laws


(

uv = uv

vdu; u &v

g
; integration by parts)
x

As x , (x, t) = 0; g(x, t)(x, t) = 0, as x


As x , (x, t) = 0 g(x, t)(x, t) = 0, as x
I2 = [0 0]
From (3.77), (3.81) and (3.82)




g(x, t) (x, t) dxdt


x

(3.82)

I1 + I 2 = 0

Z Z
(x, t)
(x, t)
u(x, t)
u0 (x)(x, 0)dx

g(x, t)
dxdt
dxdt = 0
t
x

0

Z
Z Z 
(x, t)
(x, t)
+ g(x, t)
u0 (x)(x, 0)dx = 0
(3.83)
dxdt +
u(x, t)
t
x

This is the weak form of the conservation law. Note that the weak form (3.83) does not
require derivatives of u(x, t). Hence, it is valid for discontinuous values of u(x, t) also. It
can be shown that any weak solution also satisfies the integral conservation laws 2 .
Let us now consider the integral form of conservation laws, which can also be derived
from the weak form (3.83) by using

1 if (x, t) Q
==
0 if (x, t)
/Q
The integral form of the conservation law considered here is given by
Z x2

d
u(x, t)dx = g(x1 , t) g(x2 , t)
dt x1

(3.84)

Note that (3.84) can also be derived directly by integrating the differential form over
[x1 , x2 ]. The advantage of the integral form over the differential form is that discontinuous
solutions are allowed.

See Ben-Artzi & Fallovitz, Generalized Riemann Problems in CFD, 2003, Cambridge University Press
and LeVeque, FVMs for Hyperbolic Problems, 2003, Cambridge University Press

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Shock waves and Rankine-Hugoniot (jump) condition

3.8

81

Shock Wave Solution of a Non-linear Convection


Equation and the Rankine-Hugoniot (Jump) condition

Consider a non-linear convection equation


u g(u)
+
= 0, < x < , t > 0
t
x

(3.85)

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

(3.86)

with the initial condition


Suppose that the characteristics begin intersecting at the breaking time tc , which we will
assume as tc = 0. We can divide the region of intersecting characteristics into two parts

Figure 3.22: Intersecting charateristics and a shock curve

using a curve (xs (t), t) in the x t plane to separate the characteristics approaching from
the left and the right. While many such curves can be drawn, the conservation law chooses
only one curve (xs (t), t) out of all possible choices. Let us now find it out.

Rankine-Hugoniot (jump) condition


The differential form of the conservation law is given by
u g (u)
+
=0
t
x

(3.87)

If the shock waves (discontinuities) are present, then we need to use the integral form of
the conservation law, given by
Z
d x2
u (x, t) dx = g (u (x1 , t)) g (u (x2 , t))
(3.88)
dt x1

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

82

Analysis of scalar conservation laws

for a domain [x1 , x2 ]. Let us assume that the shock is located between x1 x2 , for two times
t and t + t. During t, the distance traveled by the shock is given by
x = st

(3.89)

from xi to xf . Let the values of u before and after the shock be uL and uR . R
x
Let us now evaluate the left hand side of the equation (3.88). Note that x12 udx repZ
d x2
resents the area under the graph between x1 and x2 (see Fig.3.23). Therefore,
udx
dt x1
represents the time rate of change of the above area during t. Let us now estimate the

u
uR

u(t)
D

uL

u(t + t)
G

E
F
K
A
xf
x1
xi
x2
Figure 3.23: Moving shock wave

area under the graphs, both for u(x, t) and u(x, t + t).

Area under the graph at time t


Z

x2

x1

Therefore

u(x, t)dx = uR (xi x1 ) + uL (xf xi ) + uL (x2 xf )


|
{z
} |
{z
} |
{z
}
area ABCE

area EDGF

(3.90)

area F GJK

x2

x1

u(x, t)dx = uR (xi x1 ) + uL st + uL (x2 xf )

(3.91)

Area under the graph at time t + t


Z

x2

x1

u(x, t + t)dx = uR (xi x1 ) + uR (xf xi ) + uL (x2 xf )


{z
} |
|
{z
} |
{z
}
area ABCE

area ECHF

(3.92)

area F GJK

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Shock waves and Rankine-Hugoniot (jump) condition


Therefore

83

x2

x1

u(x, t)dx = uR (xi x1 ) + uR st + uL (x2 xf )

(3.93)

Thus, the change in the area under the graph during t is given by
Change in area = [uR (xi x1 ) + uR st + uL (x2 xf )]
[uR (xi x1 ) + uL st + uL (x2 xf )]
= (uR uL ) st
The left hand side of the equation (3.88) now can be evaluated as
Z
d x2
(uR uL ) st
change in area during t
=
= s (uR uL )
udx =
dt x1
t
t

(3.94)

(3.95)

Therefore,the equation (3.88) becomes


s (uR uL ) = gR gL

(3.96)

which is simply written as

g
dxs
=
(3.97)
dt
u
This is the Ranking-Hugoniot (jump) condition. Therefore, of all the possible curves
(xs (t), t) separating R and R+ , only that curve which satisfies the jump condition
(3.97) will be picked up by the conservation law. A piece-wise smooth solution u(x, t) of
u
g(u)
+
= 0 with a jump along the a curve xs (t) satisfying the R-H condition is
t
x
called shock wave and the curve xs (t) is called shock path. Note that the jump condition
(3.97) had been obtained in the Fluid Dynamics much before the concept of a weak solution is introduced in applied mathematics. It is based on conservation condition, which
is also at the root of the above mathematical derivation. To understand the R-H condis=

Figure 3.24: Conservation of the flux across a shock

tion better, consider a stationary shock s =

dxs
= 0. Therefore (3.97) gives g = 0 or
dt

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

84

Analysis of scalar conservation laws

gL = gR , where L and R denote the left and the right states respectively. This means,
across a shock, the total flux g(u) is conserved, though there is a jump in the
1
conserved variable u. For Burgers equation, since g(u) = u2 , we obtain
2

1 2
1
u 12 u2L
(uR uL )(uR + uL )
dxs
2 R
2
=
=
dt
(uR uL )
(uR uL )
dxs
1

=
(uR + uL )
dt
2
or
uL + uR
(3.98)
s =
2
dxs
If we choose uL = uR , then s =
= 0. Thus, the shock can be made stationary by
dt
choosing uL = uR .

Example
1
u g(u)
+
= 0, g(u) = u2 , < x < , t > 0
t
x
2
The initial condition is

1 if x 0
u(x, 0) =
0 if x > 0

(3.99)

The characteristics are x = a(u0 (x0 ))t + x0


x = 0 t + x0 or x = x0 for x > 0
and
x = 1 t + x0 or x = t + x0 for x 0
Thus, the characteristics intersect and we need to introduce a shock. The R-H condition
is
dxs
1
1
1
= (uL + uR ) = (0 + 1) =
dt
2
2
2
Take initial condition:
x0 = 0

1
xs = t
2

The solution is given by

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Shock waves and Rankine-Hugoniot (jump) condition

85

Figure 3.25: Intersecting characteristics

Figure 3.26: Shock line with characteristics

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


1
u(x, t) = u0 (x t)
2

1 if x < 2 t
u(x, t) =

0 if x > t
2

The solution is shown in the following figures at different times.

Figure 3.27: Moving Shock Wave

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

86

3.9

Analysis of scalar conservation laws

Expansion Waves with Non-linear Convection Equations

Consider a non-linear, scalar conservation law


u g(u)
+
= 0, < x < , t > 0
t
x

(3.100)

uL

(3.101)

with the initial condition


u(x, t = 0) =

Let

uR

if x < xL
if x > xR

uL < uR with uL > 0 & uR > 0

(3.102)

xL = xR = xLR

(3.103)

Let
The initial condition can be plotted as shown below. The conservation law (3.100) can

Figure 3.28: Initial Condition for Non-linear Convection Equation


be written as

u
u
+ a(u)
=0
t
x

(3.104)

where

g(u)
u
The equation for the characteristics is given by
a(u) =

dx
= a(u)
dt

(3.105)

(3.106)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Expansion waves with non-linear convection equations

87

Since the solution is constant along the characteristics, for the solution u(x, t) at any
point on the x t plane, we can use the value at the foot of the characteristic on which
the point lies. Note that the value at the foot of the characteristics are nothing but the
initial conditions. Therefore we can write
dx
= a(u0 (x0 ))
dt

(3.107)

Let us now use and (3.101) in (3.107) to obtain



dx
a(uL ) if x0 < xL
=
a(uR ) if x0 > xR
dt

(3.108)

Integrating (3.108), we get


x = a(uL )t + kL for x0 < xL
x = a(uR )t + kR for x0 > xR

(3.109)

since a(uL ) and a(uR ) are constants, the characteristics are straight lines. Let us now
determine the constants kL and kR . For t = 0 and x = xL , (3.109) gives xL = a(uL ) 0+kL .
kL = xL . For t = 0 and x = xR , (3.109) gives xR = a(uL ) 0+kR . kR = xR . Therefore,
(3.109) gives

x = a(uL )t + xL for x0 < xL


(3.110)

x = a(uR )t + xR for x0 > xR

Since we have chosen xL = xR = xLR , we get the following plot for characteristics. We can

Figure 3.29: Characteristics with a gap


find that a part of the x t plane is not filled up with any characteristics. Consequently,
we cannot determine the solution in that region using the method of characteristics. To
get the correct solution in that region, let us first take xL < xR and xR xL = x, a
finite value which will shrink to zero later. Let us have a linear variation of the initial
condition u0 (x) in the region xL < x < xR . The initial condition now is given by

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

88

Analysis of scalar conservation laws

Figure 3.30: Modified Initial Condition for Non-linear Convection Equation

u(x, 0) =

uL
uL +

if x xL

(uR uL )
(x xL )
(xR xL )
uR

if x xR

dx
= a(u), we obtain
dt

a(uL )



(uR uL )
dx
=
(x xL )
a uL +

dt
(xR xL )

a(uR )

Therefore, from

if xL < x < xR

if xL < x0 < xR
if x0 xR

a(uL )t + kL

for x0 xL
for xL < x0 < xR

x=

for x0 xR

a(uR )t + kR

or
x=

(3.112)


(uR uL )
(x xL ) t + kLR
x = a uL +
(xR xL )


(3.111)

if x0 xL

Therefore, the equations of the characteristics are


x=

a(uL )t + kL

if x0 xL

a (uLR ) t + kLR

if xL < x0 < xR

a(uR )t + kR

if x0 xR

(3.113)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Expansion waves with non-linear convection equations

89

with
uL < uLR < uR

(3.114)

At t = 0 and x = xL , we get kL = xL . Similarly, at t = 0 and x = xR , we get kR = xR .


xL < kLR < xR
Note also that a(uL ) < a(uLR ) < a(uR ) for this case. The characteristics (3.113) are all
straight lines with the left region having parallel characteristics with a slope a(u1L ) , the
right region having parallel characteristics with a slope a(u1R ) and the middle region having
diverging characteristics with slopes having values between the above two. There is no

Figure 3.31: Characteristics with Modified Initial Condition for Non-linear Convection
Equation
gap in the plot now. Let us now shrink x to zero, making xL and xR approach each
other. First, let us get the solution for a finite x. Using (3.113) and (3.111), we can
write

u
if
x

a(u
)t
+
x

L
L
L

(uR uL )
(x xL ) if a(uL )t + xL < x < a(uR )t + xR
uL +
u(x, t) =

(xR xL )

uR
if x a(uR )t + xR

(x xL )

uL
if
a(uL )

(uR uL )
(x xL ) (x xR )
uL +
(x xL ) if a(uL ) <
&
< a(uR )
or u(x, t) =

(xR xL )
t
t

(x

x)
R

a(uR )
uR
if
t
(3.115)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

90

Analysis of scalar conservation laws

The second equation is


(uR uL )
(x xL )
(xR xL )
(x xL )
(x xR )
( if a(uL ) <
&
< a(uR ))
t
t

u(x, t) = uL +

which is not easy to handle. Therefore, let us take the characteristic equation in the
middle region as
x = xL + a(u)t (for a(uL ) <

(x xR )
(x xL )
&
< a(uR ))
t
t

where a(u) is varying from a(uL ) to a(uR ). Therefore


a(u) =

(x xL )
(x xL )
(x xR )
(for a(uL ) <
&
< a(uR ))
t
t
t

is the second equation.


u(x, t)

(x xL )
a(uL )
if
t

uL

a(u(x, t)) =

(x xL )
t

u(x, t)

uR

if a(uL ) <

(x xL )
(x xR )
&
< a(uR )

t
t

(x xR )

a(uR )
if
t

(3.116)

Now, let xL xR . (x xL ) x and (x xR ) x. Therefore, the solution is given


by

u(x, t) = uL
if a(uL )

x
x
x
a(u(x, t)) =
if a(uL ) < & < a(uR )
(3.117)
t
t
t

u(x, t) = uR
if a(uR )
t
The above intuitive approach suggests that the solution is a function of xt in the middle
region, where the gap is to be filled up. In the left and right regions, the solution is a
constant depending on the value of xt . Therefore, we can look for a similarity solution
u(x, t) = ( xt ). Let us now obtain such a solution in a mathematically rigorous way.
u(x, t) = (w) where w =

x
t

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Expansion waves with non-linear convection equations


   x   x   x 
u
w
x

=
=
and
t
w t
t
t2
t2
t
x 1
g(u) u w
a(u)  x 
g(u)
=
= a(u)
=

x
u w x
t t
t
t
u g(u)

+
= 0 gives
t
x

  
x
a(u)  x 
x

+
=0
t2
t
t
t
xi
1 x h

a(u)
=0
t t 
t
h
xi
x
= 0 or a(u)
=0
Either
t
t

91

(3.118)

First Possibility :

u(x, t) =

x
t

x
t

= 0 or

x
t

= constant

= K in the middle region, leading to the solution as

u
if
x

a(u
)t

L
L

K if a(uL )t < x < a(uR )t


u(x, t) =

uR
if x a(uR )t

(3.119)

The above solution (3.119) means that there are two shocks (jumps), one from uL to K
at x = a(uL )t and another from K to uR at x = a(uR )t. Across x = a(uL )t, the R-H
condition gives
dx
g
g(K) g(uL )
=
=
(3.120)
dt
u
K uL
For Burgers equation
1
1
( K 2 uL 2 )
dx
g
1
2
=
= 2
(3.121)
= (K + uL )
dt
u
K uL
2
dx
= a(uL ) = uL for Burgers equation
(3.122)
But from x = a(uL )t,
dt
The above two values need not be equal for all possible values of K. That means the R-H
condition is not satisfied at x = a(uL )t. Similarly,
we can show that R-H condition is not
x
satisfied at x = a(uR )t also. Therefore,
= constant is not a correct solution in the
t
middle region.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

92

Analysis of scalar conservation laws

Figure 3.32: Unphysical Expansion Shocks for Non-linear Convection Equation

Second Possibility :
h

Thus, the solution is

a(u)

u(x, t)

xi
x
= 0 or a(u) =
t
t

= uL
x
t

a(u(x, t)) =
u(x, t)

(3.123)

if x a(uL )t
if a(uL )t < x < a(uR )t

= uR

if x a(uR )t

uL

if x a(uL )t

(3.124)

which is written as

u(x, t) =

x
a1 ( )
t

uR

if a(uL )t < x < a(uR )t

(3.125)

if x a(uR )t

x
in the middle region.
t
In the above solution, the characteristics now fill up the entire region in the x t plot,
with a centered expansion fan, also referred to as a centered rarefaction fan in the middle
region where there was a gap before. If we observe the u x plot, we can see that the
initial jump in the solution is broken down and the solution now has a smooth variation.
The solution profile gets stretched out or expanded or rarefied, and hence this phenomenon
is called as an expansion fan or a rarefaction fan.
For Burgers equation, as a(u) = u or a1 (u) = u, u(x, t) =

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Expansion waves with non-linear convection equations

93

Figure 3.33: Centered Expansion Fan for Non-linear Convection Equation

Figure 3.34: Evolving Expansion Fan for Non-linear Convection Equation

Example
u g(u)
+
= 0, < x < , t > 0
t
x

0 if x 0
u(x, 0) =

1 if x > 0

Non-conservative form is

u
u
+ a(u)
= 0, a(u) = u.
t
x

dx
= a(u)
dt
x = a(u0 (x0 ))t + x0

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

94

Analysis of scalar conservation laws

x =
The solution is

0 t + x0 = x0

if x0 0

1 t + x0 = t + x0

if x0 t

x
u(x, t) =
t

if x 0
if 0 < x < t
if x t

Figure 3.35: Expansion fan at different times for Non-linear Convection Equation

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Non-unique solutions of non-linear convection equations

3.10

95

Non-unique Solutions of Non-linear Convection


Equations

Consider Burgers equation


u g(u)
1
+
= 0, g(u) = u2 , < x < , t > 0
t
x
2
with the initial condition

0 if x 0
u(x, t = 0) =

1 if x > 0

We found out that the solution leading

u(x, t) =

to a rarefaction wave is
0

if x 0

x
t

if 0 < x < t

if x t

Let us now check whether another different solution also satisfies the conservation equation
and the other necessary conditions required to have a physically meaningful solution.
Instead of a rarefaction wave, let us prescribe two shocks as shown below. Let the solution

Figure 3.36: Prescribing two shocks instead of an expansion fan


be given by

u(x, t) =
k

1
if x kt
2
if

1
1
kt < x < (k + 1)t
2
2
1
if x (k + 1)t
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

96

Analysis of scalar conservation laws

where k is a constant with 0 < k < 1.

1
In the region x < kt :
2
u(x, t) = 0

u
u
= 0&
=0
t
x

u
u
+u
=0
t
x

Thus, the equation is satisfied.

In the region

1
1
kt < x < (k + 1)t :
2
2
u(x, t) =

x
u
= 2
t
t

x
t

u
1
=
x
t

u
x
x1
u
+u
= 2 +
t
x
t
tt

u
x
x
u
+u
= 2 + 2 =0
t
x
t
t

Thus, the equation is satisfied.

1
In the region x > (k + 1)t :
2
u(x, t) = 1

u
u
= 0&
=0
t
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Non-unique solutions of non-linear convection equations

97

u
u
+u
=0
t
x

Thus, the equation is satisfied. Therefore, the prescribed solution satisfies the conservation
equation in all the three regions. The solution given contains three regions of constants,
with two discontinuities in between. Let us now check if the given solution also satisfies
the R-H conditions at the discontinuities.

1
R-H Condition at x = kt :
2
1
1
( k 2 02 )
g
dx
2
=
= 2
dt
u
k0
1 2
k
k
dx
= 2 =

dt
k
2
dx
1
1
= k
From x = kt &
2
dt
2
Therefore, the R-H condition is satisfied.

1
R-H Condition at x = (k + 1)t :
2
dx
1
=
(k + 1)
dt
2
1
1
( 12 k 2 )
g
dx
2
=
= 2
From R-H condition,
dt
u
1k
dx
1 (1 + k)(1 k)
1

=
= (k + 1)
dt
2
(1 k)
2
and the jump condition is satisfied here too.
Thus, we can see that this unphysical solution, with shocks instead of an expansion,
not only satisfies the conservation equation, but also is consistent with the RankineHugoniot jump conditions. Thus, this is a solution which is mathematically admissible,
but physically not admissible, as expansion shocks are not admissible. This problem
has arisen because the non-linear conservation equations allow more than one solution
mathematically and this non-uniqueness has to be dealt with additional criteria. In the
next section, we shall discuss such additional criteria, called entropy conditions.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

98

Analysis of scalar conservation laws

3.11

Entropy Conditions

We have seen that the solutions to the non-linear scalar conservation laws are not unique.
We have also seen that an unphysical solution like a rarefaction shock (an expansion
shock) satisfies the non-linear conservation law as well as the Rankine-Hugoniot (jump)
condition. Why did such a situation arise?
Recall that the differential form of a conservation law does not admit shock wave solutions, as discontinuities are not allowed in that formulation. Hence, to deal with the
case of intersecting characteristics, we had to introduce the concept of a Weak Solution,
thus expanding the set of solutions. Unfortunately, this expanded set of solutions admit
unphysical or physically inadmissible solutions. Therefore, to eliminate unphysical weak
solutions, we need extra conditions. These extra conditions are the well-known Entropy
Conditions. Several versions of entropy conditions are described here, without mathematical derivations and proofs. Mathematically rigorous descriptions of the entropy conditions
are available in the books by Smoller, LeVeque, Thomas, and Evans 3 .

3.11.1

Entropy Condition Version - I :

u g(u)
The solution to a non-linear scalar conservation law
+
= 0, containing a dist
x
continuity propagating with speed s satisfying the R-H condition g = su is said to
satisfy the entropy condition if
g (uL ) > s > g (uR )

(3.126)

g(u)
and L and R represent the left and right states of the
x
discontinuity. Note that g (uL ) and g (uR ) give the slopes of the characteristic lines
on the two sides of the discontinuity. Therefore, the entropy condition (3.126) means
that as time evolves, the discontinuity moves faster than the characteristic lines ahead of
it and is slower than those trailing it, as shown in the following figure. That means the
characteristics converge on the discontinuity from both sides when the entropy condition is
satisfied. A rarefaction shock does not satisfy the entropy condition as the characteristics
diverge from the discontinuity. If the flux g(u) is a convex function so that g (u) > 0
(which implies that g (u) is increasing), then the shock speed s must lie between g (uL )
where g (u) represents

1. J.Smoller, Shock Waves and Reaction-Diffusion Equations, Springer-Verlag, 1983


2. R. J. LeVeque, Numerical Methods for Conservation Laws, Birkhaesen-Verlag, 1992
3. J. W. Thomas, Numerical PDEs, Vol.2, Springer-Verlag, 1999
4. L. C. Evans, PDEs, American Mathematical Society, 1998

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Entropy conditions

99

Figure 3.37: Entropy condition

and g (uR ), and the condition (3.126) simply becomes g (uL ) > g (uR ). Since g(u) is
convex, this means uL > uR . Therefore, for Burgers equation, as the flux is convex (since,
g (u) = 1 > 0), the expansion shock for the case uL < uR (when expansion wave should
have been the correct solution) does not satisfy the entropy condition. For non-convex
flux function, the following version of the entropy condition given by Oleinik is used.

3.11.2

Entropy Condition Version - II :

g(u)
u
+
= 0 containing a
The solution of the non-linear scalar conservation law
t
x
discontinuity is said to satisfy the entropy condition if
g(uR ) g(uL )
g(uL ) g(u)

for all u such that uL < u < uR


uL u
uR uL

(3.127)

where uL and uR represent the left and the right states of the discontinuity respectively.
For convex g(u), (3.127) reduces to (3.126).

3.11.3

Entropy Condition Version - III :

u g(u)
The solution to a non-linear scalar conservation law
+
= 0 is said to satisfy the
t
x
entropy condition if there is a constant E > 0 such that for all a > 0, t > 0 and x
E
u(x + a, t) u(x, t)
<
a
t

(3.128)

This form of the entropy condition is based on the spreading of the characteristics in a
rarefaction fan. If u(x, t) is an increasing function of x in some region, then the characteristics spread out if g (u) > 0. The condition (3.128) is quantification of the spreading. For

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

100

Analysis of scalar conservation laws

a discontinuity propagating with a speed s, (3.128) implies that uR uL 0 or uR uL


or uL uR . Therefore, (3.128) and (3.126) are consistent. For a discrete approximation,
taking a = x, we get
 
E
n
n
uj+1 uj <
x for all t > 0 as x 0
(3.129)
t
This condition is due to Oleinik4 .

3.11.4

Entropy Condition Version - IV :

u g(u)
+
= 0 is said to satisfy the
t
x
entropy condition if there exists an entropy function S(u) and an entropy flux function
(u) such that
S(u) (u)
+
0
(3.130)
t
x
is satisfied in the weak sense

Z
Z Z 

(x, 0)S(u(x, 0))dx 0


(3.131)
dxdt +
S(u)
+ (u)
t
x

0
The solution to a non-linear scalar conservation law

For smooth values of u, (3.130) satisfies


S(u) (u)
+
=0
t
x

(3.132)

or, for smooth u


S(u) u (u) u
+
=0
u t
u x
S(u)
Multiplying the non-linear conservation law by
, we get
u
S(u) u S(u) g(u)
+
=0
u t
u
x
S(u) u S(u) g(u) u
or
+
=0
u t
u
u x

(3.133)

(3.134)

Comparing (3.133) and (3.134), we get


(u)
S(u) g(u)
=

u
u
u

(3.135)

O. Oleinik, Discontinuous Solutions of Non-linear Differential Equations, American Mathematical


Society Transactions Sr. 2, 26, pp. 95-172, 1957.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Entropy conditions

101

Example :
Consider the Burgers equation,
Therefore, (3.135) gives

1
u g(u)
+
= 0 with g(u) = u2 and take S(u) = u2 .
t
x
2

(u)
S(u) g(u)
=
= 2u u = 2u2
u
u
u
Z
2
(u) = 2u2 du = u3
3
Therefore, the entropy condition is


(u2 )
2 3
+
u 0
t
x 3
For smooth solutions of Burgers equation, we have


(u2 )
2 3
+
u =0
t
x 3

(3.136)

(3.137)

2 3
u as the flux. If there
3
is a discontinuity, by integrating the above equation over a rectangle [x1 , x2 ] [t1 , t2 ], we
get
t2 Z t2
x
Z x2

2 3 2
2
2

u dx +
u dt = s2 t(u2L u2R ) + t(u3R u3L ) = 0
(3.138)
3
x1
t1 3
t1
x1
This is a conservation law with u2 as a conserved variable and

. The derivation is similar to the derivation of the R-H condition. The


S
R-H condition for (3.137) is
where s2 =

s2 =
s2 =
s2 =
s2 =

2
2
( u3R u3L )

3
= 3 2
S
(uR u2L )
2 (u3R u3L )
3 (u2R u2L )
2 (uR uL )(u2R + u2L + uR uL )
3
(uR + uL )(uR uL )
2
2 (uR + u2L + uR uL )
3
(uR + uL )

(3.139)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

102

Analysis of scalar conservation laws


u g(u)
+
= 0 is
t
x
1
1 2
uR u2L
g
1 (uR + uL )(uR uL )
1
2
s=
= 2
=
= (uR + uL )
u
uR u L
2
(uR uL )
2

R-H condition for

2 (u2R + u2L + uR uL ) 1
(uR + uL )
3
(uR + uL )
2
2
2
4uR + 4uL + 4uR uL 3(uR + uL )2
=
6(uR + uL )
2
2
4uR + 4uL + 4uR uL 3u2R 3u2L 6uR uL
=
6(uR + uL )
2
2
(uR uL )2
u + uL 2uR uL
=
= R
6(uR + uL )
6(uR + uL )

s2 s =

s2 s =
(3.138) gives
t2 Z
Z x2

2
u dx +
x1

t1

t2

t1

(uR uL )2
6(uR + uL )

(3.140)

x
2 3 2
2
u dt
= st(u2L u2R ) + t(u3R u3L )
3
3
x1

= st(u2L u2R ) + s2 t(u2R u2L )


= t(u2L u2R )(s s2 )
2
2
2 (uR uL )
= t(uL uR )
6(uR + uL )
t (uR + uL )(uL uR )(uL uR )2
=
6
(uR + uL )
x2
t2 Z t2
Z x2

t
2 3
u dt = (uL uR )3
u2 dx +
6
t1 3
x1
x1
t1

Comparing (3.141) with the integral form of (3.136) as


x2
t2 Z t2
Z x2


2
3
2
u dt 0
u dx +
x1
t1 3
x1
t1
we get

t
(uL uR )3 0
6

(3.141)

(3.142)

(3.143)

(uL uR )3 0 (uL uR ) 0
uL > uR , which is consistent with the entropy conditions described earlier.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 4
Analysis of Numerical Methods
Several numerical methods for scalar and vector conservation equations of compressible
flows will be presented in the next chapters. To understand them better, the basic analysis
of numerical methods is presented in this chapter. First, the basics of Finite Difference
Method (FDM) and the Finite Volume Method (FVM) are presented, with the example
of a simple linear convection equation. Then, the concepts of consistency and stability
of a numerical method are briefly introduced, followed by the discussion on numerical
dissipation, numerical dispersion and order of accuracy, illustrated by the analysis of
Modified Partial Differential Equations (MPDE).

4.1

Basics of Finite Difference and Finite Volume


Methods

In this course, we shall limit ourselves the application of Finite Difference Method (FDM)
and Finite Volume Method to the typical scalar and vector conservation equations, concentrating mostly on the Finite Volume Method, which is the most popular method used
in compressible fluid flow simulations.

4.1.1

Upwind Method in Finite Difference Form

Consider a linear convection equation


u
u
+c
=0
t
x

(4.1)

Let us discretize the above hyperbolic equation on a three point stencil shown in the
figure (4.1). We discretize the time derivative using forward differencing since we will
be marching forward in time for the solution of the convection equations. For the space
103

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

104

Analysis of numerical methods


1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

xj1

0
1
000000
0000000
111111
1111111
0
1
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
000000
0000000
111111
1111111
000000
111111
0000000
1111111
00
11
0
1
0
1
000000
111111
0000000
1111111
00
11
0
1
0
1

ct ct
xj
x
x

1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

t+t

xj+1

Figure 4.1: 3-Point Stencil

derivative, the simplest approximation seems to be central differencing.


un+1
unj
unj+1 unj1
j
+c
=0
(4.2)
t
2x
Here, the superscript n denotes the time level t and n + 1 denotes the time level t + t.
This discretization known as the Forward Time Centered Space discretization, actually
leads to an unstable scheme! To understand why, let us see the analytical solution of the
linear convection equation (4.1). The analytical solution is given by
u (x, t) = u (x ct, t = 0)

(4.3)

which, for the 3-point stencil shown in the figure (5.1), can be written as
u (x, t + t) = u (x ct, t)

(4.4)

So, the solution at the new time level can be found by tracing the foot of the characteristic
on the line connecting the points j 1, j and j + 1 at the old time level. Obviously, it
depends on the sign of the convection speed c. If c is positive, the information to the point
j comes from the left, from the point j 1 and if c is negative, the information to the
point j comes from the right, from the point j + 1. Therefore, the information comes only
from one side, depending on the sign of c. The FTCS discretization takes information
from the wrong side also, thus leading to instability. To respect the hyperbolicity of
the equation, we have to introduce one sided differencing, depending on the sign of the
convection speed. To do so, let us first split the convection speed into a positive part and
a negative part as
c + |c| c |c|
c=
+
= c+ + c
(4.5)
2
2
Here, c+ is always positive and c is always negative. Therefore, the linear convection
equation becomes
u
u
u
+ c+
+ c
=0
(4.6)
t
x
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Basics of finite difference and finite volume methods

105

Now, for the c+ term, information comes to the point j only from the left, and hence
a backward differencing can be used. Similarly, for the c term, the information comes
only from the right, and therefore, forward differencing can be used. Such a discretization
where we go up the wind and take the information is called upwind differencing and the
resulting scheme is an upwind scheme.
un+1
unj
unj unj1
unj+1 unj
j
+ c+
+ c
=0
(4.7)
t
x
x
The above method is a Finite Difference Method (FDM) as we have used the finite differences for the derivatives in a partial differential equation.
The upwind method can also be derived in a different way. Since we know the exact
solution of the linear convection equation, we can use it to trace the foot of the characteristic on the 3-point stencil and use a linear interpolation between the grid points. The
solution of the linear convection equation is
u (x, t + t) = u (x ct, t)

(4.8)

Now, consider a 3-point stencil as shown in figure (5.1). The foot of the characteristic falls
between points j and j 1 if c > 0 and between j and j +1 if c < 0. Let us denote the foot
of the characteristic by P and consider the c > 0 case first. Using a linear interpolation
between j and j 1, we can now write
u(xP ) = u(xj1 ) +
Therefore,

u(xj ) u(xj1 )
(xP xj1 )
(xj xj1 )

(4.9)

u(xj ) u(xj1 )
(x ct)
x
(u(xj ) u(xj1 ))
= u(xj1 ) + (u(xj ) u(xj1 )
ct
x
t
= u(xj ) c
[u(xj ) u(xj1 )]
x
= u(xj ) [u(xj ) u(xj1 )]

u(xP ) = u(xj1 ) +

t
. Thus, we recover the upwind method. Therefore, the upwind method
where = c x
follows exact solution with the accuracy of linear interpolation. If c < 0, then we need to
interpolate the foot of the characteristic between the points j and j + 1 which will lead to

u(t + t, xj ) = u(t, xj ) [u(t, xj+1 ) u(t, xj )]

(4.10)

Both the cases c > 0 and c < 0 can be combined using


1
c+ = max(c, 0) = (c + |c|) where c+ 0 always
2
1

c = min(c, 0) = (c |c|) where c 0 always


2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

106

Analysis of numerical methods

Here, if c > 0, c = 0 and if c < 0, c+ = 0. Therefore, we can write


c = c+ + c
1
1
or c =
(c + |c|) + (c |c|)
2
2
u
u
+c
=0
t
x

u
u
u
+ c+
+ c
=0
t
x
x

becomes

(4.11)
or

u c + |c| u c |c| u
+
+
=0
t
2 x
2 x

and then the upwind method becomes


 n

 n

n
+
n

n
un+1
=
u

u
j
j
j1
j+1
j
j
where

4.1.2

t c |c|
x 2

(4.12)

(4.13)

Upwind Method in Finite Volume Form

Let us discretize the linear convection equation by using a Finite Volume Method (FVM).
First, let us write the linear convection equation in conservative form so that the FVM
we shall derive now is equally applicable to any conservative convection equation, linear
or non-linear.
u g (u)
1
+
= 0 , where g (u) = u2
(4.14)
t
x
2
Let us now discretize our 1-D computational domain as a set of cells or finite volumes,
assuming that within each cell the solution has a piecewise polynomial variation. The
simplest choice is to have a piecewise constant approximation in each cell, as shown in
figure (4.2). We can also choose more accurate approximations, like a piecewise linear
1
0
0
1
0
1
111111
000000
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
111111
000000
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
11111
00000
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0 1
1
0 1
1
0 1
1
0
1
0
1
0
1
0
1
0
0
0 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
111111
000000

j3

j2

j3/2

j1

j1/2

j+1

j+1/2

j+2

j+3

j+3/2

Figure 4.2: Piecewise Constant Approximation


approximation shown in figure (4.3) or piecewise quadratic or cubic approximations. The
approximation we choose determines the order of accuracy of the disretization. Let us

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Basics of finite difference and finite volume methods

107

1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0 1
1
0 1
1
111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

j3

j1

j2

j3/2

j+1

j1/2

j+1/2

j+2

j+3

j+3/2

Figure 4.3: Piecewise Linear Approximation

now use the finite volume method, which starts with the integral form of the conservation equation in which the integration is over a finite volume or cell [xj 1 , xj+ 1 ] and a
2
2
time interval [tn , tn+1 ]. For simplicity, let us assume a piecewise constant approximation.
The integral form of the scalar conservation equation we have chosen (linear convection
equation) is


Z tn+1 Z x 1
j+ 2
u g
=0
dt
+
dx
t
x
tn
x 1
j 2

which can be written as


"Z n+1
Z
t

xj+ 1
2

tn

xj 1

u
dt
t

dx =

tn+1
tn

xj+ 1

g
dx dt
x

xj 1

Note the changing of the order of time and space integrations in the left hand side so that
a simple integration can be performed easily. Completing the integrations, we obtain
Z tn+1
Z x 1
xj+ 1
j+ 2
tn+1
[g (x)]xj 21 dt
[u]tn dx =
2

tn

xj 1

or
Z

xj+ 1
2

xj 1

or
Z

xj+ 1

xj 1

 n+1

u
un dx =

un+1 dx =

xj+ 1
2

xj 1

un dx

"Z

tn+1
tn

tn+1

tn



i
h 
g xj+ 1 g xj 1 dt
2

Z


g xj+ 1 dt
2

Let us now define the cell integral averages as


Z x 1
j+ 2
1
u (x) dx = uj
x x 1

tn+1

tn

#


g xj 1 dt
2

(4.15)

(4.16)

j 2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

108

Analysis of numerical methods

Using the above definitions, the update formula of the finite volume method can be written
as
"Z n+1
#
Z tn+1 



t
g xj+ 1 dt
x
un+1
= x
unj
g xj 1 dt
j
2

tn

or

un+1
= unj
j
where

tn

i
t h
gj+ 1 gj 1
2
2
x

(4.17)

Z tn+1 
Z tn+1  


1
1
dt
(4.18)
g xj 1 dt =
g u xj 1
gj 1 =
2
2
2
t tn
t tn
are the time-averaged fluxes. We have to now reconstruct the value of u at xj 1 , as we
2
have the cell integral averages uj (equation (4.16)) only at the cell-centres xj . (Since
we converted u (x), a continuous variable, to a cell-integral average uj , we have lost the
variation of u and now that we require the variation of u at the cell interfaces, we have
to reconstruct the variation of u.) Reconstruction of the variation of u in each cell simply
means that we need to assume a profile for u in each cell. The simplest profile is a
constant value, which means a piece-wise constant reconstruction of u. A better profile
is a linear profile, which means a piece-wise linear reconstruction of u. Recollect that
we have already assumed the profile shape of u in the beginning of the finite volume
approximation. So, we need to just make use of the existing profiles of u in each cell, to
reconstruct the value of u at the cell centres. Since a cell interface is shared by two cells,
it is reasonable to use both the left and right state values of the interface (which means
left and right cell centroid values or the cell-integral values) to reconstruct u.
Referring to the figure (4.2), we can approximate the reconstructed value of u at the
cell interface at xj+ 1 as
2
  un if c > 0 

j
(4.19)
u xj+ 1 =
2
unj+1 if c < 0
Similarly, we can write

u xj 1
From (4.18)
gj+ 1
2

1
=
t

tn+1

tn

unj1 if c > 0
unj if c < 0

(4.20)

 
 
g u xj+ 1 , t dt
2

Since g (u) = cu, we will obtain



Z tn+1 
1
c uj (t) f or c > 0
gj+ 1 =
dt
2
c uj+1 (t) f or c < 0
t tn

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Basics of finite difference and finite volume methods

109

In our reconstruction process, we used only the spatial variation of u in each cell. To
complete the integration, we need to make some assumption of the time variation of u
within the interval [tn , tn+1 ]. Several assumptions of this time variation are possible but
let us use a simple variation of u between tn and tn+1 as

(4.21)
uj (t) = (1 ) uj (tn ) +
uj tn+1
where takes the values between 0 and 1 (0 1) and represents the interpolation
factor (in time). Therefore
Z tn+1


uj (t) dt = (1 ) unj +
un+1
t
(4.22)
j
tn

Thus, we obtain

gj+ 1
2

1
=
t
t

or
gj+ 1 =
2

Similarly, we can derive


gj 1 =
2


c (1 ) unj +
un+1
j
 f or c > 0
n+1
n
c (1 ) uj+1 +
uj+1 f or c < 0


c (1 ) unj +
un+1
j
 f or c > 0
n+1
n
c (1 ) uj+1 +
uj+1 f or c < 0


c (1 ) unj1 +
un+1
j1 f or c > 0
c (1 ) unj +
un+1
f or c < 0
j

(4.23)

(4.24)

(4.25)

Substituting the expressions for above fluxes in the update formula (4.17), we obtain



t
c (1 ) unj unj1  + c un+1
un+1
n+1
n
j
j1  f or c > 0
uj = uj
c (1 ) unj+1 unj + c un+1
n+1
f or c < 0
x
j+1 u
j

or

un+1
= unj
j

t (1 n )
x
c+|c|
2

c+|c|
2

unj

unj1


un+1
un+1
j
j1 +

If we now take = 0, then we obtain



t
c + |c|
n+1
n
uj = uj
x
2

unj

unj1

o

(4.26)



(4.27)

unj+1 unj
+ c|c|
2
o
c|c|
n+1
n+1
u

j+1
j
2

c |c|
+
2

unj+1

unj

This is called as an explicit method as the value of u at the new time level (n + 1) is
explicitly calculated from the values of u at the old time level (n). If we take = 1, then
we obtain


 c |c|

t
c + |c|
n+1
n+1
n+1
n+1
n+1
n
(4.28)
uj uj1 +
uj+1 uj
uj = uj
x
2
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

110

Analysis of numerical methods

This is called as an implicit method as we need to solve an implicit equation for un+1 .
n+1
Note that, In this implicit method, we need to solve for the values of un+1
and un+1
j1 , uj
j+1
simultaneously, and thus needing to invert a matrix (for all N values of j, j = 1, 2, , N ,
where N is the number of cells or grid points). If we take = 0.5, we get an average
of both the above methods, known as Crank-Nicolson method. The explicit method is
easier to program, as no matrix inversion is needed. However, an implicit method will not
have a stability restriction as in the explicit method and larger values of the time-step are
allowed, leading to faster convergence.
We can see that the piecewise constant approximation with the upwinding in finite
volume method yields the first order accurate upwind finite difference method. This
equivalence is possible for a linear convection equation. The main advantage of the upwind
finite volume method is that the update formula leads to a conservative discretization.
To understand the importance of the conservation at the discrete level, let us sum up the
general finite volume update formula (4.17) for all the N finite volumes or cells in our
1-D domain.
#
" N
N
N
X
X
t X n
n+1
n
n
uj =
uj
(4.29)
g 1 gj 1
2
x j=1 j+ 2
j=1
j=1
or

N
X

un+1
j

j=1

or

N
X
j=1

unj

i
t h n
n
n
n
n
g 3 gn1 + gn5 gn3 + gn7 gn5 + + gN

1 g
3 + g
1 g
1
2
N 2
N+ 2
N 2
2
2
2
2
2
x 2
(4.30)

N
X
j=1

un+1
j

N
X
j=1

unj

i
t h n
n

g 1 g 1
2
x N + 2

(4.31)

Thus, all the fluxes in the middle of the domain cancel and only the fluxes at the boundaries remain, and the net flux (outgoing flux minus the incoming flux) balances the rate
of change of the conservative variable. Thus, the finite volume method preserves conservation at the discrete level and hence the positions of the discontinuities like the shocks or
contact discontinuities are automatically captured correctly on an average. This property
of all the fluxes in the middle of the domain getting canceled is called the telescoping
property of the fluxes. This is a unique property of the Finite Volume Method (FVM).

4.2

Modified Partial Differential Equations

Let us now understand the numerical methods like upwind method a little more, analyzing
the truncation error. Since we are solving the governing equation (say linear convection
by an upwind method, for example) approximately, there will be some errors associated
with the approximation. To find out the truncation error, let us substitute Taylor Series

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Modified PDEs

111

expansions into the numerical method, to recover the actual equation we are solving
exactly. The resulting equation is called as Modified Partial Differential Equation or
Equivalent Differential Equation. For the linear convection equation
u
u
+c
=0
t
x

(4.32)

the upwind method is




= unj + unj unj1 unj+1 unj
un+1
j

(4.33)

(c |c|) t
(c + |c|) t
and =
(4.34)
2
x
2
x
The above equation is an approximation to the linear convection equation as we have
discretized the derivatives. If we are not solving the linear convection equation exactly,
but only approximately, then which equation are we solving exactly? To answer this
question, let us expand the terms in the upwind method using Taylor series.
where + =

n
n
 u n
t3  3 u 
t2  2 u 
uj n+1 = u (xj , t + t) = uj n + t
+
+ 0(t4 ) (4.35)
+
t j
2
t2 j
6 t3 j

unj+1 = un (xj + x)
unj+1

= uj + x

 u n
x

x3  3 u 
x2  2 u 
+
+ 0(x4 )
+
2
3
2
x j
6 x j

(4.36)

unj1 = un (xj x)
unj1

= uj x

 u n
x

x3  3 u 
x2  2 u 

+ 0(x4 )
+
2
x2 j
6 x3 j

(4.37)

Substituting (4.35), (4.36) & (4.37) in (4.33) and dividing it by t, we get

n
n
n
n
 u n
t2  3 u 
+ h
x3  3 u  i
t  2 u 
x2  2 u 
+
=

+
+
x
t j
2 t2 j
6 t3 nj
t
x j
2
x2 j
6 x3 j
n


n
3 3  i
4
h
2 2 
x u

x
x u
u

+
+ 0(t3 ,

x
)
2
3
t
x j
2
x j
6 x j
t

 u n

To simplify the above equation, we have to replace the time derivatives by space derivatives
for which we use the original linear convection equation itself.
u
[u]
[u]
u
+c
= 0 or
= c
t
x
t
x

(4.38)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

112

Analysis of numerical methods


2

u
=
t2

u
u
]
[c ]
2
t = c
x = c2 u
t
x
x2

3u
= c
t3
Using the above formulae, we obtain

2u
]
3
x2 = c3 u
x
x3

(4.39)

[c2

(4.40)

n
n
t2 3  3 u 
t 2  2 u 

c
c
t j
2
x2 j
6
x3 j
n


n
+h
2  2 n
x3  3 u  i

x u
u

=
+
x
t
x j
2
x2 j
6 x3 nj


n
4
h
2  2 n
x3  3 u  i

x u
u
3 x

+
+
0(t
,
)

x
t
x j
2
x2 j
6 x3 j
t

 u n

 u n
t

 u n
 u n h

i 2  2 u n
+
2 t x
+

x
x
+
+
= c
t
x j t
x j
2 2t x2 j
n
h

4
t2 i x3  3 u 
3 x
+
0(t
,
) (4.41)
+
+ + c 3
6 6t x3 j
t
+
c + |c|
x =
t
2

c |c|

x =
t
2

(4.42)

From the above two equations we get


+ = |c|

t
t
and + + = c
x
x

(4.43)

Therefore, we obtain




n
 u n
c + |c|  u n
c |c|  u n h |c|x 
|c|t i 2 u 
1
+
+
=
t j
2
x j
2
x j
2
x
x2 j
n
h cx2 
4
c2 t 2 i 3 u 
3 x
+
+
0(t
,
t
) (4.44)
1+
6
x2
x3 j
t
Therefore
 u
t

+c

 2 u n cx2 
 3 u n
4
u n |c|x 
3 x
2
+
+
0(t
,
1 ||

1
)(4.45)
=
x j
2
x2 j
6
x3 j
t

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Modified PDEs

113

 3u 
x
If
term, then we obtain
= constant and we drop
t
x3
 2 u n
 u
u n |c|x 
+ 0(t2 , x2 )
+c
1 ||
=
t
x j
2
x2 j

Therefore, the scheme is I order accurate in time and space. To understand the terms in
the truncation error better, let us consider the momentum equation of conservation laws
for a fluid in expanded form.
u
u 1 p
2u
+u
+
= 2
t
x x
x

(4.46)

The second order term on right hand side represents a viscous term. Therefore, the
 2 u 
|c|x 
and the
1 ||
upwind scheme has introduced an artificial viscosity term,
2
x2
method is first order accurate. That is
u
u
+c
= 0(t, x)
t
x

(4.47)

What is the role of artificial viscosity? Just as the physical viscosity has the stabilizing
effect on fluid flows, artificial viscosity stabilizes the numerical methods, keeping the errors
without growing (or damping them). We can rewrite the upwind method as follows.




n
n

n
n
n
+
(4.48)
u

u
un+1
=
u

j+1
j
j
j1
j
j
 u n un 
 un un 
c + |c|
c |c|
j
j1
j+1
j
=
(
)t
)t
(
(4.49)
2
x
2
x




n
n
n
n
n
|c|t uj+1 2uj + uj1
ct uj+1 uj1
n+1
n
+
(4.50)
uj = uj
2
x
2
x




unj+1 2unj + unj1
unj+1 unj1
|c|t
n+1
n
+
x
(4.51)
uj = uj ct
2x
2
x2
If we omit the last term on the right hand side, we get the Forward Time and Centered
u
u
+c
= 0,
Space (FTCS) approximation to
t
x


n
n
n+1
n
u

u
j+1
j1
u j uj
+c
=0
t
2x
un+1
j

unj

Therefore, the upwind method has added an artificial viscosity term to the central dif|c|t  2 u 
ferencing method, and this artificial viscosity term is
. We know that
x
2
x2
FTCS is unstable. The artificial diffusion stabilizes the FTCS method. Thus, there are
two routes to obtain a stable scheme, as explained in the following part.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

114

Analysis of numerical methods

1. By adding explicit artificial viscosity to the central differencing scheme.


2. By using an upwind scheme which has an inherent (implicit) artificial viscosity.
The second one is preferable, as there are no tuning parameters which are problem dependent. For the first option,the tuning parameters come in while answering the question
How much artificial viscosity is to be added? The MPDE for FTCS method is
u
u
c2 t  2 u 
+ 0(t3 , x3 )
+c
=
t
x
2
x2

Therefore, the FTCS method is actually removing some viscosity from a II order method.
Thus, it makes sense to explicitly add some viscosity to stabilize it. Jameson, Smith &
Turkel(1981) (AIAA-81-1259) developed such a central difference scheme with explicit
artificial viscosity for Euler equations. But, because of the tuning parameters, central
difference schemes are not as popular as upwind schemes.

4.3

Consistency of Numerical Methods

A numerical method is said to be consistent to the equation it approximates if the local


truncation error vanishes when the grid-spacing and the time-step go to zero. As an
example, consider the linear convection equation
u
u
+c
=0
t
x

(4.52)

and the upwind scheme for the above equation given by


= unj
un+1
j

 (c |c|) t  n

(c + |c|) t  n
uj unj1
uj+1 unj
x
x

(4.53)

We have seen in the previous section that the Modified Partial Differential Equation
(MPDE) for the above upwind scheme is given by
 u
t

+c

 2 u n cx2 
 3 u n
u n |c|x 
2
+
+ 0(t3 , x4 ) (4.54)
1 ||

1
=
x j
2
x2 j
6
x3 j

The right hand side of the above equation represents the local truncation error of the
numerical method (upwind method here). We can see that as x 0 and t 0, the
local truncation error on the right hand side completely vanishes and we recover the linear
convection equation. Thus, the upwind scheme is consistent with the linear convection
equation that it approximates here.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Stability analysis

4.4

115

Stability Analysis

While designing and using numerical methods for partial differential equations, it is important to know if the numerical method is stable or not. Before studying the stability
analysis, let us first understand the Fourier series in complex wave form, which we will
use in the stability analysis.

4.4.1

Fourier series in complex waveform

Let
f (x) = a +

h
X

m=1

From

i
am cos(m x) + bm sin(m x)

eiwm x = cos (wm x) + i sin (wm x) and eiwm x = cos (wm x) i sin (wm x)
we can write

(4.55)


1  im x
e
+ eim x
2

1  im x
im x
sin(m x) =
e
e
2i
cos(m x) =

and
Therefore

am cos(m x) + bm sin(m x) = am
=



1  im x
1  im x
e
+ eim x + bm
e
eim x
2
2i

(am ibm )eim x + (am + ibm )eim x


2

am cos(m x) + bm sin(m x) = cm eim x + cm eim x


where

cm =

(am ibm )
2

&

cm =

f (x) = a +

h
X

m=1

(am + ibm )
2

cm eim x + cm eim x

If we define c0 = a, We can write

f (x) =

(4.56)

cm eim x

(4.57)

(4.58)

m=

2
mx
i
2
im x
=
m . Therefore, when m = 0, e
=e L
We have used the fact that m =
L
0
e = 1. The complex form simplifies the algebraic manipulations and is easier to use.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

116

4.4.2

Analysis of numerical methods

Stability analysis of Numerical Methods

We know that FTCS method for LCE


u
u
+c
= 0 f or c > 0
t
x

(4.59)

un+1
unj
unj+1 unj1
j
+c
= 0 is unstable and the FTBS method (upwind
t
2x
method) given by
un+1
unj
unj unj1
j
+c
=0
(4.60)
t
x
is conditionally stable, with the stability condition given by

given by

0 1 where = c

t
x

(4.61)

What is meant by stability and how do we find stability conditions for numerical methods?
Just like a solid body having different possible states of stability (a ball on concave surface,
a plane or a convex surface) a numerical method can also be unconditionally stable,
conditionally stable or unconditionally unstable. Where are the instabilities coming from?
One source of instability is any error present in the numerical method. There are two
kinds of obvious errors in numerical approximations :
1. A truncation error of the numerical method
2. A round-off error
Truncation error or the Discretization error is the difference between the exact analytical
solution of the PDE and the exact (round-off-free) solution of the corresponding difference
equation. If A is the analytical solution of the PDE, N is the numerical solution from the
computer and E is the exact solution of the difference equation, then
Discretization error = A E and Round off error = = N E.
By definition, E is the exact solution to the difference equation. Therefore, E exactly
satisfies the difference equation. Let us consider FTCS case which leads to
n
n
Ejn+1 Ejn
Ej+1
Ej1
+c
=0
t
2x

(4.62)

Numerical solution is obtained by solving the difference equation. Therefore, N should


satisfy the following difference equation.
n
n
Njn+1 Njn
Nj+1
Nj1
+c
=0
t
2x

(4.63)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Stability analysis

117

Since = N E, and N = E +
n
n
(Ejn+1 + n+1
Ejn nj )
(Ej+1
+ nj+1 Ej1
nj1 )
j
+c
=0
t
2x

(4.64)

Using (4.62), we obtain


n+1
nj
nj+1 nj1
j
+c
=0
(4.65)
t
2x
Therefore, round off error should satisfy the difference equation. As we go from nth time
level to (n + 1)th time level, the errors should decrease or at most stay the same for
stability. If the errors are amplified by the numerical method, then the instability sets in.
Therefore
n+1
j
(4.66)
n 1 for stability
j

Let the round off error at the starting of the nth iteration have an initial random distribution. At any given time, let us express that the random variation of with x analytically
using Fourier series as
X
(x) =
Am eim x
(4.67)
m

im x

Since e
= cos(m x) + isin(m x) the above equation represents both sine and a cosine
series. Here, m is the wave number, Am is the amplitude and the above equation gives the
spatial variation of the error . We also need temporal variation. Therefore, we assume
Am = Am (t).
X
Am (t)eim x
(4.68)
(x, t) =
m

What is wave number? Consider a sine function


y = sin(

2x
)

(4.69)

where is the wave length. In the notation we have used,


y = sin(m x)
2
. If we fit two sine waves in an interval L,
Therefore, m =

2
2
m =
2. Similarly, if we fit 3 sine waves in L, m =
=
L
L
( )
2
waves in an interval L, the wave number is given by
m =

2
m
L

(4.70)
then y = sin(m x) with
2
2
3. If we fit m
=
L
L
( )
3
(4.71)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

118

Analysis of numerical methods

Now that we have understood what the wave number is, the next question is what should
be the value of m? If we have (N 1) grid points in L, then
x =

L
(N 1)

(4.72)

The largest allowable wavelength is max = 2L and the smallest allowable wave length is
2
2L
. Therefore, we have m = h
min = 2x. Therefore min = 2x =
.
2L i
(N 1)
(N 1)
m =

2  N 1 
L
2

Therefore, the maximum member of waves =


mmax =
Thus

(4.73)

(N 1)
2

(N 1)
2

(4.74)

(N 1)
2

(x, t) =

Am (t)eim x

(4.75)

m=1

Since errors tend to grow or decay quickly, we can assume an exponential variation for
the amplitude.
Am (t) = eat
(4.76)
(N 1)
2

(x, t) =

eat eim x

(4.77)

m=1

Let us now substitute the above into the error equation, which is
n+1
nj
nj+1 nj1
j
+c
=0
t
2x

(4.78)

Since this equation is linear, after substituting (4.77) in (4.78), each term of the series in
(4.77) behaves in the same way as the series itself. Therefore, we can omit the summation
in (4.77) and use
(x, t) = eat eim x
(4.79)
Substituting (4.79) in (4.78), we get
ea(t) eim (x+x) ea(t) eim (xx)
ea(t+t) eim x ea(t) .eim x
+c
=0
t
2x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Stability analysis

119

Dividing by ea(t) eim x , we obtain

But

eat 1
eim x eim x
+c
=0
t
2x
i
ct h im x
at
im x
e
=1
e
e
2x
eim x eim x = 2 i sin(m x)

Therefore
at

(4.80)

(4.81)

i
ct h
2 i sin(m x)
=1
2x

eat = 1 i sin(m x)

(4.82)

n+1
ct
j
. The condition for stability is n 1. The amplification factor,
where =
x
j
n+1
j
n , is
j
n+1 ea(t+t) eim x
j

n =

j
eat eim x
n+1
j
That is, n = |ea(t) |
j
n+1
j
n 1
j

|ea(t) | 1

Hence





1 isin(m x) 1
p
12 + 2 sin2 (m x) 1

p
1 + 2 sin2 (m x) 1 for stability

(4.83)

Since sin2 () is always positive, the above condition can never be satisfied, whatever the
values of x and t may be. Therefore, the FTCS scheme is unconditionally unstable. We
performed the von-Neumann stability analysis based on the round-off error, for simplicity.
The concept of stability is actually based on thePbehaviour of the solution itself, not only
on round-off error [12]. We can write u(x) = m Am eim x , where Am is the amplitude

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

120

Analysis of numerical methods

of the mth harmonic of the solution. Then, the amplification factor is G =

An+1
m
and
Am

|G| 1 for stability.


In deriving the stability condition for a numerical method (FTCSPin the previous
example), we expressed the solution using a Fourier series, u(x, t) = m Am eim x and
Am = eat . That means, we are assuming the solution to be periodic. Is this assumption
a reasonable one? When a numerical method is unstable, usually it produces oscillations
in the solution. Therefore, to study the stability requirements and to understand the
instabilities, expressing the solution in a Fourier series is a reasonable choice.
Stability analysis for the upwind scheme :
u
u
+c
=0
t
x

c>0

un+1
unj
unj unj1
j
+c
=0
t
x
ct
un+1
= unj (unj unj1 ) where =
j
x
X
u(x, t) =
eat eim x

(4.84)
(4.85)
(4.86)
(4.87)

Since the difference eqn (4.86) is linear, when we substitute (4.87) in (4.86), each term
in (4.87) behaves like the entire expression. Therefore, we can omit the summation and
write
u(x, t) = eat eim x
un+1
= u(x, t + t) = ea(t+t) eim x
j

(4.88)

unj1 = u(x x, t) = eat eim (xx)


Substituting (4.88) in (4.86), we get
eat eim x eat eim x eim x
eat eat eim x eat eim x
+c
=0
t
x
Dividing by eat eim x , we obtain
eat 1
1 eim x
+c
=0
t
x
eat = 1 (1 eim x )

(4.89)

eat = 1 (1 cos(m x) + i sin(m x))

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Stability analysis

121

Amplification factor = G =

An+1
ea(t+t)
m
=
= eat
Anm
eat

G = 1 + cos(m x) i sin(m x)
h

(4.90)
2

|G| = 1 + cos(m x) + sin(m x)

i 12

i 12
|G| = 1 + 2 cos(m x) 2 + 2 cos(m x) + (cos (m x) + sin (m x))
h

i 12
h
|G| = 1 + 2 + cos(m x)(2 + 2) 2 + 2

h
m x i 12
|G| = 1 + 22 2 + (2 2)(1 2 sin2 (
)
2

Because cos() = 1 2 sin2 ( )


2
h
m x i 21
)
|G| = 1 + 22 2 + (2 2) 2(2 2) sin2 (
2
i 21
h
2 m x
)(1 )
|G| = 1 4 sin (
2
h
h
m x i
m x i
)
)
= 1 and sin2 (
=0
sin2 (
2
2
max
min

when > 1

m x
m x
) has a maximum for sin2 (
) = 1.
2
2
i 12
= 1 4(1 )

4(1) is negative. Therefore, 14(1) sin2 (


Then
h
|G|max

h
i 21
|G|max = 1 4 + 42
h

|G|max = (1 2)

i 21

|G|2max = (1 2)2 > 1


|G|max > 1
Therefore, the method is unstable if > 1
when < 1
4(1) is positive. Therefore, 14(1) sin2 (

m x
m x
) has a minimum for sin2 (
) = 0.
2
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

122

Analysis of numerical methods

Then, |G|2max = 1 and this satisfies the condition |G|2max 1 0r |G|max 1. Therefore,
ct
the method is stable if 1 or
1.
x
Thus, the stability condition fixes the time-step in the numerical method, based on
x
. We take, in practice,
the grid-spacing. For the upwind scheme, we obtained t
c
x
t =
where is a positive constant such that 1. The stability condition can be
c
rewritten as
x
x
c
or
c
1 or c
x
t
t
t
which means that the grid speed must be greater than the convection speed or
x ct

(4.91)

which means that the numerical domain of dependence must include the physical domain
of dependence (see figure (4.4.2)). This is the well-known CFL (Courant-Friedrichs-Lewy)
condition.
0000000000000000000000000000000
1111111111111111111111111111111
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
0
1
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
0
1
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
1
0
110
00
1
0
1
0
1
0
0
1
000000
111111
0
1
0000000
1111111
0
1
1
1
0
11
00
1
0
1
0
1
0
0
1

ct x ct
xj1
j
x
x

t+t

xj+1

Physical domain of dependence


Numerical domain of dependence

Figure 4.4: 3-Point Stencil

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 5
Central Discretization Methods for
Scalar and Vector Conservation Laws
5.1

A Brief History of Numerical Methods for Hyperbolic Conservation Laws

Historically, central discretization methods were the first to be used for solving hyperbolic
equations. The important central discretization methods are - Lax-Friedrichs method
[13], Lax-Wendroff method [14], MacCormack method [15] and Jameson-Schmidt-Turkel
method [16]. The upwind methods, which were developed in the 80s became more popular
than the central discretization methods. The upwind methods for solving Euler equations
can be broadly classified as
Riemann Solvers (Exact or Approximate),
Flux Vector Splitting Methods,
Kinetic theory based Methods (Kinetic Schemes) and
Relaxation Schemes
The Godunov method [17] is the earliest developed Riemann Solver. The Flux Difference
Splitting methods of Roe [18] and Osher [19] belong to the category of Approximate
Riemann Solvers. The Beam Scheme of Sanders and Prendergast [20] was the first Kinetic
Scheme (also the first Kinetic Flux Vector Splitting scheme), which was followed by several
Kinetic Schemes - the Equilibrium Flux Method of Pullin [21], the Kinetic Numerical
Method of Rietz [22], the Kinetic Flux Vector Splitting (KFVS) method of Deshpande
[23], the Kinetic Scheme of Perthame [25], the Peculiar Velocity based Upwind (PVU)
method of Raghurama Rao and Deshpande [26] and the Gas-Kinetic Scheme or BGK
scheme of Prendergast and Kun Xu [27]. The Relaxation Schemes were first introduced
123

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

124

Central Discretization Methods

by Jin and Xin [8]. Other relaxation schemes of interest were introduced by AregbaDriollet and Natalini [10], Coquel and Perthame [28] and Raghurama Rao and Balakrishna
[53]. There are also some other methods of interest which belong to more than one of
the above categories - the Adevective Upstream Splitting Method (AUSM) of Meng Sing
Liou [29] and the Hybrid Upwind Splitting (HUS) method of Coquel and Liou [30] and the
Convective Upwind Split Pressure (CUSP) method of Jameson [31]. Some of he upwind
methods for scalar and vector conservation equations will be presented separately in the
next two chapters.
In this chapter, two of the central discretization methods, namely, Lax-Friedrichs
method and Lax-Wendroff method are presented.

5.2

Lax-Friedrichs Method

Consider a linear convection equation, which is the simplest convection equation, given
by
u
u
+c
=0
(5.1)
t
x
In conservation form, the above equation is
u g (u)
+
= 0 where g (u) = cu
t
x

(5.2)

On a 3-point stencil consisting of points j 1, j and j + 1, the simplest scheme we can


think of for the above equation is the Forward Time Centered Space (FTCS) discretization,
given by
n
n
un+1
unj
gj+1
gj1
j
+
=0
(5.3)
t
2x
which can be rearranged as
un+1
= unj
j


t  n
n
gj+1 gj1
2x

(5.4)

But, this simple scheme is unstable for the hyperbolic equation cosidered above, as it does
not respect the hyperbolicity of the linear convection equation. In the Lax-Friedrichs [13]
method, the first term on the right hand side of the above expression is replaced by an
average of the values of the dependent variable u at the points j + 1 and j 1, thereby
stabilizing the scheme.
un+1
=
j



1 n
t  n
n
uj+1 + unj1
gj+1 gj1
2
2x

(5.5)

We can rearrange the above scheme as


un+1
= unj
j

 1 n

t  n
n
gj+1 gj1
+ uj+1 2unj + unj1
2x
2

(5.6)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

5.2. LAX-FRIEDRICHS METHOD

125

To understand the last term in the above expression, let us write any general scheme
for the linear convection equation in a way such that central differencing of the fluxes is
supplemented by an artificial viscosity term as
un+1
= unj
j




t  n
n
gj+1 gj1
+ unj+1 2unj + unj1
2x

(5.7)

Here, last term is an approximation for the second derivative of u and hence represents
the artificial viscosity term, added to the central difference term (last but one term) for
stability. represents the coefficient of artificial viscosity. Any scheme can be rearranged
in the above form, to find out the amount of artificial viscosity present. The von Neumann
stability analysis of such a general scheme gives the condition
2
1
ct
where =
2
2
x

(5.8)

If we take the coefficient of viscosity as the maximum value permitted by the above
1
stability condition, that is, = , we obtain the Lax-Friedrichs scheme derived above!
2
That means, Lax-Friedrichs scheme has the maximum amount of artificial viscosity permitted by the stability condition. Therefore, Lax-Friedrichs method, which is a first order
accurate method, by itself is not usually preferred for solving practical problems.
The Lax-Friedrichs scheme can also be obtained in a different way. The exact solution
of the linear convection equation (5.1) is given by
u(t, x) = u(0, x ct)

(5.9)

If we know the solution at t, then we can write


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

(5.10)

for a time increment t. This solution is shown graphically in the following figure (5.1)
To obtain the value of u at the point P , let us interpolate between the values of u at
0000000000000000000000000000000
1111111111111111111111111111111
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
0
1
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
0
1
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
0
1
00
11
0
1
0
1
0
1
0
1
000000
111111
0
1
0000000
1111111
0
1
1
0
1
000
11
0
1
0
1
0
1
0
1

xj1
x

ct ct
xj
x

t+t

xj+1

Figure 5.1: 3-point stencil

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

126

Central Discretization Methods

points j + 1 and j 1. Therefore,


un+1 (xj ) = un (xj1 ) +
un+1
= unj1 +
j

un (xj+1 ) un (xj1 )
(xP xj1 )
2x

(5.11)

unj+1 unj1
(x ct)
2x

(5.12)

 ct
unj+1 unj1
x unj+1 unj1
(5.13)
2x
2x
 ct n

1 n
un+1
= unj1 +
uj+1 unj1
uj+1 unj1
(5.14)
j
2
2x
 ct n

1 n
uj1 + unj+1
uj+1 unj1
(5.15)
un+1
=
j
2
2x
For a non-linear scalar conservation law, Lax-Friedrichs method can still be applied without much modification. Consider the 1-D Burgers equation
un+1
= unj1 +
j

u g (u)
u2
+
= 0 where g (u) =
t
x
2

(5.16)

The Lax-Friedrichs method for the above Burgers equation is given by


un+1
j

i

t h
1 n
n
n
n
u + uj+1
g (u )j+1 g (u )j1
=
2 j1
2x

(5.17)

which is obtained by central differencing the flux term and replacing the variable unj by
the average value of the values at the neighbours j + 1 and j 1. Note, however, that
the interpretation of exact solution with a linear interpolation between the points j 1
and j + 1 will not now lead to the same scheme. The non-linearity of the flux makes it
different. For non-linear vector conservation equations (Euler equations) also, the LaxFriedrichs method can be applied easily as
Ujn+1

i

t h
1 n
n
n
n
U + Uj+1
G (U )j+1 G (U )j1
=
2 j1
2x

(5.18)

where U and G (U ) represent vectors. The Lax-Friedrichs scheme is the simplest of all
the numerical methods for hyperbolic equations.

5.3

Lax-Wendroff Method

Lax and Wendroff [14] introduced a second order accurate central discretization scheme
for solving hyperbolic equations, which replaced the Lax-Friedrichs scheme. To derive the

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

5.3. LAX-WENDROFF METHOD

127

Lax-Wendroff scheme for the linear convection equation, let us expand the variable u in
Taylor Series and retain the terms upto the second order.
 u n t2  2 u n

n
3
un+1
=
u(t
+
t,
x)
=
u
+
t
+
O
t
+
j
j
t j
2 t2 j

(5.19)

Let us replace time derivatives by space derivatives.


 


2
u
2u
u

u
u
2 u
= c
& 2 =
= c
c
=c
t
x
t
t t
t
t
x2
 u 
2 2 

u
2 t
n
Therefore, un+1
=
u
+
ct
+ O t3
+
c
j
j
2
x
2 x
Let us use 2nd order central differences for the derivatives.

(uj+1 uj1 )
u
=
+ 0(x2 )
x
2x

Therefore, un+1
j

(uj+1 2uj + uj1 )


2u
=
+ 0(x2 )
2
x
x2

 c2 t2 

ct 
n
3
3
= unj +
u

2u
+
u
uj+1 uj1 +
j+1
j1 + O x , t
j
2
2x
2x

This is the Lax-Wendroff scheme, which is second order accurate in both time and space.
We can also derive this method in a different way. Consider a 3-point stencil as shown in
the figure (5.1). The exact solution of the linear convection equation is given by
u (t + t, xj ) = u (t, xj ct)

(5.20)

To obtain the value of xP on the 3-point stencil, let us now use a quadratic interpolation
of the values of u at the points xj1 , xj and xj+1 . Considering the point xj as the origin
and assuming a quadratic variation, we can write
u (x) = a (x xj )2 + b (x xj ) + c

(5.21)

We know the value of u at the three points of the stencil as


u (xj1 ) = uj1 , u (xj ) = uj and u (xj+1 ) = uj+1

(5.22)

With the above three equations, the three unknowns a, b and c can be evaluated using
the expression (5.21) as
a=

uj+1 uj1
uj1 2uj + uj+1
, b=
and c = uj
2
2x
2x

(5.23)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

128

Central Discretization Methods

Therefore, the exact solution of the convection equation with the above quadratic interpolation gives
u (t + t, xj ) =
=
=
=

u (t, xj ct)
un (xP )
a (xj ct xj )2 + b (xj ct xj ) + c
a (ct)2 b (ct) + c

 c2 t2 n
ct n
n
n
= unj
u

2u
+
u
uj+1 unj1 +
j+1
j
j1
2x
2x2

(5.24)

Thus, we have obtained the Lax-Wendroff method by tracing the foot of the characteristic with a quadratic interpolation! The Lax-Wendroff method has the least amount of
artificial viscosity allowed by the stability condition.
For non-linear scalar conservation equations, the Lax-Wendroff method can be derived
with a little more care as follows. Consider the inviscid Burgers equation
u

1
+
[g (u)] = 0 where g (u) = u2
t
x
2

(5.25)

u
g (u)
=
t
x

(5.26)

Therefore, we can obtain

 







g (u)
g (u)
g (u) u
u
2u
=

=
=
=
t2
t t
t
x
x
t
u t


 x
(5.27)
2u
g (u)

g (u)
g (u)
g (u)
or 2 =

=
a (u)
where a (u) =
t
x
u
x
x
x
x
Let us now use Taylor Series expansion to obtain
n

 n

t2 2 u
u
n+1
n
+ O t3
+
uj = u(t + t, x) = uj + t
2
t j
2
t j

(5.28)

Let us now replace the time derivatives by space derivatives derived above to obtain

n

n

g (u)
g (u)
t2
n+1
n
uj = uj t
a (u)
+
+ O t3
(5.29)
x
2 x
x
j
j
Now, let us replace the space derivatives by central differences. The first order space
derivative on the right hand side is simple to deal with and we can use
g (uj+1 ) g (uj1 )
g (u)
=
x
x

(5.30)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

5.3. LAX-WENDROFF METHOD

129

To discretize the second order space derivative, we take the mid-points between the grid
points xj and xj1 and then use the central differencing. Thus, we have

g (u)
a (u)
x



  g (u) 
  g (u) 
a uj 1
a uj+ 1
2
2
x
x
j+ 1
j 1
2

x
(5.31)


 g (u ) g (u )
 g (u ) g (u )
j+1
j
j
j1
a uj 1
a uj+ 1
2
2
x
x
=
x

Using the above central differences for the space derivatives, we obtain the Lax-Wendroff
method for the non-linear scalar conservation equation as
t
[g (uj+1 ) g (uj1 )]
2x



i (5.32)
t2 h 
a uj+ 1 {g (uj+1 ) g (uj )} a uj 1 {g (uj ) g (uj1 )}
+
2
2
2x2

un+1
= unj
j

We now have to evaluate the wave speed a (u) at mid-points between the grid points xj
and xj1 . The simplest choice is


a uj+ 1
2

=a

uj + uj+1
2

(5.33)

g
For the Burgers equation, a (u) =
= u. For vector conservation laws (Euler equations)
u
the Lax-Wendroff method can be derived in a similar way as
t
[G (Uj+1 ) G (Uj1 )]
2x



i(5.34)
t2 h 
A Uj+ 1 {G (Uj+1 ) G (Uj )} A Uj 1 {G (Uj ) G (Uj1 )}
+
2
2
2x2

Ujn+1 = Ujn

where U and G are conserved variable and flux vectors and A is the flux Jacobian matrix,
G
. We can notice that the Lax-Wendroff method requires the evaluation
defined by A =
U
of the derivatives, and hence is computationally not efficient. Instead, an equivalent twostep Lax-Wendroff method was used in practice, which does not require the evaluation
of Jacobians and is also simpler in multi-dimensions. The Lax-Wendroff method, being
second order accurate, generates wiggles near the captured shocks. The Lax-Wendroff
method does not have sufficient numerical dissipation to capture the expansion waves at
sonic points (where the wave speed changes sign) correctly and is usually supplemented
with a dose of artificial viscosity.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

130

5.4

Central Discretization Methods

Two-Step Lax-Wendroff Method and MacCormack Method

Richtmyer and Morton [34] presented a two-step Lax-Wendroff method, which avoids the
evaluation of flux Jacobian matrices, when applied to vector conservation laws. This
method contains two steps - a predictor step and a corrector step. Consider the scalar
conservation equation
u g (u)
+
=0
(5.35)
t
x
In the predictor step, the Lax-Friedrichs method is used at the mid-points between the
grid points, obtaining
n+ 1

Predictor : uj+ 12 =
2


 t 

1 n
uj+1 + unj
g unj+1 g unj
2
2x

(5.36)

n+ 1

A similar expression is used to obtain uj 12 , which can be obtained replacing j by j 1


2

in the above step. In the corrector step, a centered time and centered space (CTCS)
approximation is used as
Corrector : un+1
= unj
j

i
t h n+ 21
n+ 1
gj+ 1 gj 12
2
2
x

(5.37)

For a linear flux (as in the case of linear convection equation), this two-step scheme
will be identical to the Lax-Wendroff scheme, which can be obtained by substituting the
predictor step expressions in the corrector step. Another two-step method which reduces
to the Lax-Wendroff scheme for a linear flux is the MacCormack method [15], in which
the predictor step is given by
Predictor : u

n+ 21 j

and the corrector step is given by


Corrector : un+1
=
j

= unj



t 
g unj+1 g unj
x

 t h 


i
1 n
n+ 1
n+ 1
n+ 1
uj + uj 2
g uj 2 g uj12
2
x

(5.38)

(5.39)

Note that the predictor step uses a forward difference while the corrector step uses a
backward difference, which can be interchanged. MacCormack method can also be written
as


t 
n+ 1
Predictor : uj 3 = unj
g unj+1 g unj
(5.40)
x

i
t h  n+ 13 
n+ 31
n+ 23
n+ 31
g uj
g uj1
(5.41)
Corrector : uj
= uj
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

5.4. TWO-STEP LAX-WENDROFF METHOD AND MACCORMACK METHOD131



1 n
n+ 2
(5.42)
uj + uj 3
2
This method will also be identical to Lax-Wendroff method for a linear flux. In the
non-linear case, all the three methods are different. The two-step Lax-Wendroff method
and MacCormack method do not need the evaluation of the flux Jacobian matrices, when
applied to vector conservation laws. Another central difference scheme which became popular is the scheme of Jameson, Schmidt and Turkel [16], which has higher order artificial
viscosity controlled by tuning parameters and Runge-Kutta time stepping for stability.
But, these tuning parameters are problem dependent and are not universal. Because of
these reasons, the upwind methods, which were introduced later, became more popular.
Upwind difference schemes will be presented in the next chapters.
un+1
=
j

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

132

Central Discretization Methods

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 6
Upwind Methods for Scalar
Conservation Laws
In the third chapter, we learnt about the upwind method for the linear convection equation. For a linear convection equation given by
u g (u)
+
= 0 where g (u) = cu
t
x

(6.1)

the upwind method is developed by splitting the wave-speed, c, into a positive part and
c + |c| c |c|
a negative part as c = c+ + c =
+
and using upwind discretization based
2
2
on these split wave-speeds, either in finite difference form or in finite volume form. For
example, the upwind finite difference method is
 
 
un+1
unj
u
u
j
+

+c
+c
=0
(6.2)
t
x Backwarddif f erence
x F orwarddif f erence
Note that the wave-speed c is taken out of the space differentiation term and the discretization is done with the non-conservative form of the equation. This is OK for the
linear convection equation since the wave-speed is a constant. What about a situation in
which the wave-speed is a variable? In the case of Burgers equation,
1
g (u) = u2
2

(6.3)

the wave-speed is given by


g (u)
=u
u
and the non-conservative form of the equation is
a=

(6.4)

u
u
+u
=0
t
x

(6.5)

133

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

134

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

We can see that the convection speed is not only a variable, it is the solution itself, which
is the unknown! Thus, non-linearity increases the complexity. In such cases, it is better to
use the conservative form of the equation, as it is well-known that only conservative formulations will capture the discontinuities correctly with the right positions on an average.
But, we need wave-speed splitting to separate the directions of information propagation,
so that upwinding can be done based on the separated wave-speeds. Therefore, the challenge is to combine wave-speed splitting with the conservative form. In this chapter,
four different strategies in which this question is answered will be presented, namely, flux
splitting method, the method of a Riemann Solver, the approach of Kinetic Schemes and
finally the strategy of Relaxation Schemes. After these basic strategies for the simpler
case of scalar but non-linear conservation equations, the corresponding methods for vector
conservation equations (Euler equations) are presented in the next chapter.

6.1

Flux Splitting Method

Consider the 1-D Burgers equation


u g (u)
1
+
= 0 where g (u) = u2
t
x
2

(6.6)

Let us rewrite the expression for the flux in such a way that it contains the wave speed,
g (u)
and the conserved variable, u.
a=
u
1
g (u)
1
and k = a constant
g (u) = u2 = u u = aku where a =
2
2
u

(6.7)

The flux now contains the wave-speed explicitly and the constant k is introduced such
that we can tackle both Burgers equation and linear convection equation together in the
same conservative discretization.
"
1 for linear convection equation
k= 1
(6.8)
for Burgers equation
2
a=

c for linear convection equation


u for Burgers equation

(6.9)

We can now introduce wave-speed splitting as


a = a+ + a =

a + |a| a |a|
+
2
2

and introduce it in the definition of the flux in conservative form as



g (u) = aku = a+ + a ku

(6.10)

(6.11)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.1. FLUX SPLITTING METHOD

135

Therefore, the flux now splits into two parts as


g (u) = a+ ku + a ku = g + + g

(6.12)

The scalar conservation equation now becomes


u g + g
+
+
=0
t
x
x

(6.13)

and now the flux derivatives are separated based on positive and negative wave-speeds. We
can now introduce upwind differencing to obtain an upwind flux splitting finite difference
scheme as
 +
 
u
g
g
+
+
=0
(6.14)
t
x Backwarddif f erence
x F orwarddif f erence
or

+
+

u gj gj1 gj+1 gj
+
+
=0
(6.15)
t
x
x
If we now discretize the transient term (time derivative of u) by forward differencing and
use an explicit discretization for the space discretiztaion, we obtain the first order flux
split upwind scheme for a scalar conservation equation as
n

+
gj+ gj1
gj+1
gj
unj
un+1
j
+
+
=0
t
x
x

(6.16)

To derive a finite volume method based on flux splitting, let us consider the integral
formulation as

Z tn+1 Z x 1 
j+ 2
u g (u)
dxdt = 0
(6.17)
+
t
x
tn
x 1
j 2

which becomes

i
t h n
n
gj+ 1 gj
1
2
2
x
To evaluate the fluxes at the cell interfaces in an upwind way, we can write

(ak
u)j if aj > 0
gj+ 1 =
2
(ak
u)j+1 if aj+1 < 0
un+1 j = unj

(6.18)

(6.19)

which can be written as


gj+ 1 = a+ k
u
2

Similarly, we can derive


gj 1 = a+ k
u
2

j1

+ a k
u

j+1

+ a k
u

= gj+ + gj+1

(6.20)

+
= gj1
+ gj

(6.21)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

136

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

and the update formula for the first order upwind finite volume method becomes
i
t h n
n
n
un+1
=
u

g
(6.22)

g
1
j
j
j 21
x j+ 2
where

(6.23)
gj+ 1 = gj+ + gj+1
2

and
+
+ gj
gj 1 = gj1

(6.24)

6.2

Approximate Riemann Solver of Roe

An original innovative idea of tackling the problem of designing an upwind method for
the non-linear scalar conservation equations using a conservative formulation was given
by Godunov [17]. At the edge of each finite volume or cell interface, he proposed to solve
a Riemann problem. A Riemann problem for the equation
u g (u)
+
=0
t
x
is the problem with the initial condition

ulef t for x < 0
u (x, t = 0) =
uright for x > 0

(6.25)

(6.26)

Since we are assuming piecewise polynomial variation within each cell, at the cell interfaces
there is always a discontinuity in the solution and hence a Riemann problem exists at
each cell interface. Godunov proposed to solve the Riemann problem exactly at the cell
interfaces. Such upwind methods are known as exact Riemann solvers. Roe [18] proposed
to solve an approximate Riemann problem at the cell interfaces, which simplifies the
procedure, without losing the accuracy. In this section, the approximate Riemann solver
of Roe is presented for scalar conservation equations.
Consider the scalar conservation equation
u g (u)
+
=0
t
x

(6.27)

Integrating the above equation over a finite volume (or equivalently a cell), we obtain
i
t h n
n
n
g
un+1
=
u

(6.28)

g
1
1
j
j
j 2
x j+ 2
In obtaining the conservative fluxes at the cell interfaces, we have to solve the Riemann
problem
(
ulef t for x < xj+ 1
u g (u)
2
+
= 0 with uj+ 1 =
(6.29)
2
uright for x > xj+ 1
t
x
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.2. APPROXIMATE RIEMANN SOLVER OF ROE

137

or, using the quasilinear form of the equation, the Riemann problem
(
ulef t for x < xj+ 1
u
u
2
+a
= 0 with uj+ 1 =
2
uright for x > xj+ 1
t
x
2

(6.30)

where

g (u)
(6.31)
u
is the wave-speed. Let us now replace the above Riemann problem by an approximate
Riemann problem
(
ulef t for x < xj+ 1
u
u
2
(6.32)
+a

= 0 with uj+ 1 =
2
uright for x > xj+ 1
t
x
a=

where a
is now linear and hence the equation is easier to solve and let a be a function of
both left and right states as
a = a (ulef t , uright )
(6.33)
Since we have replaced the nonlinear a by a linear a
, obviously, we should connect both
somehow. Let us now put two conditions on a.
1. a
(ulef t , uright ) = u if ulef t = uright = u
2. g = a
u
The first condition is a simple consistency condition such that when the left and right
states are the same, the approximate Riemann problem should get reduced to the actual
Riemann problem. The second condition actually comes from the conservation condition
G (U ) = AU for the vector conservation laws, modified for this scalar case for flux and
conservative variable differences here. More importantly, the second condition is actually
the Rankine-Hugoniot condition or the jump condition across a discontinuity. Let us now
select a
such that both these conditions are satisfied.
The second condition at the cell interface j + 12 can be written as
gj+1 gj
=a
j+ 1
2
uj+1 uj

(6.34)

gj+1 gj = a
j+ 1 (uj+1 uj )

(6.35)

or
2

Since this is the Rankine-Hugoniot condition, aj+ 1 is actually the speed of a discontinuity,
2
which we can denote by s. The above condition does not distinguish between a left-moving
and right-moving discontinuity. More importantly, the above condition does not give us an
interface flux, gj+ 1 . Therefore, let us split the speed of the discontinuity into two parts - a
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

138

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

s s s+

1
0
0
1

1
0
0
1

j1

1
0
0
1

j+1

j1/2

j+1/2

positive one representing the right-moving discontinuity and a negative one representing
the left-moving discontinuity, as shown in the figure above.
s = s+ + s =

s + |s| s |s|
+
2
2

(6.36)

Then, we can rewrite the second condition as


gj+ 1 gj = s (uj+1 uj )

(6.37)

gj+1 gj+ 1 = s+ (uj+1 uj )

(6.38)

and
2

Since we denoted the wave speed by the speed of the discontinuity, we can write

(uj+1 uj )
gj+ 1 gj = a
j+ 1

(6.39)

(uj+1 uj )
gj+1 gj+ 1 = a
+
j+ 1

(6.40)

and
2

Subtracting the equation (6.40) from (6.39), we get


2gj+ 1 = (gj + gj+1 ) + (uj+1 uj )(
a
+
)
a
j+ 1
j+ 1
2

or
Here

1
1
+
)(uj+1 uj )
gj+ 1 = (gj + gj+1 ) + (
aj+ 1 a
j+ 21
2
2
2
2

(6.41)

1
a

a 1 |aj+ 1 |)
= (
j+ 21
2
2 j+ 2

(6.42)

1
1
1
1
a
+
= a
a

j+ 1 |
aj+ 1 | a
j+ 1 |
a 1|
j+ 21
j+ 21
2
2
2
2
2
2
2 j+ 2
a
+
= |aj+ 1 |
a

j+ 1
j+ 1
2

(6.43)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.2. APPROXIMATE RIEMANN SOLVER OF ROE


gj+ 1 =
2

139

1
1
(gj + gj+1 ) |
a 1 | (uj+1 uj )
2
2 j+ 2

(6.44)

1
1
(gj1 + gj ) |
a 1 | (uj uj1 )
2
2 j 2

(6.45)

Similarly, we can obtain


gj 1 =
2

Now that we have an expression for the interface fluxes, let us find out the right value of
the interface wave speed. For the Burgers equation
a
j+ 1 =
2

1 2
uj 12 u2j
gj+1 gj
= 2
=
uj+1 uj
uj+1 uj

1
2

(uj+1 uj ) (uj+1 + uj )
1
= (uj + uj+1 )
uj+1 uj
2

(6.46)

Therefore, we have obtained an update formula for the approximate Riemann solver which
satisfies the second condition. Let us now verify whether the wave speed so obtained
satisfies the first condition.
1
(6.47)
a
j+ 1 = (uj + uj+1 )
2
2
When uj = uj+1 = u, the above expression gives a
j+ 1 = u, which is the wave speed of
2
the original conservation law for the Burgers equation. Thus, the first condition is also
satisfied.

6.2.1

Entropy Fix for Roes Scheme

Let us now rewrite the expression for the interface flux for Roes scheme as
gj+ 1 =
2

1
1
(gj + gj+1 ) j+ 1 (uj+1 uj )
2
2
2

(6.48)

The first term on the right hand side leads to the central discretization and the second
term on the right hand side leads to the dissipation part. Therefore, j+ 1 represents
2
the coefficient of numerical diffusion. Comparing with the actual expression we derived
before, we can see that
(6.49)
j+ 1 = |aj+ 1 |
2

where aj+ 1 is the wave-speed. Therefore, the numerical diffusion varies linearly with the
2
wave-speed in Roes scheme. This creates a problem as the wave-speed goes to zero, as
the numerical diffusion also goes to zero! Such points where the wave-speed changes sign
are called sonic points. Near sonic points, we are left with only central discretization,
as the numerical diffusion vanishes, and thus the numerical method does not respect the
hyperbolicity. Therefore, Roes scheme produces an unphysical expansion shock instead
of capturing an expansion fan. To correct this behaviour, a residual dissipation is usually
introduced at the sonic points. This residual dissipation prevents the scheme from producing an expansion shock and the expansion fan is captured well because of its presence.
Let us now, derive such a numerical dissipation fix, called as the entropy fix.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

140

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

The basic idea is to select a small region near the sonic points and force a residual
dissipation in this region, instead of letting the dissipation go to zero. Since the variation
of dissipation with respect to the wave-speed is linear outside this region, the simplest
way of doing this is to force a quadratic variation, by choosing the dissipation versus
wave-speed curve to be a parabola instead of straight lines, as shown in the figure (6.1)
below. Let us select the width of the small region in which the residual dissipation is to
j+1/2

/2

aj+1/2

Figure 6.1: Entropy Fix for Roes Scheme


be forced to be of width on the wave-speed axis. Let us keep the residual dissipation in
1
the axis representing the coefficient of numerical diffusion, as . Assuming a parabolic
2
variation, we can write
= k1 a2 + k2 a + k3
(6.50)
where a is the wave-speed, k1 , k2 and k3 are constants and is the coefficient of diffusion.
1
Since the residual diffusion is , we have the condition
2
1
(a = 0) =
2

(6.51)

Therefore

1
k3 =
2
and the equation of the parabola becomes
1
= k1 a2 + k2 a +
2

(6.52)

(6.53)

Now, we require a symmetrical variation of with respect to a. Therefore


(a) = (a)
or

(6.54)


1
1
k1 (a)2 + k2 (a) + = k1 a2 + k2 (a) +
2
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.2. APPROXIMATE RIEMANN SOLVER OF ROE

141

which gives
k2 = 0

(6.55)

Therefore, the equation of the parabola becomes


1
= k1 a2 +
2

(6.56)

Let us now connect this parabola to the linear variation that we are starting back at
a = ||. Therefore
(a = ) = a and (a = ) = a
(6.57)
Therefore

and

1
k1 ()2 + =
2

(6.58)

1
k1 (+)2 + =
2

(6.59)

Both the above equations lead to


1
k1 2 =
2
or
k1 =

1
2

(6.60)

Therefore, the equation of the parabola becomes


=

1 2 1
a +
2
2

or
=

a2 + 2
2

(6.61)

Thus, we fix the values of the numerical dissipation as

j+ 1
2

a2 + 2
for aj+ 1 <
2
=
2
1 = |a 1 | for a 1
j+
j+
j+
2

(6.62)

The value of has to be fixed by numerical experimentation so that the unphysical


expansion shock given by Roes scheme is removed and the expansion fan is captured
correctly.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

142

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

6.3

Kinetic Flux Splitting Method

A Kinetic Scheme for Burgers equation can be constructed from a Boltzmann equation
with a B-G-K model and a suitably selected Maxwellian (equilibrium distribution) such
that we get the right moments. Let us consider the 1-D case. The Boltzmann equation
with the B-G-K model is
f
f
F f
+v
=
(6.63)
t
x
tR
Here, f is the molecular velocity distribution function, v is the molecular velocity and
F is the Maxwellian distribution function. The Maxwellian (equilibrium) distribution is
selected in such a way that we can get the right moments.

u 2

F = u e (v 2 )
(6.64)

The moments are


u = hf i =

g (u) = hvf i =

and

f dv = hF i =

F dv

(6.65)

vf dv = hvF i =

vF dv

(6.66)

Note that does not have any physical significance here, as there is no energy equation
(no pressure or temperature). just plays the role of a constant, which determines the
shape of the equilibrium distribution. The Burgers equation can be recovered as a moment
of the above Boltzmann equation, given by the following mathematical expression.


f
f
F f
h
i
(6.67)
+v
=
t
x
tR
where
hf i =

f dv

(6.68)

This approach is valid for recovering any scalar conservation law, as long as the Maxwellian
(equilibrium) distribution is suitably defined. To recover the linear convection equation,
the Maxwellian is given by

F = u e(vc)
(6.69)

We now use the splitting method to separate the linear convection term on the left hand
side of the Boltzmann equation with the B-G-K model from the non-linear source term
on the right hand side, leading to the following two steps as :
Collision Step :
df
F f
=
(6.70)
dt
tR

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.3. KINETIC FLUX SPLITTING METHOD

143

Convection Step :

f
f
+v
=0
(6.71)
t
x
To simplify further, we take the relaxation time tR in the collision step to be zero, thereby
forcing instantaneous relaxation. This simplifies the collision step to a relaxation step.
Thus, we have two steps :
Relaxation Step :
f =F
(6.72)
Convection step :

f
f
+v
=0
(6.73)
t
x
Therefore, all we have to do is to take the initial distribution function as a Maxwellian
and then solve the above linear convection equation by an upwind method for a time-step
t. This constitutes one time-step. Taking moments of the resulting scheme will yield
an upwind scheme for the scalar conservation equation.
Let us now apply an upwind method to the above linear convection equation of the
convection step. First, let us rewrite the above equation in conservative form as
(vf )
f
+
=0
t
x

(6.74)

Note that molecular velocity v is not a function of the space coordinate x, as v changes
only due to molecular collisions (the model we have used in Kinetic Theory is just free
flow with collisions, the free flow being represented by the above equation). Let us now
split the molecular velocity into a positive part and a negative part as
v = v+ + v =

v + |v| v |v|
+
2
2

(6.75)

Therefore, we obtain

f
(v + + v ) f
+
=0
t
x
(v + f ) (v f )
f
+
+
=0
(6.76)
t
x
x
Since we have separated the wave speed (v in this case) into positive and negative parts,
we can now introduce upwind differencing on a 3-point stencil of points [j 1, j, j + 1] as
(v + f )j (v + f )j1 (v f )j+1 (v f )j
f
+
+
=0
t
x
x

(6.77)

Using a simple explicit Euler time-stepping to discretize the transient term and using an
explicit discretization of the space terms, we obtain
n

fjn+1 fjn (v + f )j (v + f )j1 (v f )j+1 (v f )j


+
+
=0
t
x
x

(6.78)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

144

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

or

n i
n
n
t h + n

+
=

v f j v f j1 + v f j+1 v f j
x
Since we have fjn = Fjn from the Relaxation Step, the above equation becomes
fjn+1

fjn

fjn+1 = Fjn

n i
n
n
t h + n
v F j v + F j1 + v F j+1 v F j
x

(6.79)

(6.80)

Let us now take moments of the above upwind scheme so that we obtain an upwind
scheme for the scalar conservation equation considered as
hfjn+1 = Fjn
or
hfjn+1 i = hFjn i

n i
n
n
t h + n
v F j v + F j1 + v F j+1 v F j i
x

n i
n
n
t h + n
h v F j i h v + F j1 i + h v F j+1 i h v F j i
x

(6.81)

(6.82)

By definition, hf i = hF i = u and hvf i = g. Therefore, the above equation becomes


un+1
= unj
j
where


t  +n
n 
+n
n
gj gj1
+ gj+1
gj
x
g = hv F i

are the split fluxes. Let us evaluate the split fluxes.


Z
v + |v|
+
+
F dv
g = hv F i =
2

or
+

g =

vF dv

(6.83)

(6.84)

(6.85)

(6.86)

since v is positive. Therefore


+

g =

or

u 2

vu e (v 2 ) dv

Z
u 2

ve (v 2 ) dv
g = u
0
+

To evaluate this integral, let us use the substitution


p 
u
w= v
2

(6.87)

(6.88)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.3. KINETIC FLUX SPLITTING METHOD


Therefore
v=
and

145

u
2

1
dv = dw

since u is the mean the molecular velocity. The limits are :


As v
As v

w
w

u
w s where s =
2

As v 0
Therefore

Z 

u w2 1
w

+
dw
g = u
e
s
2

 Z

Z
1
u
+
w2
w2
g = u
we dw +
e dw
s
2 s
+

or

Let us now evaluate the integrals in the above equation.


Z
2
wew dw
I1 =

(6.89)

(6.90)

I1 =

w2

we

dw +

wew dw

1
2
wew dw

2
0
where we have used the table of integrals supplied in the first chapter. Let us use the
change of variable as
z = w2 ; therefore dz = 2wdw
I1 =

As w 0, z 0; as w s z s2
Z s
1
1
2
I1 =
2wdwew
2
2
0
Z s2
1 1
ez dz
I1 =
2 2 0
2
1 1
I1 = [ez ]s
0
2 2
i
1 1 h s2
0
e e
I1 =
2 2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

146

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS


i
1 1 h s2

e 1
2 2
1 1 2 1
I1 = es +
2 2
2

I1 =

Therefore

1 2
I1 = es
2
Let us now evaluate the second integral.
Z
2
ew dw
I2 =

(6.91)

(6.92)

I2 =

w2

dw +

ew dw

ew dw
2
0

Z s

2
ez dz where z = w
+
I2 =
2
0
Let us now use the definition of the error function
Z s
2
2
ew dw
erf (s) =
0
I2 =

Therefore

+
erf (s)
I2 =
2
2
or

I2 =
[1 + erf (s)]
2
Therefore, the split flux expression becomes


u
1 s2
+
g = u
e +
{1 + erf (s)}
2
2 2
or

(6.93)

u
g + = gA+ + B
2

(6.94)

(6.95)

where

1 + erf (s)
1
2
and B = es
g = u2 , A+ =
2
2
Similarly, we can evaluate the negative split flux
Z 0
u

g =
ve (v 2 ) dv

(6.96)

(6.97)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.4. RELAXATION SCHEMES


as

147
u
g = gA B
2

where

1 erf (s)
2

A =

(6.98)

(6.99)

Note that here

1 p
1
g = u2 and s = u
2
2
Both the split fluxes can be written as
u
g = gA B
2

6.4

(6.100)

(6.101)

Relaxation Schemes

Consider the Burgers equation


1
u g (u)
+
= 0 where g (u) = u2
t
x
2

(6.102)

The Relaxation System of Jin and Xin for the above conservation law is given by
u v
+
=0
t
x

(6.103)

v
u
1
+ 2
= [v g (u)] where 0
(6.104)
t
x

Equivalently, the diagonal form of the above Relaxation System leads to the discrete
Boltzmann equation as (see chapter 1)
f
f
F f
+
=
with 0
t
x

(6.105)

1
1
 u v

2
f1
2
=
f=

f2
1
1
u+ v
2
2

(6.106)

where

0
0

(6.107)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

148

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

and

1
1

 u g (u)
2
F1
2
F =
=
F2
1
1
u + g (u)
2
2

(6.108)

We can use any of the above relaxation systems as a starting point to develop an upwind
scheme for the Burgers equation.

6.4.1

Relaxation Scheme

Let us now take the Relaxation System


u v
+
=0
t
x

(6.109)

u
1
v
+ 2
= [v g (u)]
(6.110)
t
x

Thus, we have to solve two convection equations, one with a source term. The update
formulae are
i
un+1
unj
1 h n
j
n
=
0
(6.111)
+
vj+ 1 vj
1
2
2
t
x
and
i

vjn+1 vjn
2 h n
1
+
uj+ 1 unj 1 = vjn g unj
(6.112)
2
2
t
x

Since the Relaxation System has two characteristic variables f1 and f2 which travel with
the frozen characteristic speeds and , upwinding will be applied to these two characteristic variables, based on the characteristic speeds. Therefore
f1,j+ 1 = f1,j+1 for the characteristic speed

(6.113)

f2,j+ 1 = f2,j for the characteristic speed

(6.114)

1
1
1
1
uj+ 1 vj+ 1 = uj+1 vj+1
2
2
2
2
2
2

(6.115)

and
2

Therefore
and

1
1
1
1
uj+ 1 + vj+ 1 = uj vj
(6.116)
2
2
2
2
2
2
We now have two equations with two unknowns, namely, uj+ 1 and vj+ 1 . Solving these
2
2
two equations, we obtain
uj+ 1 =
2

1
1
(uj + uj+1 )
(vj+1 vj )
2
2

(6.117)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.4. RELAXATION SCHEMES

149

and

(6.118)
vj+ 1 = (uj+1 uj ) + (vj + vj+1 )
2
2
2
The expressions for uj 1 and vj 1 can be obtained from the above expressions by substi2
2
tuting j 1 for j. Substituting the above into the update equation, we obtain
un+1
= unj
j

and
vjn+1 = vjn

 t  n

t  n
n
vj+1 vj1
uj+1 2unj + unj1
+
2x
2x

(6.119)

 t  n
 t  n

2 t  n
n
uj+1 unj1 +
vj+1 2vjn + vj1
vj g unj

(6.120)
2x
2x

We can use the initial condition v (x, t = 0) = g {u (x, t = 0)}. For the value of , experiments have shown that any small value such that 104 will work. Jin and Xin
used = 108 and this value is recommended for use. Alternatively, we can also develop
a Relaxation Scheme by upwind differencing the Discrete Boltzmann equation directly.
Such a Discrete Kinetic Scheme is presented in the next section.

6.4.2

Discrete Kinetic Scheme

Consider the 1-D Burgers equation


u g (u)
1
+
= 0 with g (u) = u2
t
x
2

(6.121)

The diagonal form of the Relaxation System for the above equation is the discrete Boltzmann equation, given by
f
1
f
+
= [F f ]
(6.122)
t
x

where F is the Maxwellian defined by

F =

F1
F2

u g (u)

2
= 2

u g (u)
+
2
2

(6.123)

Let us now apply a splitting method for the discrete Boltzmann equation, obtaining a
Relaxation Step as
1
df
= [F f ]
(6.124)
dt

and a Convection Step as


f
f
+
=0
(6.125)
t
x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

150

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

Let us now simplify the Relaxation Step further by assuming = 0 (instantaneous relaxation), obtaining f = F as the Relaxation Step. Therefore, we just have to solve the two
linear convection equations of the above Relaxation System
f1 h1
+
= 0 where h1 = f1
t
x

(6.126)

and

f2 h2
+
= 0 where h2 = f2
(6.127)
t
x
with the constraints f1 = F1 and f2 = F2 . Let us now apply upwinding to the above two
equations. The finite volume method applied to the above equations leads to
i
t h n
n+1
n
h1,j+ 1 hn1,j 1
f1,j
= f1,j

(6.128)
2
2
x
i
t h n
n+1
n
(6.129)
h2,j+ 1 hn2,j 1
f2,j
= f2,j

2
2
x
We can obtain upwind fluxes in the above two equations by using
h1,j+ 1 = h1,j+1 as wave speed is and information comes from right

(6.130)

h2,j+ 1 = h2,j as wave speed is and information comes from left

(6.131)

Similarly,
h1,j 1 = h1,j as wave speed is and information comes from right

(6.132)

h2,j 1 = h2,j1 as wave speed is and information comes from left

(6.133)

The above scheme is the simpler Upwind Relaxation Scheme obtained as the Discrete
Kinetic Scheme. The conserved variable can be obtained as a moment as
n+1
n+1
= f1,j
+ f2,j
(6.134)
un+1
j
Let us now check what is obtained by such an Upwind Relaxation Scheme for the Burgers
equation. By substituting the upwind fluxes in the update formulae, we obtain


n
n
n
n+1 + fn+1 t hn
un+1
=
f

h
+
h

h
(6.135)
1,j
2,j
2,j1
j
1,j
2,j
x 1,j+1
or

 n

 n
n
n 
uj+1 gj+1
uj
unj
gjn
gjn
unj1 gj1
t
n+1
n

+
+

uj = uj
x
2
2
2
2
2
2
2
2
(6.136)
or
 t  n

t  n
n
un+1
= unj
gj+1 gj1
uj+1 2
unj + unj1
+
(6.137)
j
2x
2x
Therefore, the upwind relaxed scheme leads to a central differencing of the fluxes plus a
numerical dissipation term, with the coefficient of numerical dissipation being proportional
to the parameter introduced in the Relaxation System, .

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.4. RELAXATION SCHEMES

6.4.3

151

A Low Dissipation Relaxation Scheme

The Relaxation Schemes are more dissipative than the approximate Riemann solver of
Roe (which can capture steady discontinuities exactly, without numerical dissipation).
Recently, Raghurama Rao and Balakrishna [53] developed a low dissipation Relaxation
Scheme which can capture steady discontinuities exactly, like Roes scheme. That low
dissipation Relaxation Scheme, named An Accurate Shock Capturing Algorithm with a
Relaxation System (ASCARS) is described below.
The two equations of the convection step are
f1
f1

=0
t
x

(6.138)

and

f2
f2
+
=0
t
x
which can be integrated over the finite volume to obtain

and

where

(6.139)

i
t h n
n+1
n
n

f1,j = f1,j
h
1 h
1,j 12
x 1,j+ 2

(6.140)

i
t h n
n+1
n
n

h
f2,j = f2,j
1 h
2,j 12
x 2,j+ 2

(6.141)

h1 = f1 , h2 = f2 and x = xj+ 1 xj 1
2

(6.142)

The cell-integral averages are defined by


1
f1,j =
x
and

1
f2,j =
x

xj+ 1

xj+ 1

f1 dx

(6.143)

f2 dx

(6.144)

xj 1

xj 1

We can define the fluxes at the cell interfaces as


h1,j+ 1 =
2

1
[h1,j + h1,j+1 ] d1,j+ 1
2
2

(6.145)

where d1,j+ 1 is the diffusive flux added to the central differences represented by the first
2
two terms on the right hand side. The general form of the diffusive flux is


1
d1,j+ 1 = 1,j+ 1 f1,j+1 f1,j
2
2
2

(6.146)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

152

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

Similarly,
h2,j+ 1 =
2

and

1
[h2,j + h2,j+1 ] d2,j+ 1
2
2



1
d2,j+ 1 = 2,j+ 1 f2,j+1 f2,j
2
2
2

(6.147)

(6.148)

Here, 1,j+ 1 and 2,j+ 1 are the coefficients of numerical diffusion.


2
2
The basic idea of the new scheme, ASCARS, is to fix the coefficients of the numerical
dissipation 1,j 1 and 2,j 1 in such a way that the resulting scheme satisfies the Rankine2
2
Hugoniot (jump) condition for the original non-linear conservation law. With this aim,
we keep these coefficients open, without fixing their values, and substitute them in the
flux expressions to obtain the update formulae as
n+1
f1,j
=

and
n+1
f2,j
=


t  n
n
n
f1,j
+
f1,j+1 f1,j1
2x
i
t h
n
n
f1,j
1,j+ 1 f1,j+1
+
2
2x
i
t h
n
n
f1,j1
1,j 1 f1,j

2
2x

t  n
n
n
f2,j
+
f2,j+1 f2,j1
2x
i
t h
n
n
f2,j
2,j+ 1 f2,j+1
+
2
2x
i
t h
n
n
f2,j1

2,j 1 f2,j
2
2x

(6.149)

(6.150)

n+1
n+1
Since un+1
= f1,j
+ f2,j
, we obtain, after using the simplified relaxation step fjn = Fjn
j
and the simplification 1,j 1 = 2,j 1 = j 1 , the following update formula.
2

un+1
= unj
j
+


t  n
n
gj+1 gj1
2x



t
j+ 1 unj+1 unj
2
2x

(6.151)



t
j 1 unj unj1
2
2x

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.4. RELAXATION SCHEMES

153

which can be rewritten as


un+1
= unj
j
where
gj+ 1 =
2

i
t h n
n
gj+ 1 gj
1
2
2
x

(6.152)

1
1
[gj + gj+1 ] j+ 1 [uj+1 uj ]
2
2
2

(6.153)

and

1
1
[gj1 + gj ] j 1 [uj uj1 ]
2
2
2
2
With a little algebraic manipulation, we can rewrite the expression (6.153) as
gj 1 =

(6.154)

+
gj+1 + gj+ 1 + j+
1 [uj+1 uj ]
2

(6.155)

+gj+ 1 gj + j+
1 [uj+1 uj ] = 0
2

where

j+
1 =

j+ 1 |j+ 1 |
2

2
Therefore, the expression for the flux can be split into the following two parts :

(6.156)

+
gj+1 gj+ 1 = j+
1 [uj+1 uj ]

(6.157)

gj+ 1 gj = j+
1 [uj+1 uj ]

(6.158)

and
2

Let us now compare the fluxes in (6.157) and (6.158) with the fluxes that satisfy RankineHugoniot condition. To derive such fluxes satisfying the Rankine-Hugoniot condition,
assume that there is a shock located between the grid points xj and xj+1 , moving with a
speed sj+ 1 . To distinguish the shock moving to the right from the shock moving to the
2
and a negative part s
where
left, we split the shock speed into a positive part s+
j+ 1
j+ 1
2

s
=
j+ 1

sj+ 1 |sj+ 1 |
2

(6.159)

The Rankine-Hugoniot condition (g = su) for the above two cases are given by (see
[54])
gj+1 gj+ 1 = s+
[uj+1 uj ]
(6.160)
j+ 1
2

and
gj+ 1 gj = s
[uj+1 uj ]
j+ 1
2

(6.161)

Comparing the expressions (6.157) and (6.158) with the Rankine-Hugoniot condition for

the shock moving to the right (6.160) and left (6.161), we can fix the coefficients j+
1 as
2

+
j+
1
2

s+
j+ 21

and

j+
1
2

s
j+ 21

(6.162)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

154

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

from which we can obtain the expression for the coefficient of numerical diffusion as
j+ 1 = |sj+ 1 |
2

(6.163)

Similarly, we can obtain the expression for the other coefficient of numerical diffusion as
j 1 = |sj 1 |
2

(6.164)

For the scalar conservation law, defining the shock speed s by


s=

g
u

(6.165)

we obtain

sj+ 1 =
2

and

sj 1 =
2

gj+1 gj

if uj 6= uj+1

uj+1 uj

(6.166)

gj gj1

if uj 6= uj1

uj uj1

(6.167)

g
|j if uj = uj+1
u

g
|j if uj = uj1
u

Therefore, the new Relaxation Scheme which satisfies the Rankine-Hugoniot condition is
given by the following algorithm.
i
t h n
n+1
n
f1,j
= f1,j

h1,j+ 1 hn1,j 1
2
2
x
i
h
t
n+1
n
hn2,j+ 1 hn2,j 1
f2,j
= f2,j

2
2
x
h1 = f1 , h2 = f2 , x = xj+ 1 xj 1
2

1
h1,j+ 1 = [h1,j + h1,j+1 ] d1,j+ 1
2
2
2


1
d1,j+ 1 = 1,j+ 1 f1,j+1 f1,j
2
2
2
1
h2,j+ 1 = [h2,j + h2,j+1 ] d2,j+ 1
2
2
2


1
d2,j+ 1 = 2,j+ 1 f2,j+1 f2,j
2
2
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

6.4. RELAXATION SCHEMES

j+ 1

j 1

155

g g
j+1
j

| if uj 6= uj+1
|
u

j+1
j
=
g

| |j if uj = uj+1
u

gj gj1

|
| if uj 6= uj1
u

j
j1
=
g

| |j if uj = uj1
u
un+1 = fn+1 + fn+1
j

1,j

(6.168)

2,j

This low dissipation Relaxation Scheme (ASCARS) for a scalar conservation law, in
the final analysis, is equivalent to the approximate Riemann solver of Roe, though the
implementation is different, as well as the linearisation. The coefficient of numerical dissipation, j 1 is linearly proportional to the numerical wave-speed and thus the dissipation
2
goes to zero when the wave-speed goes to zero. This happens near the sonic points where
the wave-speed changes sign. Since zero dissipation leads to the violation of the entropy
condition, we modify the coefficient of numerical diffusion by forcing a quadratic variation
instead of a linear variation and by keeping a residual dissipation near the sonic points,
as done to the Roes scheme by an entropy fix. Note that this is the entropy fix of Harten
(see [36] for details).

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

156

CHAPTER 6. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Chapter 7
Upwind Methods for Vector
Conservation Laws
In this chapter, some upwind methods for solving vector conservation equations are presented. Some of the basic ideas presented in the previous chapter for scalar conservation
equations are expanded here for the case of vector conservation equations. Specifically,
the Flux Splitting method, the approximate Riemann solver, the Kinetic Flux Splitting
and the Relaxation Schemes are extended for the Euler equations.

7.1

Some features of Euler equations

In this section, some important features of Euler equations, which are necessary to understand the numerical methods presented in this chapter, are described. Before studying
the Flux Vector Splitting method, we need to understand the homogeneity property of the
Euler equations. Let us first study this property.

7.1.1

Homogeneity Property

Consider a function f (x). If we multiply the variable x by another variable m and if


f (mx) = mf (x)

(7.1)

then the function f (x) is called as a function which is homogeneous of degree one (as
the power of m on the right hand side is 1). Let us differentiate both sides of (7.1) with
157

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

158

Upwind methods vector conservation laws

respect to m.

[f (mx)] =
[mf (x)]
m
m
f (w) w
[m]
or
=
f (x) where w = mx
w m
m
f (mx)
or
x = 1 f (x)
(mx)
f (mx)
x
f (x) =
(mx)
If we now take m = 1, we obtain
f (x) =

f (x)
x
x

(7.2)

Let us now check some typical flux functions.

7.1.2

Linear Convection Equation:


u g(u)
+
= 0; g(u) = cu
t
x
g(mu) = c (mu) = mcu = m g(u)
g(mu) = mg(u)

(7.3)
(7.4)
(7.5)

The flux is a homogeneous function of degree one. Differentiating w.r.t. m on both sides,
we get
g(mu)
[m(g(u)]
=
(7.6)
m
m
m
g(w)
= g(u)
where w = mu
(7.7)

m
m
g(w) w
= g(u) 1
(7.8)

w m
g(w)

u = g(u)
(7.9)
w
g(w)
(7.10)
g(u) = u
w
where,
w = mu
(7.11)
Let us take,
m=1

(7.12)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Homogeneity property

159

Then
w=u

(7.13)

g(u)
u
g(u) = cu

g(u) = u

(7.14)
(7.15)

which is trivially same as (7.3), but it is evident that the flux for the linear convection
equation satisfies the homogenity property.

7.1.3

Burgers equation:

1
u g(u)
+
= 0; g(u) = u2
t
x
2
1
1
g(mu) = (mu)2 = m2 u2 = m2 g(u)
2
2
The flux g(u) is not a homogeneous function of degree one.

7.1.4

(7.16)
(7.17)

Euler Equations:
G(U )
U
+
=0
t
x

U = u ; G(U ) = p + u2
pu + uE
E

p = RT ; E =
E =

p
1
+ u2
( 1) 2

p
1
p
1
+ u2 =
+ u2
( 1) 2
1 2

1
p = (E u2 )( 1)
2


1 U22
p = U3
( 1)
2 U1
G1 = u = U2
G2 = p + u2 = U3 ( 1)

( 1) U22 U22
+
2
U1
U1

(7.18)

(7.19)

(7.20)
(7.21)
(7.22)
(7.23)
(7.24)
(7.25)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

160

Upwind methods vector conservation laws


= U3 ( 1) +

U22
1
]
[1
U1
2

(7.26)

(3 ) U22
2
U1

(7.27)

= U3 ( 1) +

G3 = pu + uE = [U3 ( 1)
=

1 U22 U2 U2 U3
] +
2 U1 U1
U1

U2 U3
1 U23 U2 U3
( 1)
+
U1
2 U12
U1
U2 U )3 ( 1) U23

=
U1
2 U12

(7.28)
(7.29)
(7.30)

U2
(3) U 2

G = U3 ( 1) + 2 U21
U3
U2 U3
U22 (1)
U1
2

(7.31)


mU1
U1
mU = m U2 = mU2
U3
U3

(7.32)

Let m be a scalar,

mU2
(3) (mU2 )2

G(mu) = mU3 ( 1) + 2 mU1


(1) (mU2 )3
2 U3

m2 UmU
2 (mU1 )2
1

U2
(3) U 2

= m U3 ( 1) + 2 U21 = mG(U )
U2 U3

U1

(7.33)

(1) U23
2 U12

G(mU ) = mG(U )

(7.34)

The flux vector G(U ) is a homogeneous function of degree one. Differentiating both sides
of (27) w.r.t we get

G(mU )
=
[mG(U )]
(7.35)
m
m

G(W )
= G(U )
[m]
(7.36)

m
m
where W = mU
G(W ) W

= G(U ).1
(7.37)
W m

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.2. FLUX VECTOR SPLITTING

161

G(W )
.U = G(U )
W
G(W )
U
G(U ) =
W
where W = mU . Taking m = 1, w = 0

(7.40)

G(U ) = A(U ).U

(7.41)

A(U ) =

A(U ) =

7.2
7.2.1

0
(3) 2
u
2
(1) + u3 (2)
2
ua2

(7.39)

G(U )
U
U

G(U ) =
where

(7.38)

G(U )
U

1
0
(3 )u
( 1)

2
a
2 (32)
+
u
u
(1)
2

(7.42)

(7.43)

Flux Vector Splitting


Flux Splitting for Linear Convection Equation

Let us consider the linear convection equation;


u
u
+c
=0
t
x

(7.44)

We can write this equation in the conservative form ;


u g
+
=0
t
x

(7.45)

g = cu

(7.46)

u c + |c| unj unj1


c |c| unj+1 unj
+
[
]+
[
]=0
t
2
x
2
x

(7.47)

unj unj1
unj+1 unj
u
+ c+ [
] + c [
]=0
t
x
x

(7.48)

u (c+ un )j (c+ un )j1 (c un )j+1 (c un )j


+
+
=0
t
x
x

(7.49)

where
The C-I-R scheme for (1) is;

or
or

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

162

Upwind methods vector conservation laws

or

u gj gj1 gj+1 gj
+
+
=0
t
x
x

(7.50)

g + = c+ u

(7.51)

g = c u

(7.52)

where

c + |c| c |c|
+
] = cu
2
2
g+ + g = g

g + + g = c+ u + c u = u[

(7.53)
(7.54)

The upwind scheme has resulted in the splitting of the flux g into a positive part g + and
a negative part g .
Flux Vector splitting for a non-linear vector system of equations is the generalization
of the above procedure to the non-linear vector conservations equations. Obviously, we
require the homogeneity property. Fortunately, Euler equations also possess this property.

7.2.2

Flux Vector Splitting for Euler Equations:

U
U
+
=0
(7.55)
t
x
We know that A has real eigenvalues and linearly independent eigenvectors as the system
(15) is hyperbolic. The eigenvalues are;
1 = u a, 2 = u, 3 = u + a
The corresponding right eigenvectors are

1
1
1
R1 = u a , R2 = u and R3 = u + a
u2
H ua
H + ua
2
where H = h +

u2
2

=e+

u2
2

H=

p
(1)

u2
2

(7.56)

(7.57)

is the total specific enthalpy.

u2
a2
u2
p
+
=
+
( 1)
2
( 1)
2

(7.58)

where

The matrix A can be diagonalized using the eigenvectors and the eigenvalues.
a2 =

A = R1 DR

(7.59)

(7.60)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.2. FLUX VECTOR SPLITTING

163

where

1 0 0
D = 0 2 0
0 0 3

(7.61)

1
u+a
H + ua

(7.62)

a
u (1)
1

2u
2
a
u
1
(1)

(7.63)

is the diagonal matrix.

ua
R=
H ua

R1 is the inverse of R.
R1 =

( 1)

2a2

1
u
u2
2

ua
u2
+ (1)
2
2a2
u2
(1)
2
ua
u
(1)
2

The eigenvalue matrix D can be split into two parts. D+ and D such that D+ contains
only positive eigenvalues and D contains only negative eigenvalues.
D = D+ + D

1 0
0
+
0
0
1
0
0 ; D = 0
D + = 0 +
2
2
+
0
0
0
0 3
3

(7.64)

(7.65)

Note that splitting D into D+ and D is not unique. Several splittings are possible.
Consequently, several flux vector splittings are possible.
A = R1 (D)R

(7.66)

A = R1 (D+ + D )R

(7.67)

A = R1 D+ R + R1 D R

(7.68)

A = A+ + A

(7.69)

A+ = R1 D+ R

(7.70)

A = R1 D R

(7.71)

G = AU

(7.72)

where

Using the homogeneous property;

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

164

Upwind methods vector conservation laws

we get G = AU = (A+ + A )U = A+ U + A U
G = G+ + G

(7.73)

G+ = A+ U

(7.74)

G = A U

(7.75)

U
G
+
=0
t
x

(7.76)

(G+ + G )
U
+
=0
t
x

(7.77)

G+ G
U
+
+
=0
t
x
x

(7.78)

where

The Euler equations become;

Now that G+ has only positive eigenvalues and G has only negative eigenvalues, we
+

can backward difference the G


and forward difference the G
term.
x
x
n

G+
G
U
j Gj1
j+1 Gj

+
+
=0
t
x
x

(7.79)

Rearranging we get
n

(G+
U
j + Gj+1 ) (Gj1 + Gj )
+
=0
t
x

(7.80)

(Gnj+ 1 Gnj 1 )
U
2
2

+
=0
t
x

(7.81)

Gj+ 1 = G+
j + Gj+1

(7.82)

Gj 1 = G+
j1 + Gj

(7.83)

where
2

(35) is not in conservative form.


Flux vector splitting for a non-linear system of equations is the generalization of the
flux splitting procedure presented for the scalar conservation laws to the vector case.
The main aim is to introduce wave-speed splitting (for upwinding) in the conservative
form. The Flux Vector splitting method depends on the homogeneity property of Euler
equations. Consider the Euler equations
U
G
+
=0
t
x

(7.84)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.2. FLUX VECTOR SPLITTING

165

where

U = u and G = p + u2
pu + uE
E

(7.85)

In the quasilinear form, the Euler equations are given by

U
U
G
+A
= 0 where A =
t
x
U

(7.86)

The homogeneity property is given by


G = AU
where

A=

0
( 3) 2
u
2
2
ua
( 2)

+ u3
( 1)
2

(7.87)
1

(3 )u
( 1)

a2
2 (3 2)
+u
u
( 1)
2

(7.88)

The Euler equations are hyperbolic and the flux Jacobian matrix A has real eigenvalues
and linearly independent eigenvectors. The eigenvalues are
1 = u a, 2 = u & 3 = u + a

(7.89)

The corresponding right eigenvectors are

1
1
1

R1 = u a ; R2 = u2 ; R3 = u + a
u
H + ua
H ua
2

(7.90)

u2
p
u2
p
p
u2
Where H = h +
= e+ +
=
+ +
is the total specific enthalpy.
2

2
( 1)

2
Therefore
p
u2
a2
u2
H=
+
=
+
(7.91)
( 1)
2
( 1)
2
where

a2 =

(7.92)

The matrix A can be diagonalized using the eigenvalues and the eigenvectors as
A = RDR1

(7.93)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

166

Upwind methods vector conservation laws

where

1 0 0
D = 0 2 0
0 0 3

(7.94)

1
1
1
R= ua u u+a
H ua u H + ua

(7.95)

is the diagonal matrix

R1 is the inverse of R, given by

1
ua
a
u2 +
u
1

2
( 1)
( 1)

2
(

1)
2a

2
R1 =

u
2u
2

2a ( 1)

1
ua
a
u2
u
1
2
( 1) ( 1)

(7.96)

The eigenvalue matrix D can be split into two parts, D+ &D such that D+ contains only
positive eigenvalues and D contains only negative eigenvalues.

+
1
D+ = 0
0

D = D+ + D

1 0
0
0
0
0
+
0 ; D = 0
2
2
+
0
0
0 3
3

(7.97)
(7.98)

Note that splitting D into D+ &D is not unique. Several splittings are possible. Consequently, several Flux Vector splittings are possible. Note that
A = R(D)R1 = R(D+ + D )R1 = RD+ R1 + RD R1
or A = A+ + A

(7.99)

A+ = RD+ R1 and A = RD R1

(7.100)

where
Using the homogeneity property
G = AU

(7.101)

we get G = AU = (A+ + A )U = A+ U + A U . Therfore


G = G+ + G

(7.102)

G+ = A+ U and G = A U

(7.103)

where

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.2. FLUX VECTOR SPLITTING

167

Therefore, the Euler equations given by


U
G
+
=0
t
x
become

(G+ + G )
U
+
=0
t
x

or

U
G+ G
+
+
=0
t
x
x

(7.104)

Now that G+ corresponds to only positive eigenvalues and G corresponds to only negative
G
G+
term and forward difference the
eigenvalues, we can backward difference the
x
x
term. Therefore
+n
n
G+n
Gn
U
j Gj1
j+1 Gj
+
+
=0
(7.105)
t
x
x
Rearranging, we get
n
+n
n
(G+n
U
j + Gj+1 ) (Gj1 + Gj )
+
=0
t
x

(Gnj+ 1 Gnj 1 )
U
2
2
+
=0
or
t
x

(7.106)

Gj+ 1 = G+
j + Gj+1 and Gj 1 = Gj1 + Gj

(7.107)

where
2

The scheme is now in conservative form or in the finite volume form.


The numerical flux on the interface of a cell or finite volume consists two components :
a forward positive component G+ from the left cell
and a backward negative component G from the right cell
given by

Gj+ 1 = G+
j + Gj+1
2

(7.108)

can be obtained by replacing j by j 1 in the above formula.


The expression for G
j 1
2

Gj 1 = G+
j1 + Gj
2

(7.109)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

168

Upwind methods vector conservation laws

Steger & Warming Flux Vector splitting


We noted that splitting the diagonal matrix D as D+ + D is not unique. Consequently
Flux Vector Splitting is not unique and several flux vector splittings are possible. Steger
& Warming [57] proposed splitting the eigenvalues as
1
+
i = (i + |i |)
2

(7.110)

and

i = (i |i |)
2
Where |i | is the absolute value of i .

i
if i 0
|i | =
i if i 0

(7.111)

(7.112)

Therefore
+
i 0 &
+
1
D+ = 0
0

1

0
D =
0

Consequently

i 0

(7.113)

0
0

+
0
2
+
0 3

0
0

0
2
0
3

(7.114)

(7.115)

A+ = RD+ R1 and A = RD R1

(7.116)

G+ = A+ U and G = A U

(7.117)

The final form of the scheme is


(Gnj+ 1 Gnj 1 )
U
2
2
+
=0
t
x

(7.118)

Gj+ 1 = G+
j + Gj+1 and Gj 1 = Gj1 + Gj

(7.119)

where
2

When the flow is supersonic, all the three eigenvalues are positive and we just need one
sided differencing without flux splitting. Therefore
When M 1 (0 > u > a, supersonic flow from left to right) G+ = G & G = 0
(7.120)
+

When M 1 (u < a < 0, supersonic flow from right to left) G = 0 & G = G


(7.121)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE


When 1 M 1 (a u a, subsonic flow) G+ = A+ U & G = A U

169
(7.122)

We need flux splitting only for subsonic flow for which the eigenvalues of A are of mixed
sign.
Sonic points are the locations where the wind direction changes. Sonic points for
the acoustic waves (corresponding to eigenvalues u a) occur for M = 1 and sonic
points for the entropy waves (corresponding to eigenvalue u) occur for M = 0. At sonic
1

points the splitting i = +


i + i with i = (i |i |) may experience difficulties due
2
to the discontinuity in the first derivative of the split wave speed. This can cause a sonic
glitch a small non-smooth variation in capturing the waves which will be seen in the
results. A simple fix to correct this defect is to modify the wave splitting as
q
1

=
(

(7.123)
2i + 2 )
i
i
2

where is a small user-adjustable parameter. For further details on this method, the
reader is referred to the reference [57]. van Leer [58] introduced a better Flux Vector
Splitting method in which the split fluxes are continuous functions of Mach number and
therefore the problem of sonic glitches is avoided.

7.3

Approximate Riemann Solver or Roe

The most popular numerical method for solving Euler equations is the approximate Riemann solver of Roe [18]. Before trying to understand Roes Flux Difference Splitting
method, let us learn about some interesting properties of the Euler equations, which will
be useful in understanding Roes method better.

7.3.1

Projection of the solution onto the eigenvector space

Let us note some interesting properties of the Euler equations, with the eigenvalues and
eigenvectors of the flux Jacobians. Consider 1-D Euler equations.

where

U
G
+
=0
t
x

(7.124)

U = u and G = p + u2
pu + uE
E

(7.125)

U
U
+A
=0
t
x

(7.126)

Euler equations can be written in quasi-linear form as

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

170

Upwind methods vector conservation laws

where

G
U
is the flux Jacobian. The eigenvalues of the flux Jacobian matrix A are
A=

1 = u a, 2 = u and 3 = u + a

(7.127)

(7.128)

The corresponding right eigenvectors are

1
1
1

R1 = u a ; R2 = u2 ; R3 = u + a
u
H ua
H + ua
2

Where

(7.129)

p u2
p
p u2
u2
=e+ +
=
+ +
(7.130)
2

2
( 1)
2
p
(7.131)
H=E+

Let us see what we get if we sum up the right eigenvectors.

3
3
3

3u
3u

3u

R1 + R2 + R3 =
=
=

u2
p u2
p
u2
2E + 2 +
2(E + ) +
2H +

2
2
H =h+

Therefore, R1 + R2 + R3 = (U ). Let us see if we can recover U by multiplying R1 , R2 , R3


by suitable factors and then summing up.
1 R1 + 2 R2 + 3 R3 = U

(7.132)

(7.133)

1
1

1 u a + 2 u2 + 3 u + a = u
u
E
H + ua
H ua
2
The first equation in the above system is

1 + 2 + 3 =

(7.134)

Let us take the second equation.


1 (u a) + 2 u + 3 (u + a) = u
u(1 + 2 + 3 ) + a(3 1 ) = u

(7.135)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

171

Therefore, u + a(3 1 ) = u or a(3 1 ) = 0. Thus


3 = 1

(7.136)

Let us now take the third equation.



u2
+ 3 (H + ua) = E
1 (H ua) + 2
2






 2
p
p
p u2
p u2
u2
p
u
1
+3
+ +
ua +2
+ +
+ ua =
+
( 1)
2
2
( 1)
2
( 1)
2


u2
p
u2 p
(1 + 2 + 3 ) +
(1 + 3 ) + ua(3 1 ) = +
(7.137)
2
( 1)
2
( 1)
Therefore, using the relations 1 + 2 + 3 = and 1 = 3 in the above equation, we
obtain

(7.138)
1 =
2

(7.139)
3 =
2
2 = 1 3

or

2 =

( 1)

(7.140)

Therefore
1 R1 + 2 R2 + 3 R3 = U
where
1 = 3 =

( 1)
and 2 =
2

We can write
U=

3
X

i Ri

(7.141)
(7.142)

(7.143)

i=1

Now, let us see what we get by


3
X

P3

i=1

i i Ri .

i i Ri = 1 1 R1 + 2 2 R2 + 3 3 R3

(7.144)

i=1

where 1 = u a, 2 = u, 3 = u + a.
For the first component :
3
X
1

i i Ri =

( 1)

(u a) +
u + (u + a)
2

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

172

Upwind methods vector conservation laws


3
X
1

h
h
( 1)
i
i
i i Ri = u
+
+

+a
2

2
2 2
3
X

i i Ri = u

3
X

h 1 + 1 2 + 2 i
2

i i Ri = u

3
X

i i Ri = G(1)

Similarly, we can show that we can recover the other two fluxes, G(2) and G(3) . Therefore
3
X

i i Ri = G

(7.145)

We could have derived this in a simpler way.


3
X

i i Ri =

3
X

i Ai Ri = A

3
X

i Ri = AU = G

The above two equations mean that we can project the field vector U and flux vector G
onto the eigenvector space as
U=

3
X
1

i Ri & G =

3
X

i i Ri

This property of Euler equations is used by Roe in developing the approximate Riemann
solver. He projects the differences (UR UL ) & (GR GL ) on to the eigenvector space
(of 3 components - like 3 coordinates).

7.3.2

Roes Approximate Riemann Solver

Consider the 1-D Euler equations


G
U
+
=0
t
x

(7.146)

The above vector conservation equations can be written in quasi-linear form as


U
U
+A
=0
t
x

(7.147)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

173

where

G
(7.148)
U
If we discretize the 1-D Euler equations using a finite volume method, we obtain
i
t h n
Ujn+1 = U n j
Gj+ 1 Gnj 1
(7.149)
2
2
x
A=

To evaluate the fluxes Gj 1 at the cell interfaces, first we will assume a piece-wise poly2
nomial approximation in each cell. Assuming a piece-wise constant approximation for
simplicity (which leads to a first order accurate method), we will have to solve a Riemann
problem (that is, the equation (7.147)) at each cell interface with the initial condition at
the beginning of each time-step as
(
UL if x < xj+ 1
2
U (x, tn ) =
(7.150)
UR if x > xj+ 1
2

If we solve the Riemann problem at each of the interfaces exactly, then we will obtain Godunovs method. Since the cell integral averages are automatically calculated in the finite
volume method, solving the Riemann problem exactly will be computationally expensive
since the accurate information so obtained is lost in the averaging process any way. Roe
replaces the exact Riemann problem at a cell interface by an approximate Riemann problem in such a way that the new approximate Riemann problem is linear and easy to solve.
Roe replaces the exact Riemann problem (7.147) by an approximate Riemann problem
U
U
+ A
=0
t
x

(7.151)

which should satisfy the following conditions.


1. Consistency condition :
L , UR ) = A(U ) if UL = UR = U
A(U
This ensures consistency with the exact Jacobian, when the left and right states are
equal. Note also that the flux Jacobian for the approximate Riemann problem, A
is now a function of the left and right states, UL and UR . Actually, we will soon see
that it is a function of some sort of average of left and right states. Therefore, the
flux Jacobian now becomes a local constant and thus the hyperbolic system (7.151)
now becomes linear.
2. Hyperbolicity condition :
A should have real eigenvalues and a set of linearly independent eigenvectors. Since
the flux Jacobian A has these properties, the flux Jacobian for the approximate
Riemann problem also must have this property and approximate Riemann problem
must also be hyperbolic.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

174

Upwind methods vector conservation laws

3. Conservation across discontinuities :


The interface flux should retain the conservative form of the flux, involving the left
and right states.
Roe uses
R UL )
G(UR ) G(UL ) = A(U

(7.152)

or G = AU

(7.153)

This ensures that flux is in conservative form (G = AU ) and that the total flux is conservative across the discontinuities also. This also has an important consequence. We know
that across the shocks
GR GL = S(UR UL )
(7.154)

R UL ), S must be an eigenvalue of A.
where S is the shock speed. Since GR GL = A(U
Since we are projecting (UR UL ) into the eigenvector space only (which corresponds to
eigenvalues, and therefore to S), the solution will be exact for a single shock or a single
contact discontinuity. Therefore, we require A such that the eigenvalues of A being i ,
G =

3
X

i i Ri

(7.155)

G = AU

(7.156)

G = AU if UR = UL (A = A f or UR = UL )

(7.157)

and
Let us try to understand the geometrical meaning of the above approximation. Let us
first consider a scalar function g(u). Let us try to seek the derivative of g(u) with respect
to u, with two sample points uL &uR .

Figure 7.1: Roe linearization

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

175

a(uL ) =

 g 

g(u) g(uL )
(u uL )

(7.158)

a(uR ) =

 g 

g(u) g(uR )
(u uR )

(7.159)

g(uR ) g(uL )
(uR uL )

(7.160)

uL

uR

Approximation (7.158) is good near uL & approximation (7.159) is good near uR . We seek
an approximation which is good in the entire region (uR uL ). Therefore we can write
a
=

 g 
u

uL to uR

This means that a


is an average of a(uL ) and a(uR ). Let us now consider a vector G(U ).
G(U )
In analogy with the scalar case,we can write the approximation of the derivative
U
as
G(U )
G(UR ) G(UL )
A =

(7.161)
U
(UR UL )
Therefore

R UL )
G(UR ) G(UL ) = A(U

(7.162)

The vector G(U ) will have N components (N = 3 for 1 - D). Therefore A will have N N
elements. That means, from the above equation, we have N equations with N 2 unknowns.
Therefore, the solution is not unique and we have a lot of choice.
In analogy with the scalar case, A should be an average of A(UL ) and A(UR ). Therefore,
we can write
A = A(U )
(7.163)
where U is an average of UL and UR . Let us now find out this average.

0
1
0
(3) 2

u
(3 )u
( 1)
A=

2
2
2
ua
a
2 (32)
(1)
+ u3 (2)
+
u
u
2
(1)
2
Let us now rewrite the elements A31 and A32 in terms of h = e +
p

1
h = e + p = 1
+ p = p ( 1
+ 1) = p 1
h=
Since p = RT ,

= RT =

a2

h=

and H = h +

(7.164)

u2
2

p
1

(7.165)

a2
1

(7.166)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

176

Upwind methods vector conservation laws


H=
A31 =

a2
u2
+
( 1)
2

ua2
u2 ( 1)
a2
u3 ( 2)

= u[

]
2
1
2
( 1)

(7.168)

u[u2

(7.169)

a2
u2
( 2) u2
+

]
2
2
( 1)
2
( 1)
uH
2
(3 2)
a2
+ u2
=
( 1)
2
u3

A32

u2 u2
(3 2)
a2
+

+ u2
( 1)
2
2
2
A32 = H + u2 (1 )

(7.167)

1
0
(3) 2
u
(3 )u
( 1)
A=
2
3 (1)
2
u 2 uH H + u (1 )
u

(7.170)
(7.171)
(7.172)
(7.173)

(7.174)

In analogy with (13) we can write

1
0
(3) 2
u
(3 )
u
( 1)
A=
2
2
3 (1)
H
+ u (1 )
u
u 2 uH

Now,

(7.175)

U = u
E

u2
p u2
p
=e+ +
=E+
2

p
E=H

p
E = (H ) = H p = H RT

H =h+

E = H

a2
H
= H
RT

(7.176)
(7.177)
(7.178)
(7.179)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE


E = H
E =

a2
H H a2
= H
+

H
a2
H
+ [H

u2
1
1
1
1
H
+[
{1 } + a2 {

( 1) ( 1)

(7.183)

U =

H
( 1)
+ u2

u
2 (1)
+ u 2

u
G = p + u2
pu + uE
G(2) = p + u2 = RT + u2 =

(7.186)

a2
+ u2

u2
a2
u2
[H ]( 1) + u2 (since H =
+ )

2
( 1)
2

( 1)
( 1)
( 1)
( 1)
u2
+ u2 = H
+ u2 [1
]

2
H

( 1)
( + 1
+ u2

G(2) = p + u2 = H

( 1)
( + 1)
+ u2

G(3) = pu + uE
u.[

(7.184)

(7.185)

(7.181)
(7.182)

E =

(7.180)

H
a3
u3
a2
u3 a2
+[
+

( a)
2
( 1)
2

177

a2
a2
p
a2
] + u[H ] (since a2 =
& E = H
)

G(3) = pu + uE = uH

(7.187)
(7.188)
(7.189)
(7.190)
(7.191)
(7.192)
(7.193)
(7.194)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

178

Upwind methods vector conservation laws


u
u

G = p + u2 = H (1)
+ u2 (+1)

2
pu + uE
uH

Let

From (5),

(7.195)

u = uR uL

(7.196)

= R L

(7.197)

H = HR HL

(7.198)

G = G(UR ) G(UL ) = A.U

(7.199)

(u)
+ (u2 ) (+1)
2

(H) (1)

(u)
= A.
H
2 (1)
( ) + (u ) 2

(7.200)

where A is given by (14). Let us now consider each of the three equations of (23).

First equation:
( 1)
1
}
(u) = 0. + 1.(u) + 0{(H) + (u2 )

(7.201)

(u) = (u)

(7.202)

It is a trivial identity.

Second equation:
( 1)
( + 1)
+ (u2 )
=

2
( 3) 2
u . + (3 )
u.(u)
2
1
( 1)
+( 1).{(H) + (u2 )

2
(H)

(7.203)

Now,
(H) = R HR L HL

R (

u2
a2
u2
a2
+ R ) L (
+ L ) (since a = constant)
1
2
1
2

(7.204)
(7.205)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

(25) gives:

a2
1
. + (u2 )
( 1)
2

179
(7.206)

( 1)
1
( 1) ( + 1)
a2
.
. + (u2 ).
+
(u2 ) =
( 1)

2
( 3)

u2 + (3 ).(u).
u
2
( 1)
a2
1
( 1)2
+
.[
+ (u2 )] +
.(u2 ).

( 1) 2
2

( 1)2 ( + 1)
( 3)

u2 + (3 )(u)
u = (u2 ).[
+
]
2
2
2

.
u + (3 )[

2
( 1)2 ( + 1)
2
].(u).
u = (u2 ).
[
]
3
( 3)
2

.
u2 2.(u).
u = (u2 )

2
2 3
[
]
( 3)
2


u2 2(u)
u + (u2 ) = 0

(7.207)
(7.208)
(7.209)
(7.210)

This is a quadratic equation in u.


u =

b2 4ac
2a

4{(u)}2 4..(u)2
2.
p
(u) {(u)}2 .(u2 )

p
(R uR L uL ) (R uR L uL )2 (R L ).(R u2R L u2L )

R L

Now,

2(u)

(R uR L uL )2 (R L )(R u2R L u2L ) = R L (uR uL )2


p
(R uR L uL ) R L (uR uL )2
u =
(R L )

(R uR L uL ) (uR uL ) R L
=
(R L )

R uR L uL uR R L uL R L
=
(R L )

(7.211)
(7.212)
(7.213)
(7.214)
(7.215)
(7.216)
(7.217)
(7.218)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

180

Upwind methods vector conservation laws

R L ) uL .(L R L )
=
(R L )

uR . R .( R L ) uL . L .( L R )
=

( R + L )( R L )

uL . L .( L L )
uR . R .( R L )

u =

( R + L )( R L ) ( R + L )( R L )
uR .(R

If we take the positive root,

uL L .( R + L )
uR R .( R + L )

u =

( R + L )( R L ) ( R + L )( R L )

uR R u L L
u =

R L

(7.219)
(7.220)
(7.221)

(7.222)

(7.223)

When R = L and uR 6= uL , u is not defined. Therefore, we reject this solution. Let us


take the negative root of (29).

uR R .( R L )
uL L .( L R )
u =

( R + L )( R L ) ( R + L )( R L )

uR R + uL L
u =

R + L

(7.224)

(7.225)

This is the Roe average velocity. Similarly, solving the third equation of (23), we get

H R R + H L L

H=
(7.226)

R + L
This is the Roe average total enthalpy.
Let us assume that
(u) = u + u
R uR L uL = .(uR uL ) + u.(R L )

(uR R + uL L )
.(R L )
R uR L uL = uR uL +

( R + L )

uR R + u L L

R uR L uL = uR uL +
.( R + L )( R L )

( R + L )

(uR uL ) = R L (uR uL )

= R L

(7.227)
(7.228)
(7.229)
(7.230)
(7.231)
(7.232)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

181

This is the Roe-average density. We now have expressions for Roe average density, velocity
and total specific enthalpy. Therefore A is completely defined. We also need a
.
a
2
u
2

Let H = (1) + 2
r
2
u )( 1)
(7.233)
a
= (H
2
Now, the eigenvalues of A are:

7.3.3

1 = u a

(7.234)

2 = u

(7.235)

3 = u + a

(7.236)

Roe averages with the use of a parameter vector

The Roe averages derived before can also be obtained alternatively by using a parameter
vector. The inspiration for such an approach is from analytical geometry in which a plane
curve y(X) may, in some cases, be described more easily by a parametric form: y = y(T ),
x = x(t). Similarly, we can use G = G(Z) and U = U (Z), where Z is a parameter vector.
)
+ G(U
= 0, with
For 1-D Euler equations, U
t
x

U = u and G(U ) = p + u2
pu + uE
E

and G(U ) =
u
or U =
(1)
1
2
H + 2 u

we can write

u
(1)
H + (+1)
u2

2
uH

(7.237)

(7.238)

Z1
1

Z = Z2 = u
Z3
H

(7.239)

U1 = = ( )2 = Z12

(7.240)

so that U and G can be expressed in terms of Z (i.e. Z1 , Z2 and Z3 ).

U2 = u =
U3 =


u = Z1 Z2

( 1) 2 1
1
( 1) 2
H +
u =
( u)
H +

(7.241)
(7.242)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

182

Upwind methods vector conservation laws


U3 =

1
( 1) 2
Z1 Z3 +
Z2

Z12

Z1 Z2
U =
(1) 2
1
Z Z + 2 Z2
1 3
G2 =

(7.243)

(7.244)

G1 = u = U2 = Z1 Z2

(7.245)

( + 1) 2
( 1)
( + 1) 2 ( 1)
H +
H +
u =
( u)

(7.246)

( + 1) 2
( 1)
Z1 Z3 +
Z2

2

G3 = uH = u H

G2 =

G3 = Z1 Z3

Z1 Z2
G = (1)
Z1 Z3 + (+1)
Z22

2
Z2 Z3

(7.247)
(7.248)
(7.249)

(7.250)

We can see that every component of U and G is merely quadratic in the components of
Z. Let us now obtain the matrix A in the expression
R UL )
GR GL = A(U

(7.251)

It is convenient to introduce some algebra of averages in this process of determining A.


Let
a = aR aL &b = bR bL
(7.252)
(ab) = (ab)R (ab)L = aR bR aL bL

(7.253)

Let

1
1
a
= (aL + bR )and b = (bL + bR )
2
2
be the arithmetic mean values. We can write (ab) as
(ab) = aR bR aL bL
1
1
1
1
= aR b R + aR b R aL b L aL b L
2
2
2
2
1
1
1
1
1
1
1
1
= aR b R + aR b R aL b L aL b L + aL b R aL b R + aR b L aR b L
2
2
2
2
2
2
2
2

(7.254)

(7.255)
(7.256)
(7.257)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

183

1
1
1
1
aL (bR bL ) + aR (bR bL ) + bL (aR aL ) + bR (aR aL )
2
2
2
2
1
1
1
1
(bR bL )( aL + aR ) + (aR aL )( bL + bR )
2
2
2
2
(bR bL )
a + (aR aL )b
(ab) = a
b + ba

(7.258)
(7.259)
(7.260)
(7.261)

1
1
1
aL aR
(aR aL )
( ) =

=
=
a
aR aL
aL aR
( aL aR )2

(7.262)

a
1
( ) = 2
a
a

(7.263)

(7.264)

where
a
=

aL aR

is the geometric mean value. Let us now consider G.


G1 = (Z1 Z2 )R (Z1 Z2 )L = (Z1 Z2 ) = Z1 Z2 + Z2 Z1
G2 = [

=
=

(7.266)

( 1)
( + 1)
(Z1 Z3 ) +
(Z22 )

(7.267)

( + 1) 2
( 1)
2
[Z1 Z3 + Z3 Z1 ] +
(Z2,R Z2,L
)

(7.268)

=
=

( + 1) 2
( 1)
(Z1 Z3 ) +
(Z2 )]

(7.265)

( + 1)
( 1)
(Z1 Z3 + Z3 Z1 ) +
(Z2,R + Z2,L )(Z2,R Z2,L )

(7.269)

( + 1) 1
( 1)
(Z1 Z3 + Z3 Z1 ) +
(Z2,R + Z2,L )(Z2,R Z2,L )

(7.270)

( 1)
( 1)
( + 1)
Z1 Z3 +
Z3 Z1 +
Z2 Z2

G3 = (Z2 Z3 ) = Z2 Z3 + Z3 Z1

Z1 Z2 + Z2 Z1
(1)
G = Z1 Z3 + (1)
Z3 Z1 +

Z2 Z3 + Z3 Z1

G =

Z1

Z2

(1)
Z3

(+1)
Z2

Z3

(+1)
Z2 Z2

(7.271)
(7.272)

(7.273)

Z1
(1)
Z2
Z1

Z3
Z2
0

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

184

Upwind methods vector conservation laws

G = CZ

(7.274)

where

C =

Z1

Z2

(1)
Z3

(+1)
Z2

(1)
Z3

Z3

Z2

Let us now consider U .

2
2
U1 = (Z12 ) = Z1,R
Z1,L
= (Z1,R Z1,L )(Z1,R + Z1,L )

1
= Z1 .2. (Z1,L + Z1,R ) = Z1 .2.Z1
2
U1 = 2Z1 Z1
U2 = (Z1 Z2 ) = Z1 Z2 + Z2 Z1
1
( 1) 2
( 1)
1
Z2 ] = (Z1 Z3 ) +
(Z22 )
U3 = [ Z1 Z3 +

2
=
=

( 1) 2
1
2
[Z1 Z3 + Z3 Z1 ] +
(Z2,R Z2,L
)

1
1
( 1)
1
(Z2,R Z2,L ). (Z2,R + Z2,L )
Z1 Z3 + Z3 Z1 +

2
U3 =

1
1
( 1)
Z2 Z2
Z1 Z3 + Z3 Z1 +

2Z1 Z1

Z2 Z1 + Z1 Z2
U =
(1)
1
1
Z Z1 + Z2 Z2 + Z1 Z3
3

2Z1
U = Z2
1
Z
3

Z1
(1)
Z2

(7.275)

(7.276)
(7.277)
(7.278)
(7.279)
(7.280)
(7.281)
(7.282)
(7.283)

(7.284)


0
Z1
0 Z2
1
Z3
Z
1

U = BZ

(7.285)

where

2Z1
= Z2
B
1
Z3

0
Z1
(1)
Z2

0
0
1
Z1

(7.286)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

From (27), U = BZ
or
(22) gives

185

1 U
Z = B

(7.287)

1 U
G = CZ
= C B
1 U
G = C B

(7.288)
(7.289)

Comparing with G = AU
(in(12)), we get:

1
A = C B

(7.290)

and C are given by (28) and (23).


where B

7.3.4

Properties of the Roe Linearization

Roe scheme is based on the approximate Riemann problem (which is linear)


U
U
+ A
=0
t
x

(7.291)

with the conditions


1.

L , UR ) = A(U ) if UL = UR
A(U

(7.292)

G = AU

(7.293)

A is diagonalizable with real eigenvalues

(7.294)

2.
and
3.

The question is to show to obtain A which satisfies the above conditions. One way to
obtain A is to integrate the flux Jacobian matrix over a suitable pathin conserved vecotr
space, between UR and UL . Let us consider the straight line path as:
U () = UL + (UR UL )

(7.295)

where varies between 0 and 1, i.e,


01

(7.296)

Therefore, we can write


G = G(UR ) G(UL ) =

dG(U ())
d
d

(7.297)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

186

Upwind methods vector conservation laws


G =

dG(U ) dU ()
d =
dU
d

G = (UR UL )
G = U
Therefore, we can define A as:
A =

dG(U )
)(UR UL )d
dU

(7.298)

dG(U )
d
dU

(7.299)

(
1

dG(U )
d
dU

dG(U )
d
dU

(7.300)

(7.301)

This average flux Jacobian matrix will satisfy the conservation condition (G = AU
)

and the consistency condition (A(UL = UR = U ) = A(U )) But the hyperbolicity condition
may or may not be satisfied. That means, A of (8) may or may not have real and distinct
eigenvalues. Another problem is that it may not always be possible to evaluate the integral
in (8) in closed form.
By introducing a parameter vector, Roe obtained a change of variables so that the integral
in (8) becomes easier to evaluate. Instead of (5) as the integration path, Roe chose:
Z() = ZL + (ZR ZL )

(7.302)

Z = Z(U )for U = UL and U = UR

(7.303)

where

dZ()
= (ZR ZL )
d

(7.304)

which is independent of .
G = G(UR ) G(UL ) =
G =

dG(Z())
d
d

dG(Z()) d(Z())
d
dZ
d

(7.306)

dG(Z())
(ZR ZL )d
dZ
0
Z 1
dG(Z())
(ZR ZL )
d
dZ
0
Z 1
dG(Z())
G = Z
d
dZ
0

G =

(7.305)

(7.307)
(7.308)
(7.309)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

187

Now, to relate Z to U , Roe chose path integral:


U = UR UL =
U =
Z

dU (Z())
d
d

dU (Z()) dZ()
d
dZ
d

(7.311)

dU (Z())
(ZR ZL )d
dZ
0
Z 1
dU (Z())
d
U = Z
dZ
0
=

(7.310)

(7.312)
(7.313)

From (10) and (11) we have:

G = (C)Z

(7.314)

& U = (B)Z

(7.315)

where
=
B

and
C =

dU (Z())
d
dZ

(7.316)

dG(Z())
d
dZ

(7.317)

G = CZ

(7.318)

B
1 U )
G = C(

(7.319)

1 U
G = C B

(7.320)

G = AU

(7.321)

1
A = C B

(7.322)

where
Harten, Lax and Van Leer ( on upstream differencing and Godunov type schemes for
hyperbolic conservation laws, SIAM Review, 25, pp.35-61,1983) showed that if the system
has a convex entropy function, then the above integration procedure can always be used
to define a matrix A which satisfies the hyperbolicity condition.
To make the integrals easy for closed form evaluation, Z is chosen such that U
and G
Z
Z
are functions of polynomials of Z. Then, we obtain polynomials in and the integrals
become easier to evaluate.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

188

7.3.5

Upwind methods vector conservation laws

Wave strengths
U =

3
X

i Ri

(7.323)

1

R1 = u a

H ua

(7.324)

1
R2 = u
1 2
u
2

(7.325)

1

R3 = u + a
+ ua
H

(7.326)


U1
R L
U = R uR L uL = U2
U3
R ER L EL

(7.327)

i=1

1
1
U1
1
+ 2 u + 3 u + a

U2 = 1 u a
1
ua
+ ua
H

U3
H

u2
2

U1 = 1 + 2 + 3

U2 = 1 (
ua
) + 2 u + 3 (
u+a
)
1
ua
+ ua
U3 = 1 (H
) + 2 u2 + 3 (H
)
2
From (7), U2 = (1 + 2 + 3 )
u + (3 1 )
u

(7.328)
(7.329)
(7.330)

U2 = U1 .U + (3 1 )
a

(7.331)

(ab) = aR bR aL bL

(7.332)

1
1
a
= (aL + aR ) & b = (bL + bR )
2
2

(7.333)

Before we simplify further, let us introduce some operators for convenience.

Let

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

189

1
1
a
b + ba = (aL + aR )(bR bL ) + (bL + bR )(aR aL )
2
2
= aR b R aL b L

(7.334)
(7.335)

= (ab)

(7.336)

(ab) = a
b + ba

(7.337)

Let us see if Roe averages also have a similar property, as the arithmetic averages do
above.

uR R + uL L

(7.338)
u =
and = R L

R + L
Let us evaluate (
u + u).

(uR R + uL L )

(R L ) + R L (uR uL )
u + u =

( R + L )

(uR R + uL L )

( R L )( R + L ) + R L uR R L uL

( R + L )

u R R uR R L + uL R L uL L + uR R L uL R L

(7.339)

(7.340)
(7.341)

uR R uL L = (u)

(7.342)

(u) = u + u

(7.343)

U2 = uU1 + u

(7.344)

U2 = U1 u + (3 1 )
a = U1 u + u

(7.345)

(3 1 )
a = u

(7.346)

From (9) and (11) :

3 1 =
From (6), 3 + 1 = 2 Since H =
=
H

a2
(1)

u
a

u2
,
2

(7.347)

we can write

a
2
1
+ u2
( 1) 2

(7.348)

(8) gives:
ua

(E) = 1 (H
) + 2 (H

a
2
+ ua
) + 3 (H
)
( 1)

1 + 2 + 3 ) + ua
(E) = H(
(3 1 ) 2

a
2
( 1)

(7.349)
(7.350)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

190

Upwind methods vector conservation laws


u
a
2

(E) = H
+ ua
.
2
a

( 1)
2

From (10),

(7.351)

a
2

= H
+ uu (E)
( 1)

(7.352)

u = (u) u

(7.353)

(14) gives:
2

a
2

= H
+ u[(u) u] (E)
( 1)

(7.354)

= H
+ u[(u) u] [(e + u2 )]
2
1

= H
+ u[(u) u] (e) ( u2 )
2
2

a
2
1

= H
(e) + u[(u) u] ( u2 )
( 1)
2

Let us first establish some algebraic relations with Roe averages with =

+u
)
(u
u = L(LL +RR ) R , we have already derived:

(7.355)
(7.356)
(7.357)

L R and

(u) = u + u

(7.358)

(u2 ) = R u2R L u2L

(7.359)

Let us now evaluate (u2 ).

(u2 ) = (uR R )2 (uL L )2

= (uR R + uL L )(uR R uL L )

(uR R + uL L )

=
( R + L )(uR R uL L )

( R + L )

= (
u)( R + L )(uR R uL L )

= (
u)[uR R uL L R + uR L R uL L ]

= (
u)[(uR R uL L ) + ( L R )(uR uL )]

(7.360)
(7.361)
(7.362)
(7.363)
(7.364)
(7.365)

= (
u)[
u + (u)]

(7.366)

= (
u)[
u + u + u]

(7.367)

= (
u)[2
u + u]

(7.368)

(u2 ) = 2
uu + u2

(7.369)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

191

u2
) + (
u)[(u) u]
2

(7.370)

1
= (u2 ) + (
u)(u) u2
2

(7.371)

1
uu + u2 ] + u[
u + u] u2
= [2
2
(From (18) and (17))

(7.372)

1
1
uu u2 + uu + u2 u2
= .2
2
2

(7.373)

1
= u2
2

(7.374)

u2
1
+ (
u)[(u) u] = u2
2
2

(7.375)

(16) gives:
2

=
since H

(1)

u2
a
2

= H
(e) + (
u)[(u) u] (
)
( 1)
2

+ 21 u2

= H
(e) u2
2
2
1
1
a

+ u2 ]() (e) u2
=[
( 1) 2
2

Now, e =

p
(1)

(7.376)
(7.377)
(7.378)

1
1
a
2
+ u2 (e) u2
( 1)
2
2

(7.379)

a
2
=
(E)
2
( 1)
( 1)

(7.380)

e =
(e) =
2
2 =

p
( 1)

p
(pR pL
=
( 1)
( 1)

a
2
a
2
p
=

( 1)
( 1)
( 1)

( 1)
p ( 1)
a
2

2
( 1)
a

( 1) a
2

(7.381)
(7.382)
(7.383)
(7.384)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

192

Upwind methods vector conservation laws


2 =

1
p
a
2

(7.385)

From (6), U1 = = 1 + 2 + 3
3 + 1 = 2
3 + 1 = (

1
p)
a
2

1
p
a
2

3 1 = u
a

3 + 1 =

(7.386)
(7.387)
(7.388)
(7.389)

(23) and (24) gives:


1

p + u
2
a

1
3 = 2 p + u
2
a
2
a
(p) + (u)(
)(
a)
=
2
2
a
p + a
u
3 =
2
a2

23 + 1 alpha1 =

(24) gives:
or

3 1 = u
a

p + a
u
1 = u
2
2
a
a

p + a
u u
1 =

2
a2
a

p + a
u 2
u
a
=
2
2
a
p a
u
1 =
2
a2
p a
u
1 =
2
a2
1
2 = 2 p
a

p + a
u
&3 =
2
a2

(7.390)
(7.391)
(7.392)
(7.393)

(7.394)
(7.395)
(7.396)
(7.397)
(7.398)
(7.399)
(7.400)
(7.401)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE

7.3.6

193

Solution of the Approximate Riemann Problem

The approximate Riemann problem is given by :


U
U
+ A
=0
t
x

(7.402)

with
n

U (x, t ) =

UL for x > 0
UR for x < 0

(7.403)

Note that we have placed the origin, x = 0, at a cell interface, xj+ 1 , as we are solving (1)
2
at x 1 .
at every cell interface. Note also that UL = Uj and UR = Uj+1
j+ 2
L , UR ) is a (locally) constant matrix, as it is an average matrix,
The matrix A = A(U
representing Roe averages. Thus, (1) is a (coupled) linear hyperbolic system. Therefore,
we can decouple it by using a characteristic variable.

(1) gives


(RW )
t

W = R1 U

(7.404)

U = RW

(7.405)

W + AR
W = 0
R
t
x

(7.406)


+ A x
(RW ) = 0 or

is constant as A is constant)
(since R

or
as

W
W = 0
+ R1 AR
t
x

(7.407)

W
W = 0
+D
t
x

(7.408)

D
R1
A = R

(7.409)

Wi
Wi
+ i
= 0, i = 1, 2, 3
t
x

(7.410)

(5) means

as

1 0 0
= 0 2 0
D
0 0 3

(7.411)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

194

Upwind methods vector conservation laws

Solution of (7) is

Wi (x, t) = Wi (x i t, 0)

(7.412)

Let us also transform the initial conditions given by (2) to characteristic variables.


UL for x > 0
.
U (x, 0) =
UR for x < 0
becomes
(x, 0) =
RW

L for x > 0
RW
R for x < 0
RW

or
W (x, 0) = W

(0)

(x) =

WL for x > 0
WR for x < 0

Now, (9) can be written as:


Wi (x, t) = Wi (x i t)
(0)

(7.413)

(10) and (11) give us the solution of the approximate Riemann problem (1) and (2). Let
us put this solution in the conserved variables. (4) gives:

V = RW

U1
U2 =
U3

or

W1
R11 R12 R13
R21 R22 R23 W2
W3
R31 R32 R33

U1 = R11 W1 + R12 W2 + R13 W3


U2 = R21 W1 + R22 W2 + R23 W3

U3 = R31 W1 + R32 W2 + R33 W3

U1
U2 = W1
U3

(7.414)

R11
R21 + W2
R31

R12
R22 + W3
R32

U = W1 R1 + W2 R2 W3 R3

or
U=

3
X

Wi Ri

(7.415)

(7.416)

R13
R23
R33

(7.417)

(7.418)

(7.419)

i=1

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.3. APPROXIMATE RIEMANN SOLVER OR ROE


That means:
U (x, t) =

3
X

195

Wi (x, t)Ri

(7.420)

Wi (x i t)Ri

(7.421)

i=1

Using (11), (18) becomes


U (x, t) =

3
X
i=1

(0)

The solution is a superposition of three wave solutions, where each represents one linear
convection equation with an initial discontinuity.
There are 3 families of characteristics each having parallel characteristics. We can write:
UL =

3
X

i Ri

(7.422)

i=1

& UR =

3
X

i Ri

(7.423)

i=1

Now, the solution (10) and (11) can be written as:




WL,i f or x i t > 0
Wi (x, t) =
WR,i f or x i t < 0

(7.424)

or

Wi (x, t) =

WL,i f or i t > 0
WR,i f or i t < 0

(7.425)

(20) and (21) can be combined to obtain, (using (19))


U (x, t) =

3
X

i Ri +

i=1
i > 0
U (x, t) =

3
X
i=1

i Ri

U (x, t) = UL +

3
X

i Ri

(7.426)

i=1
i < 0
3
X

i=1
i < 0
3
X

i=1
i < 0

i Ri +

3
X

i Ri

(7.427)

i=1
i < 0
(i i )Ri

(7.428)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

196

Upwind methods vector conservation laws

Similarly,
U (x, t) = UR

3
X

i=1
i < 0

1
1
U (x, t) = (UL + UR ) + [
2
2

(i i )Ri

3
X

i=1
i < 0

3
X

i=1
i > 0

(7.429)

](i i )Ri

(7.430)

From (20) and (21) :


3
X

U = UR UL =
U =
where i = i .i

i=1

3
X

(i i )Ri

(7.431)

i Ri

(7.432)

i=1

3
X

1
U (x, t) = (UL + UR ) + [
2

3
X

i=1
i < 0

]i Ri

i=1
i > 0

Gj+ 1 = G(xj+ 1 , t) = AU
j+ 1
2

1
1
= (A)[ {UL + UR } + {
2
2

1
1
= [GL + GR ] + [
2
2

since G = AU
1
1
= [GL + GR ] + [
2
2

i=1
i < 0

3
X

i=1
i < 0
3
X

i=1
i < 0

(7.434)

3
X

(7.433)

3
X

i=1
i > 0

3
X

}i Ri ]

(7.435)

]i ARi

(7.436)

]i i Ri

(7.437)

i=1
i > 0
3
X

i=1
i > 0

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.4. KINETIC FLUX VECTOR SPLITTING METHOD FOR EULER EQUATIONS197


since ARi = i Ri
3

+
since
i i = |i |

7.4

1
1X
= [GL + GR ]
i |i |Ri
2
2 i=1

(7.438)

Kinetic Flux Vector Splitting Method for Euler


Equations

Let us use the philosophy of Kinetic Schemes explained before, i.e., the splitting method,
to develop an upwind Boltzmann scheme or kinetic scheme. Consider 1-D Boltzmann
equation
f
f
+v
= J (f, f )
(7.439)
t
x
Euler equations can be obtained as moments of (7.439).

1
v



f
f
+v
i=0

v2
t
x
I+
2

v
Let =

v2
I+
2

(7.440)

(7.441)

Therefore, we can write (7.440) as



F
F
+v
i=0
h
t
x


(7.442)

Since the convection terms in the Boltzmann equation (7.442) are linear, we can apply
the C-I-R upwind scheme easily.
"

 n
#
n 
fjn+1 fjn v + |v| fjn fj1
fjn
v |v| fj+1
i=0
(7.443)
h
+
+
t
2
x
2
x
n

Ujn+1 Ujn hv + f ij hv + f ij1 hv f ij+1 hv f ij


+
+
=0
t
x
x
where v =

v |v|
2

(7.444)
(7.445)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

198

Upwind methods vector conservation laws

Therefore, we get
+n
n
Ujn+1 Ujn G+n
Gn
j Gj1
j+1 Gj
+
+
=0
t
x
x
where U = hf i
G+ = hv + f i
and G = hv f i

(7.446)
(7.447)
(7.448)
(7.449)

Using the splitting strategy, we use two steps : (1) a Relaxation Step and (2) a convection
step. In the Convection Step, the distribution function evolves from f n to f n+1 during
a time-step t in the convection step and, therefore, does not remain a Maxwellian.
Following the convection step, the distribution function is instantaneously relaxed to a
Maxwellian in the Relaxation Step. Therefore, at the starting of any time-step, we have
fn = Fn

(7.450)

Thus, we can write the moment relations for the split fluxes as
Gn+ = hv + F n i
and Gn = hv F n i

(7.451)
(7.452)

The conservative variable is given by

U = hf i =

dI

dv

1
v
2

v
I+
2

or U = u
E

(7.453)

The expressions for the split fluxes are given by

where

G =

uA B
2

(p + u ) A uB
2 

p

+E B
(p u + uE) A
2 2

A=

p
1 erf (s)
2
, B = es andS = u
2

(7.454)

(7.455)

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.4. KINETIC FLUX VECTOR SPLITTING METHOD FOR EULER EQUATIONS199

Here, erf represents error function, defined by


Z s
2
2
erf (s) =
ew dw
0

(7.456)

Therefore, the C-I-R upwind scheme applied to the Boltzmann equation, when moments
are taken, leads to a Flux Vector Splitting as
G = G+ + G

(7.457)

Hence this method is called Kinetic Flux Vector Splitting (KFVS) method.
Unlike the Steger and Warming and van Leer Flux Vector Spliting methods, KFVS
is not based on eigenvalues. This method is based on enforcing the upwinding at a
molecular level, using the signs molecular velocities.
Unlike Steger and Warming FVS method, the KFVS method is not limited to those
systems of equations which have homogeneity property. Even for systems of equations not having homogeneity property like Shallow Water Equations or the Burgers
equation, KFVS method can be applied by finding suitable equilibrium distribution
functions.
The split fluxes are continuous functions of Mach number, unlike the Steger and
Warming FVS method. Therefore, no some glitches appear.
When the Continuum hypothesis breaks down, as in the case of hypersonic flows
of re-entry vehicles, KFVS allows a smooth transition from an Euler scheme to a
Boltzmann solver like DSMC. This is a unique property of Kinetic Schemes. This
is very useful for Euler-Boltzmann coupling problems.
A sample split flux derivation:
G+
1
Since

= h1 v F i = h1 v F i = hv F i =

dI

dv

v + |v|
F
2

v + |v|
0, we can write
2
G+
1

G+
1

dI

dI

(v
dv v e
I0

dv vF

u)2

I
I0

Z
Z
I

I
=
ve(v
e 0 dI
I0 0
0

u)2

dv

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

200

Upwind methods vector conservation laws


G+
1

where
K1 =

I
I0


= K1 K2
I0

dI andK2 =

Let

ve(v

u)2

dv

I
=z
I0

dI = dz I0 or dI = I0 dz
as

I 0,

z0

as

K1 =

I
I0

dI =

I , z
Z
z
e dz(I0 ) = I0
ez dz =
0

K1 = I0 [0 1]
K2 =

I0 ;

I0 [ez ]
0
I



= I0 e e0

I0

e I0 dI = I0

ve(v

u)2

dv

Let

p
(v u)
z
v = +

p
dz
dz = dv ordv =

p
As v , z u or z
z=

As v ,

z



z
2 dz
(v u)2
+ u ez
K2 =
ve
dv =

0
s
Z
Z
u
z z2
2
ez dz
e dz +
K2 =

s
s
Z
Z
u
1
2
2
zez dz +
ez dz
K2 =
s
s
Z
Z 0
Z
Z
1
u
u 0 z2
1
z 2
z 2
z 2
ze dz +
ze dz +
e dz +
e dz
K2 =
0
s
s
0
Z

As v ,

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

7.4. KINETIC FLUX VECTOR SPLITTING METHOD FOR EULER EQUATIONS201

Z 0
u
u
2
ey dy (where y = z)
ye dy +

2
s
s

Z s
Z s
1
1
u
u
2
y 2
K2 =

ye dy + +
ey dy
2 0
2
0

1 1 1
K2 =
+
2

Now, let

y 2

x = y 2 dx = 2ydy
As y 0 x 0

ye

y 2

dy =

Also, since

As y s x s2
Z 2
1 s
1 x s2
=
[e ]0
dx ex =
2 0
2

1
2
2ydyey
2

i
1 1 2
1 h s2
e e0 = es
2
2 2

Z s
2
2
ex dx
erf (s) =
0

Z s

x2
erf (s)
e dx =
2
0



u u
1 1 1 s2
u
1
1 s2
u
+ + erf (s) =

e
e
+ + erf (s)
K2 =
2 2 2
2
2
2
2
2

1 s2 u
e + [1 + erf (s)]
K2 =
2
2





1 s2 u
u
2
+
e +
(1 + erf (s)) = es +
[1 + erf (s)]
G1 = K1 K2 =
I0
2
2
2
2

+
G+
B
1 = uA +
2

where
A+ =

1 + erf (s)
2
and B = es
2

Integrals
Z

x2

dx =
2

xex dx = 0

2 x2
x e dx =
2

2
Z0
1
2
xex dx
=
2
0

2
x2 ex dx
=
4
0
x2

dx

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

202

Upwind methods vector conservation laws


Z

1
2
x3 ex dx
=
dx = 0
2
0

Z
Z
3
3
2
2
x4 ex dx
=
x4 ex dx =
4
8
0

Z
Z
2
2
x5 ex dx
=
1
x5 ex dx = 0
0

Z
Z
15
15
6 x2
6 x2
x e dx =
x e dx
=
8
16

0
3 x2

xe

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Bibliography
[1] Anderson, J.D., Modern Compressible Flows :
MacGraw-Hill, 1990.

With Historical Perspective,

[2] K.F. Riley, M.P. Hobson and S.J. Bence, Mathematical Methods for Physics and
Engineering, Cambridge University Press, 1998.
[3] J.D. Hoffmann, Numerical Methods for Scientists and Engineers, Marcel Dekker Inc.,
New York, 2001.
[4] W.G. Vincenti and C.H. Kruger, Introduction to Physical Gas Dynamics, John Wiley,
New York, 1965.
[5] M.N. Kogan, Rarefied Gas Dynamics, Plenum Press, 1965.
[6] T.I. Gombosi, Gaskinetic Theory, Cambridge University Press, 1994.
[7] P.L. Bhatnagar, E.P. Gross and M. Krook, A model for collision processes in gases. I.
Small amplitude processes in charged and neutral one-component systems, Physical
Review, 94, pp. 511-???, 1954.
[8] S. Jin and Z. Xin, The Relaxation Schemes for Systems of Conservation Laws in
Arbitrary Space Dimensions, Communications in Pure and Applied Mathematics,
vol. 48, pp. 235276, 1995.
[9] R. Natalini, A Discrete Kinetic Approximation of Entropy Solutions to Multidimensional Scalar Conservation Laws, Journal of Differential Equations, vol. 148, pp.
292317, 1999.
[10] D. Aregba-Driollet and R. Natalini, Discrete Kinetic Schemes for Multidimensional
Systems of Conservation Laws, SIAM Journal of Numerical Analysis, vol. 37, no. 6,
pp. 19732004, 2000.
[11] R. Natalini, Recent mathematical results on hyperbolic relaxation problems, Analysis of systems of conservation laws, Pitman Research Notes in Mathematics Series,
Longman, Harlow, 1998.
203

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

204

BIBLIOGRAPHY

[12] John D. Anderson, Computational Fluid Dynamics : The basics with applications,
McGraw-Hill, New York, 1995.
[13] P.D Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation, Communications in Pure and Applied Mathematics, 7, pp.159-193, 1954.
[14] P.D. Lax and B. Wendroff, Systems of conservation laws, Communications in Pure
and Applied Mathematics, 13, pp. 217-237, 1960.
[15] R.W. MacCormack, The effect of Viscosity in Hypervelocity Impact Cretaring, AIAA
Paper No. AIAA-69-0354.
[16] A. Jameson, W. Schmidt and E. Turkel, Numerical Solution of Euler Equations by
Finite Volume Methods Using Runge-Kutta Time Stepping Schemes, AIAA Paper
no. AIAA-81-1259.
[17] S.K. Godunov, Schemes, AIAA Paper no. AIAA-81-1259, A Difference Scheme for
Numerical Computation of Discontinuous Solutions of Hydrodynamic Equations,
Math. Sbornik, 47, pp. 271-306, 1959. English translation in U.S. Joint Publications
Research Service, JPRS 7226, 1969.
[18] P.L. Roe, Approximate Riemann Solvers, Parameter Vectors and Difference Schemes,
Journal of Computational Physics, 43, pp. 357-372, 1981.
[19] S. Osher and F. Solomon, Upwind Difference Schemes fo Hyperbolic Systems of
Equations, Mathematics of Computation, 38, pp. 339-374, 1982.
[20] R.H. Sanders and K.H. Prendergast, The Possible Relation of the 3-KILOPARSEC
Arm to Explosions in the Galactic Nucleus, Astrophysical Journal, Vol. 188, pp.
489-500, 1974.
[21] D. Pullin, Direct Simulation Methods for Compressible Inviscid Ideal Gas Flow,
Journal of Computational Physics, 34, 231, 1980.
[22] R.D. Rietz, One Dimentional Compressible Gas Dynamic Calculations Using the
Boltzmann Equation, Journal of Computational Physics, 42, 108, 1981.
[23] S.M. Deshpande, Kinetic Theory based New Upwind Methods for Inviscid Compressible Flows, AIAA Paper no. AIAA-1986-0275.
[24] S. Kaniel, A Kinetic Model for Compressible Flow Equations, Indiana University
Mathematical Journal, vol. 37, no. 3, pp. 537-563, 1988.
[25] B. Perthame, Boltzmann Type Schemes for Gas Dynamics and Entropy Property,
SIAM Journal of Numerical Analysis, 27, 6, 1405, 1991.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

BIBLIOGRAPHY

205

[26] S.V. Raghurama Rao and S.M. Deshpande, Peculiar Veclocity based Upwind Method
for Inviscid Compressible Flows, Computational Fluid Dynamics Journal, 3, 4, 415,
1995.
[27] K.H. Prendergast and Kun Xu, Numerical Hydrodynamics from Gas-Kinetic Theory,
Journal of Computational Physics, 109, 53, 1993.
[28] F. Coquel and B. Perthame, Relaxation of energy and approximate Riemann solvers
for general pressure laws in fluid dynamics, SIAM Journal of Numerical Analysis, 35,
6, pp. 2223-2249, 1998.
[29] Meng Sing Liou and C.J. Steffen, A New Flux Splitting Scheme, Journal of Computational Physics, 107, pp.23-39, 1993.
[30] F. Coquel and Meng Sing Liou, Hybrid Upwind Splitting (HUS) by a field-by-field
decomposition, NASA TM-106843, Icomp-95-2, 1995.
[31] A. Jameson, Analysis and Design of Upwind Schemes for Gas Dynamics II : Artificial Diffusion and Discrete Shock Structure, International Journal of Computational
Fluid Dynamics, v, pp. 171-218, 1995.
[32] C. Hirsch, Numerical Computation of Internal and External Flows, Vol. 1: Fundamentals of Numerical Discretization, John Wiley & Sons, 1988.
[33] C. Hirsch, Numerical Computation of Internal and External Flows, Vol. 2: Computational Methods for Inviscid and Viscous Flows, John Wiley & Sons, 1990.
[34] R.D. Richtmyer and K.W. Morton, Difference Methods for Initial Value Problems,
2nd edition, John Wiley and Sons, New York, 1967.
[35] E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics : A Practical
Introduction, 2nd Edition, Springer, 1999.
[36] Culbert B. Laney, Computational Gasdynamics, Cambridge University Press, 1998.
[37] S.M. Deshpande, Kinetic Flux Splitting Schemes, Computational Fluid Dynamics
Review 1995 : A state-of-the-art reference to the latest developments in CFD, (eds.)
M.M. Hafez and K. Oshima, John Wiley & Sons, Chechester, 1995.
[38] E. Godlewski and P.A. Raviart, Numerical Approximations of hyperbolic Systems of
Conservation Laws, Applied Mathematics Series 118, SpringerVerlag, 1996.
[39] Quirk, A contribution to the great Riemann solver debate, International Journal of
Numerical Methods in Fluids, vol. 18, pp. 555-574, 1994.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

206

BIBLIOGRAPHY

[40] S. Jin, RungeKutta Methods for Hyperbolic Conservation Laws with Stiff Relaxation Terms, Journal of Computational Physics, vol. 122, pp. 5167, 1995.
[41] R.J. Leveque ad M. Pelanti, A Class of Approximate Riemann Solvers and Their
Relation to Relaxation Schemes, Journal of Computational Physics, 172, pp. 572-59.
2001.
[42] S. Balasubramanyam, A New GridFree Upwind Relaxation Scheme for Compressible
Flows, M.Sc.(Engg.) thesis, Department of Aerospace Engineering, Indian Institute
of Science, Bangalore, India, 2002.
[43] A.K. Ghosh and S.M. Deshpande, Least Squares Kinetic Upwind Method for Inviscid Compressible Flows, AIAA paper, 95-1735, 1995.
[44] S. Balasubramanyam and S.V. Raghurama Rao, A New Grid Free Relaxation Scheme
for Euler Equations, Fluid Mechanics Report No: 2001 FM 07, Dept. of Aerospace
Engg., IISc, Bangalore.
[45] S. Balasubramanyam and S.V. Raghurama Rao, A New Grid Free Relaxation Scheme
for Euler Equations, Proceedings of the Ninth Asian Congress of Fluid Mechanics,
May 27-31 2002, Isfahan, Iran.
[46] S. Balasubramanyam and S.V. Raghurama Rao, A New Grid Free Relaxation Scheme
for Conservation Laws, 2nd International Conference on Computational Fluid Dynamics, July 2002 , Sydney, Australia (accepted for presentation and the full paper
to be published by Springer).
[47] S.V. Raghurama Rao and Sachin Khosla, A New Unsplit Relaxation Scheme for
Hyperbolic Conservation Laws, Fluid Mechanics report, Department of Aerospace
Engineering, Indian Institute of Science, Bangalore, India, 2002.
[48] S.V. Raghuramarao and Sachin Khosla, An Unsplit Relaxation Scheme for Hyperbolic Conservation Laws, 2nd International Conference on Computational Fluid Dynamics, July 2002, Sydney, Australia (accepted for presentation and proceedings to
be published by Springer).
[49] M.V. Subba Rao and S.V. Raghurama Rao, Method of Interpolation with a Relaxation Approximation for Conservation Laws (MIRACL), in preparation.
[50] R. Leveque, Nonlinear Conservation Laws and Finite Volume Methods for Astrophysical Fluid Flow, in Computational Methods for Astrophysical Fluid Flow, R.
J. Leveque, D. Mihalas, E. Dorfi,and E. Mueller, 27th Saas-Fee Advanced Course
Lecture Notes, Edited by O. Steiner and A. Gautschy, Springer-Verlag, 1998.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

BIBLIOGRAPHY

207

[51] G. Strang, On the Construction and Comparison of Difference Schemes, SIAM Journal of Numerical Analysis, No. 5, pp. 506-571, 1968.
[52] B. Manoj Kumar, S.V. Raghurama Rao R. Balasubramanian S.M. Deshpande, Kinetic Flux Vector Splitting for NavierStokes equatons based on ChapmanEnskog
distribution, 97 FM 9, Fluid Mechanics reports, Department of Aerospace Engineering, Indian Institute of Science, Bangalore, India, 1997.
[53] S.V. Raghurama Rao and K. Balakrishna, An Accurate Shock Capturing Algorithm
with a Relaxation System for Hyperbolic Conservation Laws, AIAA Paper No. AIAA2003-4145, 2003.
[54] J.C. Tannehil, D.A. Anderson and R.H. Pletcher, Computational Fluid Mechanics
and Heat Transfer, 2nd edition, Taylor & Francis, 1997.
[55] Dominic Denver John Chander, S.V. Raghurama Rao and S.M. Deshpande, A One
Point Shock Capturing Kinetic Scheme for Hyperbolic Conservation Laws, Fluid
Mechanics Report No. 2004 FM ??, Department of Aerospace Engineering, Indian
Institute of Science, Bangalore, India, 2004.
[56] Meng-Sing Liou and Steffen, A New Flux Splitting Method, Journal of Computational Physics, vol. , pp. , .
[57] J.L. Steger and F.F. Warming, Flux Vector Splitting of the Inviscid Gas Dynamics
Equations with Applications to Finite Difference Methods, Journal of Computational
Physics, Vol. 40, pp. 263-293, 1981.
[58] B. van Leer, Flux Vector Splitting for the Euler Equations, Lecture Notes in Physics,
vol. 170, pp. 507-512, 1982.
[59] G.D. van Albada, B. van Leer and J.W.W. Roberts, A Comparative Study of Computational Methods in Cosmic Gas Dynamics, Astronomy and Astrophysics, vol. 108,
1982.
[60] Jaw-Yen Yang, Jer-Wei Chang and I-Nan Tsai, A Kinetic Flux Splitting Method for
Gas Dynamics Based on Beam Scheme, AIAA Paper No. AIAA-97-2096, 1997.

DRAFT -- DRAFT -- DRAFT -- DRAFT -- DRAFT -

Das könnte Ihnen auch gefallen