You are on page 1of 109

T

AF
Advanced Computational Fluid Dynamics

January - April, 2006


DR
Dr. S.V. Raghurama Rao
Assistant Professor
AR & DB Centre of Excellence for Aerospace CFD
Department of Aerospace Engineering
Indian Institute of Science
Bangalore 560012, India
E-mail : raghu@aero.iisc.ernet.in
ii

DR
AF
T
Contents

1 Introduction 1

2 Compressible Fluid Flows, Their Governing Equations, Models and Ap-


proximations 3
2.1 Navier-Stokes Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Euler Equations, Burgers Equation and Linear Convection Equation . . . . 5
2.3 Linear Convection Equation, Characteristics and Hyperbolicity . . . . . . . 7
2.4 Burgers Equation, Shock Waves and Expansion Waves . . . . . . . . . . . 11
2.5 Shock Waves in Supersonic Flows . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Mathematical Classification of PDEs . . . . . . . . . . . . . . . . . . . . . 13
2.6.1 First Order PDEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2 Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6.3 Second Order PDEs . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.4 Physical Significance of the Classification . . . . . . . . . . . . . . . 20
2.7 Euler equations and Hyperbolicity . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Kinetic Theory, Boltzmann Equation and its Moments as Macroscopic
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.1 B-G-K Model for the collision term . . . . . . . . . . . . . . . . . . 33
2.8.2 Splitting Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9 Relaxation Systems for Non-linear Conservation Laws . . . . . . . . . . . . 35
2.9.1 Chapman-Enskog type expansion for the Relaxation System . . . . 37
2.9.2 Diagonal form of the Relaxation System . . . . . . . . . . . . . . . 39
2.9.3 Diagonal form as a Discrete Kinetic System . . . . . . . . . . . . . 41
2.9.4 Multi-dimensional Relaxation Systems . . . . . . . . . . . . . . . . 43
2.10 A Note on Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . 46

3 Analysis of Numerical Methods 47


3.1 Basics of Finite Difference and Finite Volume Methods . . . . . . . . . . . 47
3.1.1 Upwind Method in Finite Difference Form . . . . . . . . . . . . . . 47
3.1.2 Upwind Method in Finite Volume Form . . . . . . . . . . . . . . . 50
3.2 Modified Partial Differential Equations . . . . . . . . . . . . . . . . . . . . 54

iii

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


iv CONTENTS

3.3 Consistency of Numerical Methods . . . . . . . . . . . . . . . . . . . . . . 58


3.4 Stability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.1 Fourier series in complex waveform . . . . . . . . . . . . . . . . . . 59
3.4.2 Stability analysis of Numerical Methods [12] . . . . . . . . . . . . . 60

4 Central Discretization Methods for Scalar and Vector Conservation Laws 67


4.1 A Brief History of Numerical Methods for Hyperbolic Conservation Laws . 67
4.2 Lax-Friedrichs Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Lax-Wendroff Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.4 Two-Step Lax-Wendroff Method and MacCormack Method . . . . . . . . . 74

5 Upwind Methods for Scalar Conservation Laws 77


5.1 Flux Splitting Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 Approximate Riemann Solver of Roe . . . . . . . . . . . . . . . . . . . . . 80
5.2.1 Entropy Fix for Roe’s Scheme . . . . . . . . . . . . . . . . . . . . . 83
5.3 Kinetic Flux Splitting Method . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Relaxation Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4.1 Relaxation Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.2 Discrete Kinetic Scheme . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.3 A Low Dissipation Relaxation Scheme . . . . . . . . . . . . . . . . 95

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 di-
mensions of the subject of Fluid Dynamics. CFD gradually 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 de-
velopment of several intelligent algorithms for solving the governing equations of Fluid
Dynamics. The history of the development of numerical algorithms for solving compress-
ible fluid flows is an excellent example of the above process. In this short course, some
important and interesting algorithms developed in the past three decades for solving the
equations of compressible fluid flows are presented.
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 described, along with its important
implications. Some of the numerical methods presented in later chapters depend upon de-
riving the equations of compressible flows from Kinetic Theory of gases and as Relaxation
Approximations. These basic derivations are also presented in this chapter.
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
briefly presented. These tools help the student in understanding the algorithms presented
in later chapters better.

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


2 CHAPTER 1. INTRODUCTION

The fourth chapter presents the central discretization methods for the hyperbolic equa-
tions, 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 Relax-
ation 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
∂U ∂G1 ∂G2 ∂G3 ∂G1,V ∂G2,V ∂G3,V
+ + + = + + (2.1)
∂t ∂x ∂y ∂z ∂x ∂y ∂z
where U is the vector of conserved variables, defined by
 
ρ
 ρu1 
 
U =  ρu2 
 (2.2)
 ρu3 
ρE

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


     
ρu1 ρu2 ρu3
 p + ρu21   ρu2 u1   ρu3 u1 
   2
  
G1 =  ρu1 u2  ; G2 =  p + ρu2  ; G2 =  ρu3 u2 (2.3)
     

 ρu1 u3   ρu2 u3   p + ρu23 
pu1 + ρu1 E pu2 + ρu2 E pu2 + ρu3 E

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

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


4 Governing Equations and Approximations

   
0 0

 τxx 


 τyx 

G1,V =
 τxy  ; G2,V = 
  τyy 

 τxz   τyz 
u1 τxx + u2 τxy + u3 τxz − q1 u1 τyx + u2 τyy + u3 τyz − q2

 
0

 τzx 

G3,V =
 τzy 
 (2.4)
 τzz 
u1 τzx + u2 τzy + u3 τzz − q3

In the above equations, ρ is the density of the fluid, u1 , u2 and u3 are the velocities, 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.5)
2
The internal energy is defined by
p
e= (2.6)
ρ (γ − 1)
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 and T is the
temperature. Here, τij (i=1,2,3, j=1,2,3) represents the shear stresses and qi (i=1,2,3)
represents the heat fluxes, the expressions for which are given as follows.
µ ¶
∂u1 ∂u1 ∂u2 ∂u3
τxx = 2µ + µbulk + + (2.7)
∂x ∂x ∂y ∂z
µ ¶
∂u2 ∂u1 ∂u2 ∂u3
τyy = 2µ + µbulk + + (2.8)
∂y ∂x ∂y ∂z
µ ¶
∂u3 ∂u1 ∂u2 ∂u3
τzz = 2µ + µbulk + + (2.9)
∂z ∂x ∂y ∂z
µ ¶
∂u1 ∂u2
τxy = τyx = µ + (2.10)
∂y ∂x
µ ¶
∂u1 ∂u3
τxz = τzx = µ + (2.11)
∂z ∂x
µ ¶
∂u3 ∂u2
τyz = τzy = µ + (2.12)
∂y ∂z

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


2.2. EULER EQUATIONS, BURGERS EQUATION AND LINEAR CONVECTION EQUATION5

∂T ∂T ∂T
q1 = −k , q2 = −k , q3 = −k (2.13)
∂x ∂y ∂z
where µ is the coefficient of viscosity and µbulk is the bulk viscosity coefficient defined by
2
µbulk = − µ and k is the thermal conductivity.
3

2.2 Euler Equations, Burgers Equation and Linear


Convection Equation
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

∂U ∂G ∂GV
+ = (2.14)
∂t ∂x ∂x
where
     
ρ ρu 0
U =  ρu  , G =  p + ρu2  and GV =  τ  (2.15)
ρE pu + ρuE uτ − q

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 (2.16)
3 ∂x ∂x
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

∂U ∂G
+ =0 (2.17)
∂t ∂x
Let us now make the second assumption that the temperature is constant, T = T0 .
Therefore, the equation of state becomes p = ρRT0 = ρa2 where a2 = RT0 , is the speed
of sound. Since we have assumed that the fluid flow is isothermal, we do not need the
energy equation as the temperature gradients are zero and there is no heat transfer by

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


6 Governing Equations and Approximations

conduction or convection (neglecting radiation). Therefore, we will be left with the mass
and momentum conservation equations as
∂ρ ∂ (ρu)
+ =0 (2.18)
∂t ∂x
and
∂ (ρu) ∂ (p + ρu2 )
+ =0 (2.19)
∂t ∂x
Expanding the momentum equation, we can write
∂u ∂ρ ∂p ∂u ∂ (ρu)
ρ +u + + ρu +u =0 (2.20)
∂t ∂t ∂x ∂x ∂x
Using the mass conservation equation, we can simplify the above equation as
∂u ∂u 1 ∂p
+u + =0 (2.21)
∂t ∂x ρ ∂x
The inviscid fluid flow involves two distinct phenomena, namely, the fluid transport (con-
vection) along the streamlines and the pressure (acoustic) signals traveling in all directions.
To isolate the convection process from the acoustic signal propagation, let us now make
the next assumption that the the pressure is constant throughout our 1-D domain and so
the pressure gradient term disappears, yielding
∂u ∂u
+u =0 (2.22)
∂t ∂x
This equation is known as the inviscid Burgers equation. Let us now put the above
equation in conservative form as
∂u ∂g (u) u2
+ = 0 where g (u) = (2.23)
∂t ∂x 2
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 Navier–Stokes
equations. 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.24)
We are doing this linearization only to study and understand the basic convection terms.
When we try to solve the Euler or Navier–Stokes equations, we will use only the non-
linear equations. With the above assumption of a linear flux, the inviscid Burgers equation
becomes
∂u ∂u
+c =0 (2.25)
∂t ∂x

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


2.3. LINEAR CONVECTION EQUATION, CHARACTERISTICS AND HYPERBOLICITY7

This is called as the linear convection equation. So, the linear convection equation rep-
resents the basic convection terms in the Navier–Stokes 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 Navier–Stokes equations. The Ki-
netic 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.

2.3 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 (2.26)
∂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 (2.26), given the initial condition

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

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

Figure 2.1: 3-Point Stencil

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


8 Governing Equations and Approximations

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) (2.28)
dt ∂x dt ∂t
which can be written simply as
du ∂u dx ∂u
= + (2.29)
dt ∂t dt ∂x
The right hand side of (2.29) looks similar to the left hand side of the linear convection
∂u ∂u
equation (2.26), i.e., + c . Therefore, if we choose
∂t ∂x
dx
c= (2.30)
dt
du
then (2.26) 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.31)
dt
The solution of (2.31) is given by
x = ct + k (2.32)
where k is a constant. Using the initial condition x (t = 0) = x0 , we get

x0 = k (2.33)

Therefore
x = ct + x0 (2.34)
∂u ∂u
The curve x = ct + x0 is called the characteristic curve of the equation +c =0
∂t ∂x
∂u ∂u
(2.26), or simply as the characteristic. Along the characteristic, the PDE, +c = 0,
∂t ∂x
du
becomes and ODE, = 0. The solution of this ODE is u = constant. Therefore, along
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 (2.34), we can write

x0 = x − ct (2.35)

Therefore
u (x, t) = u0 (x0 ) = u0 (x − ct) (2.36)

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


2.3. LINEAR CONVECTION EQUATION, CHARACTERISTICS AND HYPERBOLICITY9

We can write (2.34) as


1 x0 1
ct = x − x0 or t = x − or t = x − k̄ (2.37)
c c c
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
t

1/c
=
pe
slo

Figure 2.2: 3-Point Stencil

not be parallel straight lines.


Let us now derive the solution (2.36) in a mathematical way. For the PDE which is
∂u ∂u dx
the linear convection equation given by +c = 0, let us choose = c. Its solution
∂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.38)
The inverse transformation is given by

x = s + cτ and t = τ (2.39)

Therefore, the transformation is from u (x, t) to ū (s, τ ). Since the function is the same
in different coordinate systems
u (x, t) = ū (s, τ ) (2.40)
We can now write
dū ∂ ū ∂t ∂ ū ∂x ∂u ∂t ∂u ∂x
= + = + (since ū = u) (2.41)
dτ ∂t ∂τ ∂x ∂τ ∂t ∂τ ∂x ∂τ
From (2.39), we have
∂t ∂x
= 1 and =c (2.42)
∂τ ∂τ

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


10 Governing Equations and Approximations

Therefore
dū ∂u ∂u
= +c (2.43)
dτ ∂t ∂x
∂u ∂u
But, from (2.26), +c = 0. Therefore
∂t ∂x
dū
=0 (2.44)

The initial condition is u (x, 0) = u0 (x). Therefore
ū (s, τ = 0) = u0 (s) (2.45)
Solving (2.44), we get
ū (τ ) = k̃ = constant (2.46)
Using (2.45), we obtain
ū (τ = 0) = u0 (s) = k̃ or k̃ = u0 (s) (2.47)
Therefore
ū (s, τ ) = u0 (s) (2.48)
Since u = ū, we obtain
u (x, t) = u0 (s) (2.49)
Using (2.38), we can write
u (x, t) = u0 (x − ct) = u (x − ct, t = 0) (2.50)
For a time interval t to t + ∆t, we can write
u (x, t + ∆t) = u (x − c∆t, t) (2.51)
If we consider a point xj with neighbours xj−1 and xj+1 to the left and right sides of xj







































































































































t+∆t
      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        

      
        
     
        


















c>0






























































c<0









































      
        
     
        

c∆t c∆t
      
        
     
        

      
        
     
        

t
      
        
     
        


 



      
        
     
        



  

xj−1 xj xj+1
∆x ∆x

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 -


2.4. BURGERS EQUATION, SHOCK WAVES AND EXPANSION WAVES 11

2.4 Burgers Equation, Shock Waves and Expansion


Waves
Consider the Burger’s equation
∂u ∂g (u) 1
+ = 0, with g (u) = u2 (2.52)
∂t ∂x 2
Let us check the wave speed for this case. The wave speed is defined by
∂g (u)
a (u) = (2.53)
∂u
Therefore, a(u) = u. Consider an initial profile which is monotonically increasing. There-
fore as u increases, a(u) increases.
u

t=0 t=t1 t=t 2

large speed

small speed

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 -


12 Governing Equations and Approximations

u multivalued
unphysical
solution
t=0 t=t1 t=t2 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 multi-
valued. 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 Solid Body


(M < 1)

Figure 2.6: Subsonic flow over a blunt body

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


2.6. MATHEMATICAL CLASSIFICATION OF PDES 13

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 Solid Body


(M > 1)

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 con-
vection equation, convection-diffusion equation, pure diffusion equation and the wave

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


14 PDEs and Classification

equations of first order and second order. These equations, including the Navier-Stokes
equations, are Partial Differential Equations (PDEs). To understand these equations bet-
ter, 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
∂u ∂u
A(x, y) + B(x, y) + C(x, y)u = D(x, y) (2.54)
∂x ∂y
Let us simplify (2.54) by assuming C = D = 0.
∂u ∂u
∴ A(x, y) + B(x, y) =0 (2.55)
∂x ∂y
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.56)

where w is some combination of x and y such that as x and y change, w remains constant.
Substituting (2.56) in (2.55), we obtain
∂f (w) ∂w ∂f (w) ∂w
A(x, y) + B(x, y) = 0
∂w ∂x ∂w ∂y
· ¸
∂f (w) ∂w ∂w
∴ A(x, y) + B(x, y) = 0 (2.57)
∂w ∂x ∂y
(w)
From the above equation, either dfdw df
= 0 or A dx df
+ 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.57) to be
true is to have
∂w ∂w
A(x, y) + B(x, y) =0 (2.58)
∂x ∂y
Let us now seek the solutions of (2.58) such that w remains constant as x and y vary.
Therefore, require
∂w ∂w
dw = 0 or dx + dy = 0 (2.59)
∂x ∂y
From (2.58) and (2.59) (which look alike), we get
∂w ∂w
A(x, y) = −B(x, y) (2.60)
∂x ∂y

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


Characteristics 15

and
∂w ∂w
dx = − dy (2.61)
∂x ∂y
Dividing (2.61) by (2.60), we get
dx dy
= (2.62)
A(x, y) B(x, y)

Therefore, f(w) will be constant along those lines (x, y) that satisfy (2.62). On integrating
(2.62) 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.63)

which will be the solution.


Example:

∂u ∂u
+c =0 (2.64)
∂t ∂x

∴ A = 1 and B = c

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

∴ dx = c dt (2.65)

Integrating, we get
x = c t + k where k is a constant. (2.66)
∴ w = k = x − ct (2.67)
∴ u(x, t) = f (w) = f (x − ct) (2.68)
where f is an arbitrary function which must be determined by initial conditions for the
PDE, which is (2.64) 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.54) as
∂u ∂u
A(x, y) + B(x, y) = C(x, y, u) (2.69)
∂x ∂y

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


16 PDES and Classification

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

u(x, y) = φ(s) (2.70)

Let the boundary condition (2.70) 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.71)

Here, s in the arc length along the boundary. Along the boundary represented by (2.71),
the variation of u is given by
du ∂u dx ∂u dy
= + (2.72)
ds ∂x ds ∂y ds
Using (2.70), (2.72) can be written as
du ∂u dx ∂u dy dφ
= + = (2.73)
ds ∂x ds ∂y ds ds
∂u ∂u
We now have two equations (2.69) and (2.73) with two unknowns and . We can
∂x ∂y
write (2.73) and (2.69) as
∂u dx ∂u dy dφ
+ = (2.74)
∂x ds ∂y ds ds
and
∂u ∂u
A+ B=C (2.75)
∂x ∂y
or
 ∂u
 
dx dy dφ
  
 ∂x 
 ds ds     ds 
  =  (2.76)
 ∂u 
A B C
∂y
∂u ∂u
We can solve (2.76) to obtain the unknowns and as
∂x ∂y
∂u
 
dx dy −1 dφ
   
 ∂x 
  ds ds   ds 
= (2.77)

   
 ∂u 
A B C
∂y
The solution is not possible if the determinant of the matrix, whose inverse is required,
NT
is zero since M −1 = where N T is the transpose of the matrix N of cofactors of M .
|M |

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


Second Order PDEs 17

The determinant is zero if


dx dy
ds ds = 0 (2.78)
A B
or
dx dy
B −A = 0
ds ds
dx dy
∴B = A
ds ds
dy
B
∴ ds =
dx A
ds
dy B
∴ =
dx A
dx dy
∴ = (2.79)
A B
We have already seen that (2.79) 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
characteristics. Note also that the derivatives of the solution, or may not exist
∂x ∂y
along the characteristics, since w = constant along the characteristics.
∂u ∂ ∂f ∂w ∂f
= f (w) = = 0=0
∂x ∂x ∂w ∂x ∂w
∂u ∂ ∂f ∂w ∂f
= f (w) = = 0=0
∂y ∂y ∂w ∂y ∂w
Therefore, discontinuities in solution may exist along the characteristics. That is why we
∂u ∂u
can solve for and everywhere in the (x, y) domain except along the characteristics
∂x ∂y
(when the determinant is zero (2.78)).

2.6.3 Second Order PDEs


The general form of a second order PDE is

∂ 2u ∂ 2u ∂2u ∂u ∂u
A(x, y) 2
+ B(x, y) + C(x, y) 2
= D(x, y, u, , ) (2.80)
∂x ∂x∂y ∂y ∂x ∂y

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


18 PDES and Classification

Apart from the general form of the second order PDE, we can obtain two more relation-
∂u ∂u
ships by applying the chain rule to the total derivatives of and [3].
∂x ∂y
∂ 2u ∂2u ∂ 2u
A + B + C = D (2.81)
∂x2 ∂x∂y ∂y 2
∂ 2u ∂2u
µ ¶
∂u
2
dx + dy = d (2.82)
∂x ∂x∂y ∂x
∂2u ∂2u
µ ¶
∂u
dx + 2 dy = d (2.83)
∂x∂y ∂y ∂y
or  2  
∂ u D

   ∂x2 
A B C     µ ¶ 

 
 2    ∂u 

 dx dy 0  
 ∂ u   d 
   ∂x∂y  
  =  ∂x 
 (2.84)
  
  µ ¶  
0 dx dy  ∂ 2 u  
  ∂u 
d
∂y 2 ∂y
∂ 2u ∂ 2u ∂2u
The equation (2.84) can be solved for 2 , and 2 everywhere in the (x, y) domain,
∂x ∂x∂y ∂y
except on a curve where the determinant in (2.84) is zero, which will be the characteristic
curve. The zero determinant condition is
A B C

dx dy 0 =0 (2.85)

0 dx dy

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


£ ¤ £ ¤
(2.86)
∴ A (dy)2 − B (dxdy) + C (dx)2 = 0 (2.87)
Let us divide by (2.87) by (dx)2 to obtain
µ ¶2
dy dy
A −B +C =0 (2.88)
dx dx
This is the equation of the curve along which the second partial derivatives of u cannot
be defined. The solution to (2.88) is
p
dy −(−B) ± (−B)2 − 4AC
= (2.89)
dx 2A
p
dy B ± (B)2 − 4AC
∴ = (2.90)
dx 2A

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


Second Order PDEs 19

The curves in the (x, y) domain satisfying (2.88) are called the characteristics of the
PDE (2.80). The characteristics have tangents at each point given by (2.88), when A 6= 0.
The equation (2.90) 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.88) defines two
families of real curves in (x, y) plane. When the PDEs are parabolic (B 2 − 4AC = 0) the
equation (2.88) defines one family of real curves in the (x, y) plane. When the PDEs are
elliptic (B 2 − 4AC < 0) the equation (2.88) 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.91)
and the conic section takes different shapes as given below.
The conic is a hyperbola if b2 − 4ac > 0 (2.92)
The conic is a parabola if b2 − 4ac = 0 (2.93)
The conic is an ellipse if b2 − 4ac < 0 (2.94)
• Example 1 : Consider wave equation
∂2u 2
2∂ u
= c
∂t2 ∂x2
∂ 2u 1 ∂2u
∴ − =0
∂x2 c2 ∂t2
1
∴ A = 1, B = 0 & C = − 2
c
r
−1
0 ± (0)2 − 4 × 1 × ( 2 )
dt c 1
∴ = =±
dx 2×1 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 -


20 PDES and Classification

• Example 2 : Consider the pure diffusion equation

∂u ∂2u
=α 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 (2.95)
∂x2 ∂y 2

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 cat-
egorization 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 non-
linear 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

∂2u 2
2∂ u
= c (2.96)
∂t2 ∂x2

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


Physical Significance of the Classification 21

As in a previous section for second order PDE, we can write the above equation as
 2 
∂ u
 ∂t2   
  0
1 0 −c2  2  
  µ ¶
 ∂u 
 dt dx 0   ∂ u  d 
= ∂t (2.97)
  
 ∂x∂t   µ ¶ 
∂u 
0 dt dx  
d

∂x
 
 ∂2u 
∂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.98)

Solving the above quadratic equation, we get

dx
= ±c or x = x0 ± ct (2.99)
dt
Therefore, there are two real characteristics associated with the wave equation considered
here. The information propagation along the characteristics is with the speed

dx
a= = ±c (2.100)
dt
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 -


22 PDES and Classification

Parabolic PDEs
The parabolic equations are typically characterized by one direction information prop-
agation. Unsteady heat conduction equation, unsteady viscous Burgers equation and
unsteady linear convection-diffusion equation are examples of parabolic equations. Con-
sider the unsteady heat conduction equation in 1-D, given by

∂T ∂2T
=α 2 (2.101)
∂t ∂x
As done before, we can write this equation as

∂2T ∂T
   
 ∂x2   ∂t 
    
α 0 0  2  
   µ ¶ 
∂ T   d ∂T

 dx dt 0   =

(2.102)
 ∂x 
0 dx dt  ∂x∂t  
   

   
 ∂ 2 T   µ ∂T ¶ 
d
∂t2 ∂t

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 (2.103)
t = constant

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
= = ±∞ (2.104)
dt ±0
Thus, the information propagates at infinite speed along the characteristics (lines of con-
stant 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 infor-
mation 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 -


Physical Significance of the Classification 23

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 (2.105)
∂x2 ∂y 2
As done before, the above equation can be written as
 2
∂ T

 
 ∂x2  0
    µ ∂T ¶ 
1 0 1 d
 
 ∂ 2T   
 dx dy 0     ∂x 
= (2.106)
  
 ∂x∂y   µ ¶ 
0 dx dy  
  ∂T 
d
 
 ∂ 2T 
∂y
∂y 2

Setting the determinant to zero and solving for the characteristics, we obtain
dy √
1 (dy)2 + 1 (dx)2 = 0 or = ± −1 (2.107)
dx
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 -


24 PDES and Classification

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 equa-
tions. 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
∂U ∂G
+ =0 (2.108)
∂t ∂x
where
   
U1 G1
 U2   G2 
U = .. G = .. (2.109)
   
  
 .   . 
Un Gn

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


2.7. EULER EQUATIONS AND HYPERBOLICITY 25

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 (2.110)
∂t ∂U ∂x
or
∂U ∂U ∂G
+A = 0 where A = (2.111)
∂t ∂x ∂U
The above form of system of PDEs (2.111) is known as the quasi-linear form. Note that A
will be a n×n matrix. A system of partial differential equations (2.111) 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 = RDR−1 (2.112)

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 (2.113)
 
 . . . 
0 · · · λn

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 = R−1 U (2.114)
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.115)
∂t ∂t ∂x ∂x
Therefore
∂W ∂W
R + AR =0 (2.116)
∂t ∂x

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


26 PDES and Classification

or
∂W ∂W
+ R−1 AR = =0 (2.117)
∂t ∂x
Therefore
∂W ∂W
+D =0 (2.118)
∂t ∂x

1-D Euler equations


The 1-D Euler equations
∂U ∂U
+ =0 (2.119)
∂t ∂x
which can be written in quasi-linear form as
∂U ∂U ∂G
+A = 0 where A = (2.120)
∂t ∂x ∂U

 
0 1 0
γ−3 2
u (3 − γ) u γ−1 
 
A= (2.121)

2 
 γ−2 3 a2 u 3 − 2γ 2 a2 
u − u + γu
2 γ−1 2 γ−1
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 (2.122)

¾ 
 γ−1 2 2

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

λ1 = u − a, λ2 = u and λ3 = u + a (2.123)

and the corresponding eigenvectors are

1
     
1 1
R1 =  u − a  , R2 =  u  and R3 =  u + a  (2.124)
 
1 2
H − ua u H + ua
2
Therefore, we can see that the 1-D Euler equations are (strictly) hyperbolic. So, are
multi-dimensional Euler equations.

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


Kinetic Theory of Gases 27

In this short course, apart from the traditional numerical methods for solving the
equations of compressible flows, alternative methodologies based on the Kinetic The-
ory 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 Mo-


ments 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 Navier-
Stokes equations, which are obtained by applying Newton’s laws of motion to the fluids, we
can apply Newton’s 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

∆3 N
n (r) = Lim∆3 r→0 (2.125)
∆3 r

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


28 Governing Equations and Approximations

Therefore, we can write


d3 N = n (r) d3 r (2.126)
and we can calculate the number of molecules if the local number density (or the molec-
ular 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.127)
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 ∞
n (r) = fp (r, v) d3 v (2.128)
−∞ −∞ −∞

which we denote by a simpler notation as

n = hfp i (2.129)

Multiplying both sides of the above equation by the mass of the molecules, m, and iden-
tifying 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 (2.130)

Similarly, the average or mean speed of the molecules can be written as


Z ∞Z ∞Z ∞
n (r) hvi = vfp (r, v) d3 v (2.131)
−∞ −∞ −∞

or
nhvi = hvfp i (2.132)
Multiplying by the mass, we obtain

nmhvi = hvmfp i (2.133)

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

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


Kinetic Theory of Gases 29

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


1
ρE = h v2 f i (2.136)
2
Thus, we have the expressions
1
ρ = hf i ; ρu = hvf i ; ρE = h v2 f i (2.137)
2
which give the macroscopic quantities as averages (also called as moments) of the molec-
ular 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 = pδij − τij = hci cj f i where c = v − u (2.138)

and
qi = hcci f i (2.139)
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.140)
0 if i 6= j

and
c2 = c21 + c22 + c23 ; v2 = v12 + v22 + v32 (2.141)
The expression for E can be evaluated as

p u2
E= + (2.142)
2ρ 2
But, the right expression for E is
u2
E =e+ (2.143)
2
where
p
e= (2.144)
ρ(γ − 1)
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 -


30 Governing Equations and Approximations

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−β(v−u) (2.145)
π
where
1 ρ
β= = (2.146)
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.147)
Now that we know the expression for the Maxwellian distribution, let us evaluate the
moments. From the definitions, we can write for 1 − D
1
 

U = h v  f i (2.148)
 
1 2
v
2
Using the Maxwellian
1
 

U = h v  F i (2.149)
 
1 2
v
2 Z ∞
U1 = hF i = F dv (2.150)
−∞
Z ∞
U2 = hvF i = vF dv (2.151)
−∞
Z ∞
v2 v2
U3 = h Fi = F dv (2.152)
2 −∞ 2
To evaluate the above, we need to know some basic integrals. Some types of integrals we
encounter often are
Z ∞
2
Jn = xn e−x dx n = 0, 1, 2, ... (2.153)
−∞
Z ∞
+ 2
Jn = xn e−x dx n = 0, 1, 2, ... (2.154)
0
Z 0
− 2
Jn = xn e−x dx n = 0, 1, 2, ... (2.155)
−∞

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


Kinetic Theory of Gases 31
R∞ 2
We first need to evaluate the fundamental integral −∞ e−x dx. Let
Z ∞ Z ∞
−x2 2
K= e dx = e−y dy (2.156)
−∞ −∞

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


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

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


Z ∞ Z 2π
2 2
K = e−r rdrdθ
0 0
Z ∞
2 2
K = [θ]2π
0 e−r rdr
0
· ¸∞
2 −1 −r2
K = 2π · e =π
2 0

K= π
Therefore, Z ∞ √
2
e−x dx = π (2.158)
−∞

Using the above, we can derive the following expressions.



√ π 

+
J0 = π J 0 = 
2


1


+
J1 = 0 J1 =



√ 2
√ 

π π

+ (2.159)
J2 = J2 =
2 4 
1


+
J3 = 0 J3 =


2√ 

√ 
3 π 3 π 

+
J4 = J4 =


4 8
and Jn− = Jn − Jn+ (2.160)
Using these integrals, if we derive U3 , we get, for a Maxwellian
v2
· ¸
p 1 2
U3 = h F i = ρ + u = ρE (2.161)
2 2ρ 2
p u2
where E = + (2.162)
2ρ 2

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


32 Governing Equations and Approximations

But, for Euler equations, we know that

p u2
E= + (2.163)
ρ(γ − 1) 2

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.164)
0 −∞
Z ∞ Z ∞
ρu = dI d3 v vf (2.165)
0 −∞
Z ∞ Z ∞
v2
ρE = dI d3 v (I + )f (2.166)
0 −∞ 2
where v2 = v12 + v22 + v32 (2.167)

Here I is the internal energy variable corresponding to non-translational degrees of free-


dom. The Maxwellian is modified as
µ ¶D
ρ β 2 −β(v−u)2 −I
F = e e I0 (2.168)
I0 π
(2 + D) − γD
where I0 = RT (2.169)
2 (γ − 1)

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 ) (2.170)
∂t ∂x

(in the absence of external forces).


The left hand side of (2.170) 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.170) 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 -


Kinetic Theory of Gases 33

2.8.1 B-G-K Model for the collision term


Bhatnagar, Gross and Krook [7] proposed a simple model for the collision term :

F −f
J (f, f ) = (2.171)
tR
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.172)
∂t ∂x tR

2.8.2 Splitting Method


Boltzmann equation (2.170) is usually solved by a splitting method. To illustrate the
splitting method, let us consider the (2.172). We can re-write (2.172) as

∂f ∂f F −f
= −v + (2.173)
∂t ∂x tR

∂f
= O1 + O2 (2.174)
∂t

∂f
where O1 = −v (2.175)
∂x
F −f
and O2 = (2.176)
tR

We can split (2.174) into two steps:

∂f
= O1 (2.177)
∂t

∂f
= O2 (2.178)
∂t
(2.177) and (2.178) can be re-written as

∂f ∂f
+v = 0 (2.179)
∂t ∂x

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


34 Governing Equations and Approximations

∂f F −f
= (2.180)
∂t tR
equation (2.179) is the convection equation for f and equation (2.180) 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.179) can be solved exactly or
numerically. Let us see how, in the collision step, the equation (2.180) can be solved. We
can write (2.180) as an ODE.
df F −f
= (2.181)
dt tR
This is a simple ODE for which the solution is given by
− tt
f = (f0 − F ) e R +F (2.182)

− tt − t
³ ´
or f = f0 e R + F 1 − e tR (2.183)

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


t
f = f0 e− 0 + F or f = F (2.184)

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.185)
∂t ∂x
Relaxation Step:
f =F (2.186)
Therefore, in kinetic schemes, after the convection step, the distribution function instan-
taneously relaxes to a Maxwellian distribution. If we start with an initially Maxwelian
distribution, we can use the approximation
∂F ∂F
+v =0 (2.187)
∂t ∂x
as a basis for developing kinetic schemes. The Euler equations
∂U ∂Gi
+ = 0 (i = 1, 2, 3) (2.188)
∂t ∂xi
 
ρ
where U =  ρui  (2.189)
ρE

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


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 35
 
ρui
G =  δij p + ρui uj  (2.190)
pui + ρui E
p u2
E = + (2.191)
ρ (γ − 1) 2

and u2 = u21 + u22 + u23 (2.192)

can be obtained as moments of the Boltzmann equation:


1
 
· ¸
v i
∂f ∂f
h + vi = 0i (2.193)
 
v2 ∂t ∂xi

I+
2
1 1
   
Z ∞ Z ∞
Therefore, U = h vi d3 v  vi
 fi = dI 2 f (2.194)
   
v2 0 −∞ v
I+ I+
2 2
1 1
   
Z ∞ Z ∞
and Gj = h vi d3 v  vi
2  vj f i = dI 2  vj f (2.195)
   
v 0 −∞ v
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
∂t ∂x (2.196)
with the initial condition u (x, t = 0) = u0 (x) .

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


36 Governing Equations and Approximations

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
+ = 0
∂t ∂t
(2.197)
∂v ∂u 1
+ λ2 = − [v − g (u)]
∂t ∂x ²
Here, λ is a positive constant and ² is a very small number approaching zero. We can
rearrange the second equation of the above system (2.197) as
· ¸
∂v 2 ∂u
² +λ = − [v − g (u)] (2.198)
∂t ∂x
and as ² → 0, we obtain v = g (u). Substituting this expression in the first equation
of the Relaxation System (2.197), we recover the original non-linear conservation law
(2.196). Therefore, in the limit ² → 0, solving the Relaxation System (2.197) is equivalent
to solving the original conservation law (2.196). 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.199)
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 (2.200)
∂t ∂x
Here, U is the vector of conserved variables and G (U) is the flux vector, defined by
   
ρ ρu
U =  ρu  and G (U) =  p + ρu2  (2.201)
ρE pu + ρuE
where ρ is the density, u is the velocity, p is the pressure and E is the total internal energy
of the fluid, defined by
p u2
E= + (2.202)
ρ (γ − 1) 2

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


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 37

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
+ = 0
∂t ∂x
(2.203)
∂V ∂U 1
+D = − [V − G (U)]
∂t ∂x ²
where D is a positive constant diagonal matrix, defined by
 
D1 0 0
D =  0 D2 0  (2.204)
0 0 D3
The positive constants λ in the Relaxation System for the scalar case (2.197) and Di , (i =
1, 2, 3) in the Relaxation System for the vector case (2.203) 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 Sys-


tem
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.197) as · ¸
∂v 2 ∂u
v = g (u) − ² +λ (2.205)
∂t ∂x
which means that
v = g (u) + O [²] (2.206)
Differentiating with respect to time, we obtain
∂v ∂ ∂g ∂u
= [g (u)] + O [²] = + O [²] (2.207)
∂t ∂t ∂u ∂t
Since the first equation of the Relaxation System (2.197) gives
∂u ∂v
=− (2.208)
∂t ∂x
we can write
∂v ∂g ∂v
=− + O [²] (2.209)
∂t ∂u ∂x

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


38 Governing Equations and Approximations

Therefore, using (2.206), we can write


· ¸
∂v ∂g ∂
=− {g (u) + O [²]} + O [²] (2.210)
∂t ∂u ∂x
· ¸ µ ¶2
∂v ∂g ∂g ∂u ∂g ∂u
or =− + O [²] = − + O [²] (2.211)
∂t ∂u ∂u ∂x ∂u ∂x
Substituting the above expression in (2.205), we get
" (µ ¶ ) #
2
∂g ∂u ∂u
v = g (u) − ² − + O [²] + λ2 (2.212)
∂u ∂x ∂x

or " ( µ ¶2 )#
∂u ∂g
λ2 − + O ²2
£ ¤
v = g (u) − ² (2.213)
∂x ∂u
Substituting this expression for v in the first equation of the Relaxation System (2.197),
we get " ( µ ¶2 )#
∂u ∂g (u) ∂ ∂u 2 ∂g
+ O ²2
£ ¤
+ =² λ − (2.214)
∂t ∂x ∂x ∂x ∂u
The right hand side of (2.214) contains a second derivative of u and hence represents a dis-
sipation (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 fol-
lowing condition should be satisfied.
µ ¶2 µ ¶
2 ∂g ∂g
λ ≥ or − λ ≤ ≤λ (2.215)
∂u ∂u

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


System (2.197) should be chosen in such a way that the condition (2.215) is satisfied.
For the vector conservation laws (2.200) modeled by the Relaxation System (2.203),
the Chapman–Enskog type expansion gives
"( µ ¶2 ) #
∂U ∂G(U) ∂ ∂G(U) ∂U
+ =² D− + O(²2 ) (2.216)
∂t ∂x ∂x ∂U ∂x

For the Relaxation System (2.203) to be dissipative, the following condition should be
satisfied. µ ¶2
∂G (U)
D− ≥0 (2.217)
∂U

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


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 39

Based on the eigenvalues of the original conservation laws (2.200), 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|] (2.218)
(ii) Second choice : λ21 = max|u − a|, λ22 = max|u| and λ23 = max|u + a| (2.219)
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.220)
where I is a unit matrix.

2.9.2 Diagonal form of the Relaxation System


The Relaxation System (2.197) can be written in matrix form as
∂Q ∂Q
+A =H (2.221)
∂t ∂x
0
· ¸ · ¸ " #
u 0 1
where Q = , A= and H =1 (2.222)
v λ2 0 − [v − g (u)]
²
As the Relaxation System (2.197) is hyperbolic, so is (2.221) and, therefore, we can write

A = RΛR−1 and consequently Λ = R−1 AR (2.223)

where R is the matrix of right eigenvectors of A, R−1 is its inverse and Λ is a diagonal
matrix with eigenvalues of A as its elements. The expressions for R, R−1 and Λ are given
by
1 1
 
· ¸  2 − 2λ  · ¸
1 1 −1 −λ 0
R= , R =  and Λ = (2.224)
 
−λ λ  1 1  0 λ
2 2λ
Since the Relaxation System (2.221) is a set of coupled hyperbolic equations, we can
decouple it by introducing the characteristic variables as

f = R−1 Q which gives Q = Rf (2.225)

Therefore, we can write


∂Q ∂f ∂Q ∂f
=R and =R (2.226)
∂t ∂t ∂x ∂x

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


40 Governing Equations and Approximations

Substituting the above expressions in (2.221), we obtain

∂f ∂f
+ R−1 AR = R−1 H (2.227)
∂t ∂x

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

∂f ∂f
+Λ = R−1 H (2.228)
∂t ∂x

where

1
 u  
v 
−  2λ² [v − g (u)]
 2 2λ 
· ¸
f1

−1 −1
f= =R Q= and R H =  (2.229)
   
f2

u v   1 
+ − [v − g (u)]
2 2λ 2λ²

Thus, we obtain two decoupled equations as

∂f1 ∂f1 1
−λ = [v − g (u)]
∂t ∂x 2λ²
(2.230)
∂f2 ∂f2 1
+λ = − [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.196). It is much easier to solve the above two equations
than solving (2.196), 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.224) and (2.225), we obtain the expressions

u = f1 + f2 and v = λ (f2 − f1 ) (2.231)

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

∂f1 ∂f1 1
−λ = [V − G (U)]
∂t ∂x 2λ²
(2.232)
∂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 -


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 41

2.9.3 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 2λ
·
F1

F= = (2.233)

F2

 u g (u) 
+
2 2λ
With these new variables, the diagonal form of the Relaxation System (2.228) can be
rewritten as
∂f ∂f 1
+Λ = [F − f ] (2.234)
∂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 interpre-
tation 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 ] (2.235)
∂t ∂x tR

where ξ is the molecular velocity (we are not using v as it has been used in the Relax-
ation 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 Boltz-
mann equation. The 1-D local Maxwellian for such a case is given by
µ ¶ 21 h
ρ β
i
−β(ξ−u)2 + II
F = e 0 (2.236)
I0 π
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

1 1
   
Z ∞ Z ∞ Z ∞ Z ∞
u= ξ ξ
dI dξ  f = dI dξ  F (2.237)
   
2 2
0 −∞ ξ 0 −∞ ξ
I+ I+
2 2

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


42 Governing Equations and Approximations

and
1 1
   
Z ∞ Z ∞ Z ∞ Z ∞
g (u) = ξ ξ
dI dξ   ξf = dI (2.238)
dξ   ξF
   
2 2
0 −∞ ξ 0 −∞ ξ
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 ∂f 1
dI dξ  +ξ = [F − f ] (2.239)

1 ∂t ∂x tR

0 −∞
I + ξ2
2
The corresponding expressions for the moments of the discrete Boltzmann equation are
u = P f = P F , v = P Λf and g (u) = P ΛF where P = [1 1] (2.240)
for the case of scalar conservation laws and
U = P f = P F , V = P Λf and G (U) = P ΛF (2.241)
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.234) by P to obtain
· ¸ · ¸
∂f ∂f 1
P +Λ =P [F − f ] (2.242)
∂t ∂x ²
or
∂ (P f ) ∂ (P Λf ) 1
+ = [P F − P f ] (2.243)
∂t ∂x ²
Using (2.240), the above equation can be rewritten as
∂u ∂v
+ =0 (2.244)
∂t ∂x
which is the first equation of the Relaxation System (2.197). Similarly, multiplying the
discrete Boltzmann equation (2.234) by P Λ, we obtain
∂ (P Λf ) ∂ (P Λ2 f ) 1
+ = [P ΛF − P Λf ] (2.245)
∂t ∂x ²
Evaluating P Λ2 f as λ2 u and using (2.240), we get
∂v ∂u 1
+ λ2 = − [v − g (u)] (2.246)
∂t ∂x ²
which is the second equation of the Relaxation System (2.197). 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 -


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 43

2.9.4 Multi-dimensional Relaxation Systems


Consider a scalar conservation law in 2-D
∂u ∂g1 (u) ∂g2 (u)
+ + =0 (2.247)
∂t ∂x ∂y
The Relaxation System given by Jin and Xin [8] for the above equation is
∂u ∂v1 ∂v2
+ + = 0
∂t ∂x ∂y
∂v1 ∂u 1
+ λ21 = − [v1 − g1 (u)] (2.248)
∂t ∂x ²
∂v2 ∂u 1
+ λ22 = − [v2 − g2 (u)]
∂t ∂y ²
We can write the above Relaxation System in matrix form as
∂Q ∂Q ∂Q
+ A1 + A2 =H (2.249)
∂t ∂x ∂y
where
0
 
     
u 0 1 0 0 0 1  1
 − {v − g1 (u)}

Q =  v1  , A1 =  λ21 0 0  , A2 =  0 0 0  and H =  ² 1


v2 0 0 0 λ22 0 0 1
 
− {v2 − g2 (u)}
²
(2.250)
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 ∂f 1
+ Λk = [F − f ] (2.251)
∂t k=1 ∂xk ²

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

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


44 Governing Equations and Approximations

Let us consider the 2-D case for which the local Maxwellians are given by
u 2 1
 

  3 3λ 1 g (u) + g 2 (u)

F1 3λ 
u 1 2
 
F =  F2  =  + g1 (u) − g2 (u)  (2.253)
 
 3 3λ 3λ
F3

 u 1 1 
+ g1 (u) + g2 (u)
3 3λ 3λ
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.254)

we can obtain
   
−λ 0 0 0 0 0
P = [1 1 1] , Λ1 =  0 0 0  , Λ2 =  0 −λ 0 
0 0 λ 0 0 λ
u 2 1
 
− v1 + v2 (2.255)
 3 3λ 3λ 
 u 1 2
 
and f =  + v1 − v2 

 3 3λ 3λ 
 u 1 1 
+ v1 + v2
3 3λ 3λ
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.247). The 2-D Boltzmann equation is

∂f ∂f ∂f 1
+ Λ1 + Λ2 = [F − f ] (2.256)
∂t ∂x ∂y ²
Multiplying the above equation by P , we obtain

∂ (P f ) ∂ (P Λ1 f ) ∂ (P Λ2 f ) 1
+ + = [P F − P f ] (2.257)
∂t ∂x ∂y ²

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

∂u ∂v1 ∂v2
+ + =0 (2.258)
∂t ∂x ∂y

Similarly, multiplying (2.256) by P Λ1 , we get

∂ (P Λ1 f ) ∂ (P Λ21 f ) ∂ (P Λ1 Λ2 f ) 1
+ + = [P Λ1 F − P Λ1 f ] (2.259)
∂t ∂x ∂y ²

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


2.9. RELAXATION SYSTEMS FOR NON-LINEAR CONSERVATION LAWS 45

and by multiplying (2.256) by P Λ2 , we obtain


∂ (P Λ2 f ) ∂ (P Λ2 Λ1 f ) ∂ (P Λ22 f ) 1
+ + = [P Λ2 F − P Λ2 f ] (2.260)
∂t ∂x ∂y ²
Using (2.255), 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.261)
Using theses expressions, the above two equations get simplified to
∂v1 ∂ £ 2 ¤ ∂ £ 2 ¤ 1
+ λ (f1 + f3 ) + λ f3 = [g1 (u) − v1 ] (2.262)
∂t ∂x ∂y ²
∂v2 ∂ £ 2 ¤ ∂ £ 2 ¤ 1
+ λ f3 + λ (f2 + f3 ) = [g1 (u) − v1 ] (2.263)
∂t ∂x ∂y ²
Using the definitions (2.254) in (2.258), (2.262) and (2.263), after some algebraic manip-
ulation, we obtain the 2-D Relaxation System as
∂u ∂v1 ∂v2
+ + =0
∂t ∂x ∂y
∂v1 λ ∂ λ ∂ 1
+ [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.264)
This Relaxation System is different from the non-diagonalizable Relaxation System of Jin
and Xin (2.248). 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.265)
∂t ∂x ∂y ²
which, when expanded, leads to the following equations.
∂f1 ∂f1 1
−λ = [F1 − f1 ]
∂t ∂x ²
∂f2 ∂f2 1
−λ = [F2 − f2 ] (2.266)
∂t ∂y ²
∂f3 ∂f3 ∂f3 1
+λ +λ = [F3 − f3 ]
∂t ∂x ∂y ²

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


46 Governing Equations and Approximations

For 2-D Euler equations, the expanded form of the discrete Boltzmann equation is given
by
∂f1 ∂f1 1
−λ = [F1 − f1 ]
∂t ∂x ²
∂f2 ∂f2 1
−λ = [F2 − f2 ] (2.267)
∂t ∂y ²
∂f3 ∂f3 ∂f3 1
+λ +λ = [F3 − f3 ]
∂t ∂x ∂y ²

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.268)
The Chapman–Enskog type analysis for the above multi–dimensional Relaxation System
to be a dissipative approximation to the original conservation laws leads to the following
condition (see [10, 41] for details of the derivation).

λ ≥ max (−A1 − A2 , 2A1 − A2 , −A1 + 2A2 ) (2.269)

where
∂G1 (U) ∂G2 (U)
A1 = and A2 = (2.270)
∂U ∂U

2.10 A Note on Numerical Methods


In the preceding sections, the governing equations of compressible fluid flows are pre-
sented, 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 next chapters, the numerical methods for solving the com-
pressible 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 -


Chapter 3

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

3.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, con-
centrating mostly on the Finite Volume Method, which is the most popular method used
in compressible fluid flow simulations.

3.1.1 Upwind Method in Finite Difference Form


Consider a linear convection equation

∂u ∂u
+c =0 (3.1)
∂t ∂x
Let us discretize the above hyperbolic equation on a three point stencil shown in the
figure (3.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

47

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


48 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS







)
*

)
*

)
*
)
*

)
*

)
*
)
*

)
*

)
*
)
*

)
*

)
*
)
*

)
*

)
*
%
&

%
&
)
*

)
*

)
*
+
,

+
,

+
,
+
,

+
,

+
,
+
,

+
,

+
,
+
,

+
,

+
,
+
,

+
,

+
,
+
,

+
,

+
,
+
,

+
,

+
,
'
(

'
(

'
(


t+∆t
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* *

c∆t c∆t
* * * * , , , , , , , (

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

# 

t
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

 ! ! 
 "  #
$ 

) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (

 ! ! 
 "  $ 

xj−1 xj xj+1
∆x ∆x
Figure 3.1: 3-Point Stencil

derivative, the simplest approximation seems to be central differencing.


un+1
j − unj unj+1 − unj−1
+c =0 (3.2)
∆t 2∆x
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 (3.1). The analytical solution is given by
u (x, t) = u (x − ct, t = 0) (3.3)
which, for the 3-point stencil shown in the figure (4.1), can be written as
u (x, t + ∆t) = u (x − c∆t, t) (3.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− (3.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 (3.6)
∂t ∂x ∂x

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


3.1. BASICS OF FINITE DIFFERENCE AND FINITE VOLUME METHODS 49

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
j − unj unj − unj−1 unj+1 − unj
+ c+ + c− =0 (3.7)
∆t ∆x ∆x
The above method is a Finite Difference Method (FDM) as we have used the finite dif-
ferences 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 charac-
teristic 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 − c∆t, t) (3.8)
Now, consider a 3-point stencil as shown in figure (4.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(xj ) − u(xj−1 )
u(xP ) = u(xj−1 ) + (xP − xj−1 ) (3.9)
(xj − xj−1 )
Therefore,
u(xj ) − u(xj−1 )
u(xP ) = u(xj−1 ) + (∆x − c∆t)
∆x
(u(xj ) − u(xj−1 ))
= u(xj−1 ) + (u(xj ) − u(xj−1 ) − c∆t
∆x
∆t
= u(xj ) − c [u(xj ) − u(xj−1 )]
∆x
= u(xj ) − λ[u(xj ) − u(xj−1 )]
∆t
where λ = c ∆x . Thus, we recover the upwind method. Therefore, the upwind method
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 )] (3.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 -


50 CHAPTER 3. 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 ∂u ∂u ∂u
+c =0 becomes + c+ + c− =0
∂t ∂x ∂t ∂x ∂x
(3.11)
∂u c + |c| ∂u c − |c| ∂u
or + + =0
∂t 2 ∂x 2 ∂x
and then the upwind method becomes

un+1 = unj − λ+ unj − unj−1 − λ− unj+1 − unj


£ ¤ £ ¤
j (3.12)

where
∆t c ± |c|
λ± = (3.13)
∆x 2

3.1.2 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 (3.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 (3.2). We can also choose more accurate approximations, like a piecewise linear
A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

B B B B B
C C C C C

A > < ; @
? =

A > < ; @
? =

A > < ; @
? =

5 7 9

A > < ; @
? =

3 1 / -
4 2 0 . 5
6 7
8 9
:

A > < ; @
? =

3 1 / -
4 2 0 . 6 8 :

x
A > < ; @
? =

A > < ; @
? =

j−1 j
A > < ; @
? =

j−2 j+1 j+2 j+3


A > < ; @
? =

A
j−3 >
?

>
?

>
?

>
?
<
=

<
=

<
=

<
=
;

;
@

A > < ; @
? =

A > < ; @
? =

j−3/2 j−1/2 j+1/2 j+3/2

Figure 3.2: Piecewise Constant Approximation

approximation shown in figure (3.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 -


3.1. BASICS OF FINITE DIFFERENCE AND FINITE VOLUME METHODS 51
X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

X U S R W
V T

L N P

X U S R W
V T
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z

J H F D
K I G E L
M N
O P
Q

X U S R W
V T

J H F D
K I G E M O Q

x
X U S R W
V T

X U S R W
V T

j−1 j
X U S R W
V T

j−2 j+1 j+2 j+3


X U S R W
V T

X
j−3 U
V

U
V

U
V

U
V
S
T

S
T

S
T

S
T
R

R
W

X U S R W
V T

X U S R W
V T

j−3/2 j−1/2 j+1/2 j+3/2

Figure 3.3: Piecewise Linear Approximation

now use the finite volume method, which starts with the integral form of the conserva-
tion 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
dt dx + =0
tn x 1 ∂t ∂x
j− 2

which can be written as


"Z n+1 #  
Z xj+ 1 t Z tn+1 Z xj+ 1
2 ∂u 2 ∂g
dt dx = −  dx dt
xj− 1 tn ∂t tn xj− 1 ∂x
2 2

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 x 1 Z tn+1 xj+ 1
j+ 2
tn+1
[u]tn dx = − [g (x)]xj− 21 dt
2
xj− 1 tn
2

or
Z xj+ 1 Z tn+1 h ³ ´ ³ ´i
2 £ n+1
− un dx = −
¤
u g xj+ 1 − g xj− 1 dt
2 2
xj− 1 tn
2

or
"Z #
Z xj+ 1 Z xj+ 1 tn+1 ³ ´ Z tn+1 ³ ´
2 2
un+1 dx = un dx − g xj+ 1 dt − g xj− 1 dt (3.15)
2 2
xj− 1 xj− 1 tn tn
2 2

Let us now define the cell integral averages as


Z x 1
1 j+ 2
u (x) dx = ūj (3.16)
∆x x 1
j− 2

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


52 CHAPTER 3. 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 ³ ´ ´
∆xūn+1
j = ∆xūnj − g xj+ 1 dt − g xj− 1 dt
2 2
tn tn

or
∆t h i
ūn+1
j = ūnj − ĝj+ 1 − ĝj− 1 (3.17)
∆x 2 2

where Z tn+1 ³ Z tn+1 ³ ³


1 ´ 1 ´´
ĝj± 1 = g xj± 1 dt = g u xj± 1 dt (3.18)
2 ∆t tn 2 ∆t tn 2

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 ūj (equation (3.16)) only at the cell-centres xj . (Since
we converted u (x), a continuous variable, to a cell-integral average ūj , 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 (3.2), we can approximate the reconstructed value of u at the
cell interface at xj+ 1 as
2

³ ´ ½ ūn if c > 0 ¾
j
u xj+ 1 = (3.19)
2 ūnj+1 if c < 0
Similarly, we can write
ūnj−1 if c > 0
³ ´ ½ ¾
u xj− 1 = (3.20)
2 ūnj if c < 0
From (3.18)
tn+1
1
Z ³ ³ ´ ´
ĝj+ 1 = g u xj+ 1 , t dt
2 ∆t tn
2

Since g (u) = cu, we will obtain


Z tn+1 ½ ¾
1 c ūj (t) f or c > 0
ĝj+ 1 = dt
2 ∆t tn c ūj+1 (t) f or c < 0

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


3.1. BASICS OF FINITE DIFFERENCE AND FINITE VOLUME METHODS 53

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
ūj (t) = (1 − η) ūj (tn ) + ηūj tn+1
¡ ¢
(3.21)
where η takes the values between 0 and 1 (0 ≤ η ≤ 1) and represents the interpolation
factor (in time). Therefore
Z tn+1
ūj (t) dt = (1 − η) ūnj + ηūn+1
£ ¤
j ∆t (3.22)
tn

Thus, we obtain
c ¡ (1 − η) ūnj + ηūn+1
½ ¡ ¢
1 j ¢ f or c > 0
ĝj+ 1 = ∆t n n+1 (3.23)
2 ∆t c (1 − η) ūj+1 + ηūj+1 f or c < 0
or
c ¡ (1 − η) ūnj + ηūn+1
½ ¡ ¢
ĝj+ 1 = n
j
n+1
¢ f or c > 0 (3.24)
2 c (1 − η) ūj+1 + ηūj+1 f or c < 0
Similarly, we can derive
c ¡(1 − η) ūnj−1 + ηūn+1
½ ¡ ¢
j−1¢ f or c > 0
ĝj− 1 = (3.25)
2 c (1 − η) ūnj + ηūn+1
j f or c < 0
Substituting the expressions for above fluxes in the update formula (3.17), we obtain
c (1 − η)¡ ūnj − ūnj−1 ¢ + cη ¡ūn+1 − ūn+1
½ ¡ ¢ ¡ ¢
n+1 n ∆t j j−1 ¢ f or c > 0
ūj = ūj −
∆x c (1 − η) ūnj+1 − ūnj + cη ūn+1 j+1 − ūj
n+1
f or c < 0
or
 n ¢o 
c+|c|
+ c−|c|
¡ ¢ ¡
∆t  (1 n− η) − 2
ūnj ūnj−1 2
ūnj+1 − ūnj
ūn+1
j = ūnj − ¢o (3.26)
∆x η c+|c| ūn+1 − ūn+1 c−|c|
¡ ¢ ¡ n+1 n+1
2 j j−1 + 2
ūj+1 − ūj

If we now take η = 0, then we obtain


·½ ¾¸
n+1 n ∆t c + |c| ¡ n n
¢ c − |c| ¡ n n
¢
ūj = ūj − ūj − ūj−1 + ūj+1 − ūj (3.27)
∆x 2 2
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
·½ ¾¸
n+1 n ∆t c + |c| ¡ n+1 n+1
¢ c − |c| ¡ n+1 n+1
¢
ūj = ūj − ūj − ūj−1 + ūj+1 − ūj (3.28)
∆x 2 2

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


54 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS

This is called as an implicit method as we need to solve an implicit equation for un+1 .
Note that, In this implicit method, we need to solve for the values of un+1 n+1
j−1 , uj and un+1
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 (3.17) for all the N finite volumes or cells in our
1-D domain. " N #
N N
X X ∆t X
ūn+1
j = ūnj − n
ĝj+ 1 − ĝ
n
j− 21
(3.29)
j=1 j=1
∆x j=1
2

or
N N
X X ∆t h n i
ūn+1
j = ūnj − ĝ 3 − ĝ n1 + ĝ n5 − ĝ n3 + ĝ n7 − ĝ n5 + · · · + ĝN
n
1 − ĝ
−2
n
3 + ĝ
N− 2
n
1 − ĝ
N+ 2
n
1
N− 2
j=1 j=1
∆x 2 2 2 2 2 2

(3.30)
or
N N
X X ∆t h n i
un+1
j = ūnj − n
ĝ 1 − ĝ 1 (3.31)
j=1 j=1
∆x N + 2 2

Thus, all the fluxes in the middle of the domain cancel and only the fluxes at the bound-
aries 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 conser-
vation 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).

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


3.2. MODIFIED PARTIAL DIFFERENTIAL EQUATIONS 55

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 (3.32)
∂t ∂x
the upwind method is

ujn+1 = unj − λ+ unj − unj−1 − λ− unj+1 − unj


¡ ¢ ¡ ¢
(3.33)

(c + |c|) ∆t (c − |c|) ∆t
where λ+ = and λ− = (3.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.
³ ∂u ´n n n
∆t2 ³ ∂ 2 u ´ ∆t3 ³ ∂ 3 u ´
uj n+1 = u (xj , t + ∆t) = uj n + ∆t + + + 0(∆t4 ) (3.35)
∂t j 2 ∂t2 j 6 ∂t3 j

unj+1 = un (xj + ∆x)

³ ∂u ´n n n
∆x2 ³ ∂ 2 u ´ ∆x3 ³ ∂ 3 u ´
unj+1 n
= uj + ∆x + 2
+ 3
+ 0(∆x4 ) (3.36)
∂x j 2 ∂x j 6 ∂x j

unj−1 = un (xj − ∆x)

³ ∂u ´n n n
∆x2 ³ ∂ 2 u ´ ∆x3 ³ ∂ 3 u ´
unj−1 n
= uj − ∆x + − + 0(∆x4 ) (3.37)
∂x j 2 ∂x2 j 6 ∂x3 j
Substituting (3.35), (3.36) & (3.37) in (3.33) and dividing it by ∆t, we get
³ ∂u ´n n n ³ ∂u ´n n n
∆t ³ ∂ 2 u ´ ∆t2 ³ ∂ 3 u ´ λ+ h ∆x2 ³ ∂ 2 u ´ ∆x3 ³ ∂ 3 u ´ i
+ + = − ∆x + −
∂t j 2 ∂t2 j 6 ∂t3 nj ∆t n
∂x j 2 ∂x2 j 6 ∂x3 j
−h n 2³ 2 ´ 3³ 3 ´ i 4
λ ³ ∂u ´ ∆x ∂ u ∆x ∂ u ∆x
+ − ∆x − 2
− 3
+ 0(∆t3 , )
∆t ∂x j 2 ∂x j 6 ∂x j ∆t
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 (3.38)
∂t ∂x ∂t ∂x

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


56 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS

∂u ∂u
∂2u ∂[ ] ∂[−c ] 2
= ∂t = −c ∂x = c2 ∂ u (3.39)
∂t2 ∂t ∂x ∂x2
∂ 2u
∂3u ∂[c2 ] 3
= −c ∂x2 = −c3 ∂ u (3.40)
∂t3 ∂x ∂x3
Using the above formulae, we obtain
³ ∂u ´n n n
∆t 2 ³ ∂ 2 u ´ ∆t2 3 ³ ∂ 3 u ´
+ c − c
∂t j 2 ∂x2 j 6 ∂x3 j
+h n 2 ³ 2 ´n n
λ ³ ∂u ´ ∆x ∂ u ∆x3 ³ ∂ 3 u ´ i
= − ∆x + −
∆t ∂x j 2 ∂x2 j 6 ∂x3 nj
−h n 2 ³ 2 ´n
λ ³ ∂u ´ ∆x ∂ u ∆x3 ³ ∂ 3 u ´ i 3 ∆x
4
+ − ∆x − − + 0(∆t , )
∆t ∂x j 2 ∂x2 j 6 ∂x3 j ∆t

³ ∂u ´n λ+ ³ ∂u ´n λ− ³ ∂u ´n h³ i 2 ³ ∂ 2 u ´n
2 ∆t ∆x
´
+ −
+ ∆x + ∆x = λ −λ −c
∂t j ∆t ∂x j ∆t ∂x j 2 2∆t ∂x2 j
n
h³ ´ ∆t2 i ∆x3 ³ ∂ 3 u ´ 3 ∆x
4
+ − λ+ − λ− + c 3 + 0(∆t , ) (3.41)
6 6∆t ∂x3 j ∆t

λ+ c + |c|
∆x =
∆t 2

λ c − |c|
∆x = (3.42)
∆t 2
From the above two equations we get

∆t ∆t
λ+ − λ− = |c| and λ+ + λ− = c (3.43)
∆x ∆x
Therefore, we obtain
³ ´ ³ ´
³ ∂u ´n c + |c| ³ ∂u ´n c − |c| ³ ∂u ´n h |c|∆x ³ |c|∆t ´i³ ∂ 2 u ´
n
+ + = 1−
∂t j 2 ∂x j 2 ∂x j 2 ∆x ∂x2 j
h c∆x2 ³ n
c2 ∆t 2 ´i³ ∂ 3 u ´ 3 ∆x
4
+ −1+ ∆t + 0(∆t , ) (3.44)
6 ∆x2 ∂x3 j ∆t

Therefore
∂u ´n |c|∆x ³ ´³ ∂ 2 u ´n c∆x2 ³ ´³ ∂ 3 u ´n 4
3 ∆x
³ ∂u
2
+c = 1 − |λ| + λ − 1 + 0(∆t , )(3.45)
∂t ∂x j 2 ∂x2 j 6 ∂x3 j ∆t

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


3.2. MODIFIED PARTIAL DIFFERENTIAL EQUATIONS 57

∆x ³ ∂3u ´
If = constant and we drop term, then we obtain
∆t ∂x3
³ ∂u ∂u ´n |c|∆x ³ ´³ ∂ 2 u ´n
+c = 1 − |λ| + 0(∆t2 , ∆x2 )
∂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 (3.46)
∂t ∂x ρ ∂x ∂x
The second order term on right hand side represents a viscous term. Therefore, the
|c|∆x ³ ´³ ∂ 2 u ´
upwind scheme has introduced an artificial viscosity term, 1 − |λ| and the
2 ∂x2
method is first order accurate. That is
∂u ∂u
+c = 0(∆t, ∆x) (3.47)
∂t ∂x
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.
³ ´ ³ ´
+ −
un+1
j = u n
j − λ u n
j − un
j−1 − λ u n
j+1 − un
j (3.48)

c + |c| ³ un − un ´ c − |c| ³ un − un ´
j j−1 j+1 j
un+1
j = unj
−( )∆t −( )∆t (3.49)
2 ∆x 2 ∆x
³ ´ ³ ´
n n n n n
n+1 n c∆t uj+1 − uj−1 |c|∆t uj+1 − 2uj + uj−1
uj = uj − + (3.50)
2 ∆x 2 ∆x
³ ´ ³ ´
unj+1 − unj−1 |c|∆t unj+1 − 2unj + unj−1
n+1 n
uj = uj − c∆t + ∆x (3.51)
2∆x 2 ∆x2
If we omit the last term on the right hand side, we get the Forward Time and Centered
∂u ∂u
Space (FTCS) approximation to +c = 0,
∂t ∂x
³ ´
n n
n+1
uj − uj n u j+1 − uj−1
+c =0
∆t 2∆x
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 ∆x . We know that
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 -


58 CHAPTER 3. 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 de-
pendent. 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 ´
+c =− + 0(∆t3 , ∆x3 )
∂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.

3.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 (3.52)
∂t ∂x
and the upwind scheme for the above equation given by

(c + |c|) ∆t £ n ¤ (c − |c|) ∆t £ n
un+1 = unj − uj − unj−1 − uj+1 − unj
¤
j (3.53)
∆x ∆x
We have seen in the previous section that the Modified Partial Differential Equation
(MPDE) for the above upwind scheme is given by
³ ∂u ∂u ´n |c|∆x ³ ´³ ∂ 2 u ´n c∆x2 ³ ´³ ∂ 3 u ´n
2
+c = 1 − |λ| + λ − 1 + 0(∆t3 , ∆x4 ) (3.54)
∂t ∂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 -


3.4. STABILITY ANALYSIS 59

3.4 Stability Analysis


While designing and using numerical methods for partial differential equations, it is im-
portant 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.

3.4.1 Fourier series in complex waveform


Let ∞ h
X i
f (x) = a + am cos(ωm x) + bm sin(ωm x)
m=1
From
eiwm x = cos (wm x) + i sin (wm x) and e−iwm x = cos (wm x) − i sin (wm x) (3.55)
we can write
1 ³ iωm x ´
cos(ωm x) = e + e−iωm x
2
and
1 ³ iωm x −iωm x
´
sin(ωm x) = e −e
2i
Therefore
1 ³ iωm x ´ 1 ³ iωm x ´
am cos(ωm x) + bm sin(ωm x) = am e + e−iωm x + bm e − e−iωm x
2 2i

(am − ibm )eiωm x + (am + ibm )e−iωm x


=
2

am cos(ωm x) + bm sin(ωm x) = cm eiωm x + c−m e−iωm x (3.56)


(am − ibm ) (am + ibm )
where cm = & c−m =
2 2
∞ h
X i
f (x) = a + cm eiωm x + c−m e−iωm x (3.57)
m=1

If we define c0 = a, We can write



X
f (x) = cm eiωm x (3.58)
m=−∞


2Π i mx
We have used the fact that ωm = m . Therefore, when m = 0, eiωm x = e L =
L
0
e = 1. The complex form simplifies the algebraic manipulations and is easier to use.

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


60 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS

3.4.2 Stability analysis of Numerical Methods [12]


We know that FTCS method for LCE
∂u ∂u
+c = 0 f or c > 0 (3.59)
∂t ∂x

un+1
j − unj unj+1 − unj−1
given by +c = 0 is unstable and the FTBS method (upwind
∆t 2∆x
method) given by
un+1
j − unj unj − unj−1
+c =0 (3.60)
∆t ∆x
is conditionally stable, with the stability condition given by

∆t
0 ≤ λ ≤ 1 where λ = c (3.61)
∆x
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

Ejn+1 − Ejn n
Ej+1 n
− Ej−1
+c =0 (3.62)
∆t 2∆x
Numerical solution is obtained by solving the difference equation. Therefore, N should
satisfy the following difference equation.

Njn+1 − Njn n
Nj+1 n
− Nj−1
+c =0 (3.63)
∆t 2∆x

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


3.4. STABILITY ANALYSIS 61

Since ² = N − E, and N = E + ²

(Ejn+1 + ²jn+1 − Ejn − ²nj ) n


(Ej+1 n
+ ²nj+1 − Ej−1 − ²nj−1 )
+c =0 (3.64)
∆t 2∆x
Using (3.62), we obtain
²n+1
j − ²nj ²nj+1 − ²nj−1
+c =0 (3.65)
∆t 2∆x
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 ¯
¯ n ¯ ≤ 1 for stability (3.66)
²j
Let the round off error at the starting of the nth iteration have an initial random distribu-
tion. At any given time, let us express that the random variation of ² with x analytically
using Fourier series as X
²(x) = Am eiωm x (3.67)
m
iωm 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
²(x, t) = Am (t)eiωm x (3.68)
m

What is wave number? Consider a sine function


2Πx
y = sin( ) (3.69)
λ
where λ is the wave length. In the notation we have used,

y = sin(ωm x) (3.70)


Therefore, ωm = . If we fit two sine waves in an interval L, then y = sin(ωm x) with
λ
2Π 2Π 2Π 2Π
ωm = = 2. Similarly, if we fit 3 sine waves in L, ωm = = 3. If we fit m
L L L L
( ) ( )
2 3
waves in an interval L, the wave number is given by

ωm = m (3.71)
L

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


62 CHAPTER 3. 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

L
∆x = (3.72)
(N − 1)

The largest allowable wavelength is λmax = 2L and the smallest allowable wave length is
2L 2Π
λmin = 2∆x. Therefore λmin = 2∆x = . Therefore, we have ωm = h .
(N − 1) 2L i
(N − 1)

2Π ³ N − 1 ´
ωm = (3.73)
L 2
(N − 1)
Therefore, the maximum member of waves =
2
(N − 1)
mmax = (3.74)
2
Thus
(N −1)
X 2

²(x, t) = Am (t)eiωm x (3.75)


m=1

Since errors tend to grow or decay quickly, we can assume an exponential variation for
the amplitude.
Am (t) = eat (3.76)
(N −1)
X 2

²(x, t) = eat eiωm x (3.77)


m=1

Let us now substitute the above into the error equation, which is

²n+1
j − ²nj ²nj+1 − ²nj−1
+c =0 (3.78)
∆t 2∆x
Since this equation is linear, after substituting (3.77) in (3.78), each term of the series in
(3.77) behaves in the same way as the series itself. Therefore, we can omit the summation
in (3.77) and use
²(x, t) = eat eiωm x (3.79)
Substituting (3.79) in (3.78), we get

ea(t+∆t) eiωm x − ea(t) .eiωm x ea(t) eiωm (x+∆x) − ea(t) eiωm (x−∆x)
+c =0
∆t 2∆x

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


3.4. STABILITY ANALYSIS 63

Dividing by ea(t) eiωm x , we obtain

ea∆t − 1 eiωm ∆x − e−iωm ∆x


+c =0
∆t 2∆x

a∆t c∆t h iωm ∆x −iωm ∆x


i
e =1− e −e (3.80)
2∆x
But

eiωm ∆x − e−iωm ∆x = 2 i sin(ωm ∆x) (3.81)

Therefore
a∆t c∆t h i
e =1− 2 i sin(ωm ∆x)
2∆x

ea∆t = 1 − iλ sin(ωm ∆x) (3.82)

c∆t ¯ ²n+1 ¯
¯ j ¯
where λ = . The condition for stability is ¯ n ¯ ≤ 1. The amplification factor,
∆x ²j
¯ ²n+1 ¯
¯ j ¯
¯ n ¯, is
²j
¯ ²n+1 ¯ ¯ ea(t+∆t) eiωm x ¯
¯ j ¯ ¯
¯ n ¯=¯
¯
²j eat eiωm x
¯

¯ ²n+1 ¯
¯ j ¯
That is, ¯ n ¯ = |ea(∆t) |
²j
¯ ²n+1 ¯
¯ j ¯
¯ n ¯≤1
²j

|ea(∆t) | ≤ 1
¯ ¯
1 − iλsin(ω ∆x) ¯≤1
¯ ¯
¯ m
p
12 + λ2 sin2 (ωm ∆x) ≤ 1
p
Hence 1 + λ2 sin2 (ωm ∆x) ≤ 1 for stability (3.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 basedPon the behaviour of the solution itself, not only
on round-off error. We can write u(x) = m Am eiωm x , where Am is the amplitude of the

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


64 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS

An+1
m
mth harmonic of the solution. Then, the amplification factor is G = and |G| ≤ 1
Am
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 eiωm 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 c>0 (3.84)
∂t ∂x
un+1
j − unj unj − unj−1
+c =0 (3.85)
∆t ∆x
c∆t
un+1
j = unj − λ(unj − unj−1 ) where λ = (3.86)
∆x
X
u(x, t) = eat eiωm x (3.87)
m

Since the difference eqn (3.86) is linear, when we substitute (3.87) in (3.86), each term
in (3.87) behaves like the entire expression. Therefore, we can omit the summation and
write
u(x, t) = eat eiωm x
un+1
j = u(x, t + ∆t) = ea(t+∆t) eiωm x (3.88)
unj−1 = u(x − ∆x, t) = eat eiωm (x−∆x)
Substituting (3.88) in (3.86), we get

eat ea∆t eiωm x − eat eiωm x eat eiωm x − eat eiωm x e−iωm ∆x
+c =0
∆t ∆x
Dividing by eat eiωm x , we obtain

ea∆t − 1 1 − e−iωm ∆x
+c =0
∆t ∆x

ea∆t = 1 − λ(1 − e−iωm ∆x ) (3.89)

ea∆t = 1 − λ(1 − cos(ωm ∆x) + i sin(ωm ∆x))

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


3.4. STABILITY ANALYSIS 65

An+1
m ea(t+∆t)
Amplification factor = G = = = ea∆t
Anm eat

G = 1 − λ + λ cos(ωm ∆x) − iλ sin(ωm ∆x) (3.90)


h i 12
2 2
|G| = 1 − λ + λ cos(ωm ∆x) + λ sin(ωm ∆x)
h i 12
|G| = 1 + λ2 − 2λ2 cos(ωm ∆x) − 2λ + 2λ cos(ωm ∆x) + λ2 (cos2 (ωm ∆x) + sin2 (ωm ∆x))
h i 12
|G| = 1 + λ2 + λ cos(ωm ∆x)(−2λ + 2) − 2λ + λ2
h ωm x i 21
|G| = 1 + 2λ2 − 2λ + λ(2 − 2λ)(1 − 2 sin2 ( )
2
θ
Because cos(θ) = 1 − 2 sin2 ( )
2
h ωm ∆x i 12
|G| = 1 + 2λ2 − 2λ + λ(2 − 2λ) − 2λ(2 − 2λ) sin2 ( )
2
i 21
2 ωm ∆x
h
|G| = 1 − 4λ sin ( )(1 − λ)
2
h ωm ∆x i h ωm ∆x i
sin2 ( ) = 1 and sin2 ( ) =0
2 max 2 min

when λ > 1
ωm ∆x ωm ∆x
4λ(1−λ) is negative. Therefore, 1−4λ(1−λ) sin2 ( ) has a maximum for sin2 ( ) = 1.
2 2
Then h i 12
|G|max = 1 − 4λ(1 − λ)
h i 12
|G|max = 1 − 4λ + 4λ2
h i 21
2
|G|max = (1 − 2λ)

|G|2max = (1 − 2λ)2 > 1


|G|max > 1
Therefore, the method is unstable if λ > 1

when λ < 1
ωm ∆x ωm ∆x
4λ(1−λ) is positive. Therefore, 1−4λ(1−λ) sin2 ( ) has a minimum for sin2 ( ) = 0.
2 2

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


66 CHAPTER 3. ANALYSIS OF NUMERICAL METHODS

Then, |G|2max = 1 and this satisfies the condition |G|2max ≤ 1 0r |G|max ≤ 1. Therefore,
c∆t
the method is stable if λ ≤ 1 or ≤ 1.
∆x
Thus, the stability condition fixes the time-step in the numerical method, based on
∆x
the grid-spacing. For the upwind scheme, we obtained ∆t ≤ . We take, in practice,
c
∆x
∆t = ² where ² is a positive constant such that ² ≤ 1. The stability condition can be
c
rewritten as
c ∆x ∆x
∆x
≤ 1 or c ≤ or ≥c
∆t
∆t ∆t
which means that the grid speed must be greater than the convection speed or

∆x ≥ c∆t (3.91)

which means that the numerical domain of dependence must include the physical domain
of dependence (see figure (3.4.2)). This is the well-known CFL (Courant-Friedrichs-Lewy)
condition.
c

a
b

a
b
n
o

n
o

n
o
n
o

n
o

n
o
n
o

n
o

n
o
n
o

n
o

n
o
n
o

n
o

n
o
n
o

n
o

n
o
k
p

k
p

k
p
i
j

i
j
n
o

n
o

n
o
p
q

p
q

p
q
p
q

p
q

p
q
p
q

p
q

p
q
p
q

p
q

p
q
p
q

p
q

p
q
p
q

p
q

p
q
p
q

p
q

p
q
c
d

t+∆t
n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

g _

t
n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

] e e [
^ f f \ g
h _
`

n n n n n n k
p n p p p p p p p
o o o o o o o q q q q q q q

l
m
] e e [
^ f f \ h `

xj−1 c∆t x c∆t xj+1


∆x j ∆x
Physical domain of dependence
Numerical domain of dependence

Figure 3.4: 3-Point Stencil

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


Chapter 4

Central Discretization Methods for


Scalar and Vector Conservation Laws

4.1 A Brief History of Numerical Methods for Hy-


perbolic 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 [24], the Peculiar Velocity based Upwind (PVU)
method of Raghurama Rao and Deshpande [25] and the Gas-Kinetic Scheme or BGK
scheme of Prendergast and Kun Xu [26]. The Relaxation Schemes were first introduced

67

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


68 Central Discretization Methods

by Jin and Xin [8]. Other relaxation schemes of interest were introduced by Aregba-
Driollet and Natalini [10], Coquel and Perthame [27] and Raghurama Rao and Balakrishna
[52]. 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 [28] and the Hybrid Upwind Splitting (HUS) method of Coquel and Liou [29] and the
Convective Upwind Split Pressure (CUSP) method of Jameson [30]. 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.

4.2 Lax-Friedrichs Method


Consider a linear convection equation, which is the simplest convection equation, given
by
∂u ∂u
+c =0 (4.1)
∂t ∂x
In conservation form, the above equation is
∂u ∂g (u)
+ = 0 where g (u) = cu (4.2)
∂t ∂x
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
un+1
j − unj n
gj+1 n
− gj−1
+ =0 (4.3)
∆t 2∆x
which can be rearranged as
∆t £ n
un+1 = unj − n
¤
j gj+1 − gj−1 (4.4)
2∆x
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.
1£ n ∆t £ n
un+1 uj+1 + unj−1 − n
¤ ¤
j = gj+1 − gj−1 (4.5)
2 2∆x
We can rearrange the above scheme as
∆t £ n ¤ 1£ n
un+1 = unj − n
+ uj+1 − 2unj + unj−1
¤
j gj+1 − gj−1 (4.6)
2∆x 2

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


4.2. LAX-FRIEDRICHS METHOD 69

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
∆t £ n
un+1 = unj − n
+ φ unj+1 − 2unj + unj−1
¤ £ ¤
j gj+1 − gj−1 (4.7)
2∆x
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 c∆t
≤ φ ≤ where λ = (4.8)
2 2 ∆x
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 per-
mitted 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 (4.1) is given by

u(t, x) = u(0, x − ct) (4.9)

If we know the solution at t, then we can write

u(t + ∆t, x) = u(t, x − c∆t) (4.10)

for a time increment ∆t. This solution is shown graphically in the following figure (4.1)
To obtain the value of u at the point P , let us interpolate between the values of u at
z

x
y

x
y
…
†

…
†

…
†
…
†

…
†

…
†
…
†

…
†

…
†
…
†

…
†

…
†
…
†

…
†

…
†
…
†

…
†

…
†
‚
‡

‚
‡

‚
‡
€


€

…
†

…
†

…
†
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
‡
ˆ

‡
ˆ

‡
ˆ
z
{

t+∆t
… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

c∆t c∆t
… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

~ v

t
… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

ƒ
„
t | | r
u } } s ~
 v
w

… … … … … … ‚
‡ … ‡ ‡ ‡ ‡ ‡ ‡ ‡
† † † † † † † ˆ ˆ ˆ ˆ ˆ ˆ ˆ

ƒ
„
t | | r
u } } s  w

xj−1 xj xj+1
∆x ∆x

Figure 4.1: 3-point stencil

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


70 Central Discretization Methods

points j + 1 and j − 1. Therefore,

un (xj+1 ) − un (xj−1 )
un+1 (xj ) = un (xj−1 ) + (xP − xj−1 ) (4.11)
2∆x
unj+1 − unj−1
un+1
j = unj−1 + (∆x − c∆t) (4.12)
2∆x
unj+1 − unj−1 ¢ c∆t
un+1 n
¡ n n
j = u j−1 + ∆x − u j+1 − uj−1 (4.13)
2∆x 2∆x
1¡ n ¢ c∆t ¡ n
un+1 = unj−1 + uj+1 − unj−1 − uj+1 − unj−1
¢
j (4.14)
2 2∆x
1¡ n ¢ c∆t ¡ n
un+1 uj−1 + unj+1 − uj+1 − unj−1
¢
j = (4.15)
2 2∆x
For a non-linear scalar conservation law, Lax-Friedrichs method can still be applied with-
out much modification. Consider the 1-D Burgers equation

∂u ∂g (u) u2
+ = 0 where g (u) = (4.16)
∂t ∂x 2
The Lax-Friedrichs method for the above Burgers equation is given by

1¡ n ∆t h i
un+1 n n n
¢
= u + uj+1 − g (u )j+1 − g (u )j−1 (4.17)
j
2 j−1 2∆x
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 Lax-
Friedrichs method can be applied easily as

1¡ n ∆t h i
Ujn+1 n n n
¢
= U + Uj+1 − G (U )j+1 − G (U )j−1 (4.18)
2 j−1 2∆x
where U and G (U ) represent vectors. The Lax-Friedrichs scheme is the simplest of all
the numerical methods for hyperbolic equations.

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


4.3. LAX-WENDROFF METHOD 71

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 ¡ 3¢
ujn+1 = u(t + ∆t, x) = unj + ∆t + + O ∆t (4.19)
∂t j 2 ∂t2 j
Let us replace time derivatives by space derivatives.

∂2u 2
µ ¶ µ ¶
∂u ∂u ∂ ∂u ∂ ∂u 2∂ u
= −c & 2 = = −c −c =c
∂t ∂x ∂t ∂t ∂t ∂t ∂t ∂x2
2³ 2 ´
2 ∆t
³ ∂u ´ ∂ u
Therefore, un+1 + O ∆t3
n
¡ ¢
j = u j + c∆t + c 2
∂x 2 ∂x
Let us use 2nd order central differences for the derivatives.
∂u (uj+1 − uj−1 )
= + 0(∆x2 )
∂x 2∆x
∂2u (uj+1 − 2uj + uj−1 )
2
= + 0(∆x2 )
∂x ∆x2
c∆t ³ ´ c2 ∆t2 ³ ´ ¡ 3 3
Therefore, un+1 n
¢
j = unj + uj+1 − uj−1 + 2
u j+1 − 2uj + u j−1 + O ∆x , ∆t
2∆x 2∆x
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 (4.1). The exact solution of the linear convection equation is given by

u (t + ∆t, xj ) = u (t, xj − c∆t) (4.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 xj−1 , 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 (4.21)

We know the value of u at the three points of the stencil as

u (xj−1 ) = uj−1 , u (xj ) = uj and u (xj+1 ) = uj+1 (4.22)

With the above three equations, the three unknowns a, b and c can be evaluated using
the expression (4.21) as

uj−1 − 2uj + uj+1 uj+1 − uj−1


a= 2
, b= and c = uj (4.23)
2∆x 2∆x

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


72 Central Discretization Methods

Therefore, the exact solution of the convection equation with the above quadratic inter-
polation gives

u (t + ∆t, xj ) =u (t, xj − c∆t)


=un (xP )
=a (xj − c∆t − xj )2 + b (xj − c∆t − xj ) + c (4.24)
=a (c∆t)2 − b (c∆t) + c
c∆t ¡ n ¢ c2 ∆t2 ¡ n
uj+1 − unj−1 + n n
¢
= unj − u j+1 − 2uj + u j−1
2∆x 2∆x2
Thus, we have obtained the Lax-Wendroff method by tracing the foot of the character-
istic 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 (4.25)
∂t ∂x 2
Therefore, we can obtain
∂u ∂g (u)
=− (4.26)
∂t ∂x

∂2u
µ ¶ · ¸ · ¸ · ¸
∂ ∂u ∂ ∂g (u) ∂ ∂g (u) ∂ ∂g (u) ∂u
= = − =− =−
∂t2 ∂t ·∂t ∂t ∂x¶¸ ∂x ∂t ¸ ∂x ∂u ∂t
(4.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
µ
n+1 n ∂u ¡ 3¢
uj = u(t + ∆t, x) = uj + ∆t + + O ∆t (4.28)
∂t j 2 ∂t2 j

Let us now replace the time derivatives by space derivatives derived above to obtain
¶n ¶n
∆t2 ∂
µ µ
∂g (u) ∂g (u)
n+1 n
+ O ∆t3
¡ ¢
uj = uj − ∆t + a (u) (4.29)
∂x j 2 ∂x ∂x 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 (u) g (uj+1 ) − g (uj−1 )


= (4.30)
∂x ∆x

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


4.3. LAX-WENDROFF METHOD 73

To discretize the second order space derivative, we take the mid-points between the grid
points xj and xj±1 and then use the central differencing. Thus, we have
³ ´ µ ∂g (u) ¶ ³ ´ µ ∂g (u) ¶
a uj+ 1 − a uj− 1

µ
∂g (u)
¶ 2 ∂x j+ 1
2 ∂x j− 1
2 2
a (u) =
∂x ∂x ∆x (4.31)
³ ´ g (u ) − g (u ) ³ ´ g (u ) − g (u )
j+1 j j j−1
a uj+ 1 − a uj− 1
=
2 ∆x 2 ∆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
un+1
j = unj − [g (uj+1 ) − g (uj−1 )]
2∆x
∆t2 h ³ ´ ³ ´ i (4.32)
+ a uj+ 1 {g (uj+1 ) − g (uj )} − a uj− 1 {g (uj ) − g (uj−1 )}
2∆x2 2 2

We now have to evaluate the wave speed a (u) at mid-points between the grid points xj
and xj±1 . The simplest choice is
µ ¶
³ ´ uj + uj+1
a uj+ 1 =a (4.33)
2 2

∂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
Ujn+1 = Ujn − [G (Uj+1 ) − G (Uj−1 )]
2∆x
∆t2 h ³ ´ ³ ´ i(4.34)
+ A Uj+ 1 {G (Uj+1 ) − G (Uj )} − A Uj− 1 {G (Uj ) − G (Uj−1 )}
2∆x2 2 2

where U and G are conserved variable and flux vectors and A is the flux Jacobian matrix,
∂G
defined by A = . We can notice that the Lax-Wendroff method requires the evaluation
∂U
of the derivatives, and hence is computationally not efficient. Instead, an equivalent two-
step 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 -


74 Central Discretization Methods

4.4 Two-Step Lax-Wendroff Method and MacCor-


mack Method
Richtmyer and Morton [33] 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 (4.35)
∂t ∂x
In the predictor step, the Lax-Friedrichs method is used at the mid-points between the
grid points, obtaining

n+ 1 1¡ n ¢ ∆t £ ¡ n ¢
uj+1 + unj g uj+1 − g unj
¡ ¢¤
Predictor : uj+ 12 = (4.36)
2 2 2∆x
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

∆t h n+ 21 n+ 1
i
Corrector : un+1
j = unj − gj+ 1 − gj− 12 (4.37)
∆x 2 2

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

n+ 21 j ∆t £ ¡ n ¢
= unj − g uj+1 − g unj
¡ ¢¤
Predictor : u (4.38)
∆x
and the corrector step is given by

1³ n n+ 1
´ ∆t h ³
n+ 1
´ ³
n+ 1
´i
Corrector : un+1
j = uj + uj 2 − g uj 2 − g uj−12 (4.39)
2 ∆x
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
n+ 1 ∆t £ ¡ n ¢
Predictor : uj 3 = unj − g uj+1 − g unj
¡ ¢¤
(4.40)
∆x
n+ 23 n+ 31 ∆t h ³ n+ 13 ´ ³
n+ 13
´i
Corrector : uj = uj − g uj − g uj−1 (4.41)
∆x

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


4.4. TWO-STEP LAX-WENDROFF METHOD AND MACCORMACK METHOD 75

1³ n n+ 2
´
un+1
j = uj + uj 3 (4.42)
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 pop-
ular 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.

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


76 Central Discretization Methods

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


Chapter 5

Upwind Methods for Scalar


Conservation Laws

In the third chapter, we learnt about the upwind method for the linear convection equa-
tion. For a linear convection equation given by
∂u ∂g (u)
+ = 0 where g (u) = cu (5.1)
∂t ∂x
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
µ ¶ µ ¶
j + ∂u − ∂u
+c +c =0 (5.2)
∆t ∂x Backward−dif f erence ∂x F orward−dif f erence

Note that the wave-speed c is taken out of the space differentiation term and the dis-
cretization 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 (5.3)
2
the wave-speed is given by
∂g (u)
a= =u (5.4)
∂u
and the non-conservative form of the equation is
∂u ∂u
+u =0 (5.5)
∂t ∂x

77

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


78 CHAPTER 5. 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 for-
mulations 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 chal-
lenge 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.

5.1 Flux Splitting Method


Consider the 1-D Burgers equation
∂u ∂g (u) 1
+ = 0 where g (u) = u2 (5.6)
∂t ∂x 2
Let us rewrite the expression for the flux in such a way that it contains the wave speed,
∂g (u)
a= and the conserved variable, u.
∂u
1 1 ∂g (u)
g (u) = u2 = u u = aku where a = and k = a constant (5.7)
2 2 ∂u
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 (5.8)
for Burgers equation
2
·
c for linear convection equation
a= (5.9)
u for Burgers equation
We can now introduce wave-speed splitting as
a + |a| a − |a|
a = a+ + a− = + (5.10)
2 2
and introduce it in the definition of the flux in conservative form as
g (u) = aku = a+ + a− ku
¡ ¢
(5.11)

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


5.1. FLUX SPLITTING METHOD 79

Therefore, the flux now splits into two parts as

g (u) = a+ ku + a− ku = g + + g − (5.12)

The scalar conservation equation now becomes


∂u ∂g + ∂g −
+ + =0 (5.13)
∂t ∂x ∂x
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 (5.14)
∂t ∂x Backward−dif f erence ∂x F orward−dif f erence
or + + − −
∂u gj − gj−1 gj+1 − gj
+ + =0 (5.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 n n n
un+1
j − unj gj+ − gj−1
+ −
gj+1 − gj−
+ + =0 (5.16)
∆t ∆x ∆x
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 (5.17)
tn x 1 ∂t ∂x
j− 2

which becomes
∆t h n i
ūn+1 j = ūnj − n
gj+ 1 − gj− 1 (5.18)
∆x 2 2

To evaluate the fluxes at the cell interfaces in an upwind way, we can write
½
(akū)j if aj > 0
gj+ 1 = (5.19)
2 (akū)j+1 if aj+1 < 0

which can be written as

gj+ 1 = a+ kū j + a− kū j+1 = gj+ + gj+1



¡ ¢ ¡ ¢
(5.20)
2

Similarly, we can derive


+
gj− 1 = a+ kū j−1 + a− kū j = gj−1 + gj−
¡ ¢ ¡ ¢
(5.21)
2

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


80 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

and the update formula for the first order upwind finite volume method becomes
∆t h n i
ūn+1
j = ūn
j − g 1 − g n
j− 21
(5.22)
∆x j+ 2
where
gj+ 1 = gj+ + gj+1

(5.23)
2

and
+
gj− 1 = gj−1 + gj− (5.24)
2

5.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 (5.25)
∂t ∂x
is the problem with the initial condition
½
ulef t for x < 0
u (x, t = 0) = (5.26)
uright for x > 0
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 (5.27)
∂t ∂x
Integrating the above equation over a finite volume (or equivalently a cell), we obtain
∆t h n i
un+1
j = u n
j − g 1 − g n
1 (5.28)
∆x j+ 2 j− 2

In obtaining the conservative fluxes at the cell interfaces, we have to solve the Riemann
problem (
∂u ∂g (u) ulef t for x < xj+ 1
+ = 0 with uj+ 1 = 2 (5.29)
∂t ∂x 2 uright for x > xj+ 1
2

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


5.2. APPROXIMATE RIEMANN SOLVER OF ROE 81

or, using the quasilinear form of the equation, the Riemann problem
(
∂u ∂u ulef t for x < xj+ 1
+a = 0 with uj+ 1 = 2 (5.30)
∂t ∂x 2 uright for x > xj+ 1
2

where
∂g (u)
a= (5.31)
∂u
is the wave-speed. Let us now replace the above Riemann problem by an approximate
Riemann problem
(
∂u ∂u ulef t for x < xj+ 1
+ â = 0 with uj+ 1 = 2 (5.32)
∂t ∂x 2 uright for x > xj+ 1
2

where â is now linear and hence the equation is easier to solve and let â be a function of
both left and right states as
a = a (ulef t , uright ) (5.33)
Since we have replaced the nonlinear a by a linear â, obviously, we should connect both
somehow. Let us now put two conditions on â.

1. â (ulef t , uright ) = u if ulef t = uright = u

2. ∆g = â∆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 â such that both these conditions are satisfied.
The second condition at the cell interface j + 12 can be written as

gj+1 − gj
= âj+ 1 (5.34)
uj+1 − uj 2

or
gj+1 − gj = âj+ 1 (uj+1 − uj ) (5.35)
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 -


82 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

s − s s+  










 ‰
Ž Š ‹
Œ

 ‰
Ž Š Œ

j−1 j j+1

j−1/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− = + (5.36)
2 2
Then, we can rewrite the second condition as

gj+ 1 − gj = s− (uj+1 − uj ) (5.37)


2

and
gj+1 − gj+ 1 = s+ (uj+1 − uj ) (5.38)
2

Since we denoted the wave speed by the speed of the discontinuity, we can write

gj+ 1 − gj = â−
j+ 1
(uj+1 − uj ) (5.39)
2 2

and
gj+1 − gj+ 1 = â+
j+ 1
(uj+1 − uj ) (5.40)
2 2

Subtracting the equation (5.40) from (5.39), we get

2gj+ 1 = (gj + gj+1 ) + (uj+1 − uj )(â−


j+ 1
− â+
j+ 1
)
2 2 2

or
1 1
gj+ 1 = (gj + gj+1 ) + (â− 1 − â
+
j+ 21
)(uj+1 − uj ) (5.41)
2 2 2 j+ 2

Here
1
â±
j+ 21
= (âj+ 1 ± |aj+ 1 |) (5.42)
2 2 2

1 1 1 1
â−
j+ 21
− â+
j+ 21
= âj+ 1 − |âj+ 1 | − âj+ 1 − |âj+ 1 |
2 2 2 2 2 2 2 2

â−
j+ 1
− â+
j+ 1
= −|aj+ 1 | (5.43)
2 2 2

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


5.2. APPROXIMATE RIEMANN SOLVER OF ROE 83

1 1
gj+ 1 = (gj + gj+1 ) − |âj+ 1 | (uj+1 − uj ) (5.44)
2 2 2 2

Similarly, we can obtain


1 1
gj− 1 = (gj−1 + gj ) − |âj− 1 | (uj − uj−1 ) (5.45)
2 2 2 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
1 2
gj+1 − gj uj − 21 u2j 1
(uj+1 − uj ) (uj+1 + uj ) 1
âj+ 1 = = 2 = 2
= (uj + uj+1 ) (5.46)
2 uj+1 − uj uj+1 − uj uj+1 − uj 2
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
âj+ 1 = (uj + uj+1 ) (5.47)
2 2
When uj = uj+1 = u, the above expression gives â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.

5.2.1 Entropy Fix for Roe’s Scheme


Let us now rewrite the expression for the interface flux for Roe’s scheme as
1 1
gj+ 1 = (gj + gj+1 ) − αj+ 1 (uj+1 − uj ) (5.48)
2 2 2 2

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
αj+ 1 = |aj+ 1 | (5.49)
2 2

where aj+ 1 is the wave-speed. Therefore, the numerical diffusion varies linearly with the
2
wave-speed in Roe’s 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, Roe’s 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 pro-
ducing 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 -


84 CHAPTER 5. 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 (5.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 5.1: Entropy Fix for Roe’s 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 (5.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) = δ (5.51)
2
Therefore
1
k3 = δ (5.52)
2
and the equation of the parabola becomes
1
α = k1 a2 + k2 a + δ (5.53)
2
Now, we require a symmetrical variation of α with respect to a. Therefore

α (−a) = α (a) (5.54)

or
1 1
k1 (−a)2 + k2 (−a) + δ = k1 a2 + k2 (a) + δ
¡ ¢
2 2

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


5.2. APPROXIMATE RIEMANN SOLVER OF ROE 85

which gives
k2 = 0 (5.55)

Therefore, the equation of the parabola becomes

1
α = k1 a2 + δ (5.56)
2

Let us now connect this parabola to the linear variation that we are starting back at
a = |δ|. Therefore
α (a = δ) = a and α (a = −δ) = a (5.57)

Therefore
1
k1 (−δ)2 + δ = δ (5.58)
2
and
1
k1 (+δ)2 + δ = δ (5.59)
2
Both the above equations lead to
1
k1 δ 2 = δ
2
or
1
k1 = (5.60)

Therefore, the equation of the parabola becomes

1 2 1
α= a + δ
2δ 2
or
a2 + δ 2
α= (5.61)

Thus, we fix the values of the numerical dissipation as

a2 + δ 2
for aj+ 1 < δ

αj+ 1 = 2δ 2 (5.62)
2  α 1 = |a 1 | for a 1 ≥ δ
j+ 2
j+ 2
j+
2

The value of δ has to be fixed by numerical experimentation so that the unphysical


expansion shock given by Roe’s scheme is removed and the expansion fan is captured
correctly.

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


86 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

5.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 = (5.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 ) (5.64)
π
The moments are Z ∞ Z ∞
u = hf i = f dv = hF i = F dv (5.65)
−∞ −∞
and Z ∞ Z ∞
g (u) = hvf i = vf dv = hvF i = vF dv (5.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 +v = i (5.67)
∂t ∂x tR
where Z ∞
hf i = f dv (5.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 √
β 2
F = u √ e−β(v−c) (5.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
= (5.70)
dt tR

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


5.3. KINETIC FLUX SPLITTING METHOD 87

Convection Step :
∂f ∂f
+v =0 (5.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 (5.72)
Convection step :
∂f ∂f
+v =0 (5.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
∂f ∂ (vf )
+ =0 (5.74)
∂t ∂x
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− = + (5.75)
2 2
Therefore, we obtain
∂f ∂ (v + + v − ) f
+ =0
∂t ∂x
∂f ∂ (v + f ) ∂ (v − f )
+ + =0 (5.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
∂f (v + f )j − (v + f )j−1 (v − f )j+1 − (v − f )j
+ + =0 (5.77)
∂t ∆x ∆x
Using a simple explicit Euler time-stepping to discretize the transient term and using an
explicit discretization of the space terms, we obtain
n n n n
fjn+1 − fjn (v + f )j − (v + f )j−1 (v − f )j+1 − (v − f )j
+ + =0 (5.78)
∆t ∆x ∆x

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


88 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

or
∆t h¡ + ¢n ¡ + ¢n ¡ − ¢n ¡ − ¢n i
fjn+1
= − fjn v f j − v f j−1 + v f j+1 − v f j (5.79)
∆x
Since we have fjn = Fjn from the Relaxation Step, the above equation becomes

∆t h¡ + ¢n ¡ + ¢n ¢n ¢n i
fjn+1 = Fjn − v F j − v F j−1 + v − F j+1 − v − F j
¡ ¡
(5.80)
∆x
Let us now take moments of the above upwind scheme so that we obtain an upwind
scheme for the scalar conservation equation considered as
∆t h¡ + ¢n ¡ + ¢n ¢n ¢n i
hfjn+1 = Fjn − v F j − v F j−1 + v − F j+1 − v − F j i
¡ ¡
(5.81)
∆x
or
∆t h ¡ + ¢n ¢n ¢n ¢n i
hfjn+1 i = hFjn i − h v F j i − h v + F j−1 i + h v − F j+1 i − h v − F j i
¡ ¡ ¡
(5.82)
∆x
By definition, hf i = hF i = u and hvf i = g. Therefore, the above equation becomes

∆t £¡ +n +n
¢ ¡ −n n ¢¤
un+1
j = unj − gj − gj−1 + gj+1 − gj− (5.83)
∆x
where
g ± = hv ± F i (5.84)
are the split fluxes. Let us evaluate the split fluxes.
Z ∞
+ + v + |v|
g = hv F i = F dv (5.85)
−∞ 2
or Z ∞
+
g = vF dv (5.86)
0

since v is positive. Therefore


Z ∞

β u 2
+
g = vu √ e−β (v− 2 ) dv
0 π
or √ Z ∞
β u 2
+
g = u√ ve−β (v− 2 ) dv (5.87)
π 0
To evaluate this integral, let us use the substitution
p ³ u´
w= β v− (5.88)
2

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


5.3. KINETIC FLUX SPLITTING METHOD 89

Therefore µ ¶
w u
v= √ +
β 2
and
1
dv = √ dw
β
since u is the mean the molecular velocity. The limits are :

As v → ∞ w→∞
As v → −∞ w → −∞ √
u β
As v → 0 w → −s where s =
2
Therefore √ Z ∞µ ¶
+ β w u −w2 1
g = u√ √ + e √ dw
π −s β 2 β
or √ · Z ∞ Z ∞ ¸
+ β 1 −w2 u −w2
g = u√ we dw + √ e dw (5.89)
π β −s 2 β −s
Let us now evaluate the integrals in the above equation.
Z ∞
2
I1 = we−w dw (5.90)
−s
Z ∞ Z 0
−w2 2
I1 = we dw + we−w dw
0 −s
−s
1
Z
2
I1 =− we−w 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
As w → 0, z → 0; as w → s z → −s2
Z −s
1 1 2
I1 = − 2wdwe−w
2 0 2
Z −s2
1 1
I1 = − ez dz
2 2 0
1 1 2
I1 = − [ez ]−s0
2 2
1 1 h −s2 0
i
I1 = − e −e
2 2

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


90 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

1 1 h −s2 i
I1 = − e −1
2 2
1 1 2 1
I1 = − e−s +
2 2 2
Therefore
1 2
I1 = − e−s (5.91)
2
Let us now evaluate the second integral.
Z ∞
2
I2 = e−w dw (5.92)
−s
Z ∞ Z 0
−w2 2
I2 = e dw + e−w dw
0 −s
√ Z −s
π 2
I2 = − e−w dw
2 0
√ Z s
π 2
I2 = + e−z dz where z = −w
2 0
Let us now use the definition of the error function
Z s
2 2
erf (s) = √ e−w dw (5.93)
π 0
Therefore √ √
π π
I2 = + erf (s)
2 2
or √
π
I2 = [1 + erf (s)] (5.94)
2
Therefore, the split flux expression becomes
√ · ¸
+ β 1 −s2 u π
g = u√ e + √ {1 + erf (s)}
π 2β 2 β2
or
u
g + = gA+ + √ B (5.95)
2 πβ
where
1 1 + erf (s) 2
g = u2 , A+ = and B = e−s (5.96)
2 2
Similarly, we can evaluate the negative split flux
Z 0
ve−β (v− 2 ) dv
u

g = (5.97)
−∞

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


5.4. RELAXATION SCHEMES 91

as
u
g − = gA− − √ B (5.98)
2 πβ
where
1 − erf (s)
A− = (5.99)
2
Note that here
1 1 p
g = u2 and s = u β (5.100)
2 2
Both the split fluxes can be written as
u
g ± = gA± ± √ B (5.101)
2 πβ

5.4 Relaxation Schemes


Consider the Burgers equation

∂u ∂g (u) 1
+ = 0 where g (u) = u2 (5.102)
∂t ∂x 2
The Relaxation System of Jin and Xin for the above conservation law is given by
∂u ∂v
+ =0 (5.103)
∂t ∂x
∂v ∂u 1
+ λ2 = [v − g (u)] where ² → 0 (5.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 (5.105)
∂t ∂x ²
where
1 1
 
¸  u− v 
 2 2λ 
·
f1
f= = (5.106)
f2

 1 1 
u+ v
2 2λ

· ¸
−λ 0
Λ= (5.107)
0 λ

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


92 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

and
1 1
 
¸  u − g (u)
 2 2λ
·
F1

F = = (5.108)

F2

 1 1 
u + g (u)
2 2λ
We can use any of the above relaxation systems as a starting point to develop an upwind
scheme for the Burgers equation.

5.4.1 Relaxation Scheme


Let us now take the Relaxation System
∂u ∂v
+ =0 (5.109)
∂t ∂x
∂v ∂u 1
+ λ2 = − [v − g (u)] (5.110)
∂t ∂x ²
Thus, we have to solve two convection equations, one with a source term. The update
formulae are
un+1
j − unj 1 h n n
i
+ vj+ 1 − vj− 1 = 0 (5.111)
∆t ∆x 2 2

and
vjn+1 − vjn λ2 h n i 1£
uj+ 1 − unj− 1 = − vjn − g unj
¡ ¢¤
+ (5.112)
∆t ∆x 2 2 ²
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 char-
acteristic variables, based on the characteristic speeds. Therefore
f1,j+ 1 = f1,j+1 for the characteristic speed − λ (5.113)
2

and
f2,j+ 1 = f2,j for the characteristic speed λ (5.114)
2

Therefore
1 1 1 1
uj+ 1 − vj+ 1 = uj+1 − vj+1 (5.115)
2 2 2λ 2 2 2λ
and
1 1 1 1
uj+ 1 + vj+ 1 = uj − vj (5.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
1 1
uj+ 1 = (uj + uj+1 ) − (vj+1 − vj ) (5.117)
2 2 2λ

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


5.4. RELAXATION SCHEMES 93

and
λ 1
vj+ 1 = − (uj+1 − uj ) + (vj + vj+1 ) (5.118)
2 2 2
The expressions for uj− 1 and vj− 1 can be obtained from the above expressions by substi-
2 2
tuting j − 1 for j. Substituting the above into the update equation, we obtain
∆t £ n ¤ λ∆t £ n
un+1 = unj − n
uj+1 − 2unj + unj−1
¤
j vj+1 − vj−1 + (5.119)
2∆x 2∆x
and
λ2 ∆t £ n ¤ λ∆t £ n ¤ ∆t £ n
vjn+1 = vjn − uj+1 − unj−1 + vj+1 − 2vjn + vj−1
n
vj − g unj
¡ ¢¤
− (5.120)
2∆x 2∆x ²
We can use the initial condition v (x, t = 0) = g {u (x, t = 0)}. For the value of ², ex-
periments have shown that any small value such that ² ≤ 10−4 will work. Jin and Xin
used ² = 10−8 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.

5.4.2 Discrete Kinetic Scheme


Consider the 1-D Burgers equation

∂u ∂g (u) 1
+ = 0 with g (u) = u2 (5.121)
∂t ∂x 2
The diagonal form of the Relaxation System for the above equation is the discrete Boltz-
mann equation, given by
∂f ∂f 1
+Λ = [F − f ] (5.122)
∂t ∂x ²
where F is the Maxwellian defined by

u g (u)
 
· ¸ −
F1
F = = 2 2λ  (5.123)

F2 u g (u)

+
2 2λ
Let us now apply a splitting method for the discrete Boltzmann equation, obtaining a
Relaxation Step as
df 1
= [F − f ] (5.124)
dt ²
and a Convection Step as
∂f ∂f
+Λ =0 (5.125)
∂t ∂x

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


94 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

Let us now simplify the Relaxation Step further by assuming ² = 0 (instantaneous relax-
ation), 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 (5.126)
∂t ∂x
and
∂f2 ∂h2
+ = 0 where h2 = λf2 (5.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
∆t h n i
f¯1,j
n+1
= f¯1,j
n
− h1,j+ 1 − hn1,j− 1 (5.128)
∆x 2 2

∆t h n i
f¯2,j
n+1
= f¯2,j
n
− h2,j+ 1 − hn2,j− 1 (5.129)
∆x 2 2

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 (5.130)
2

h2,j+ 1 = h2,j as wave speed is λ and information comes from left (5.131)
2

Similarly,
h1,j− 1 = h1,j as wave speed is − λ and information comes from right (5.132)
2

h2,j− 1 = h2,j−1 as wave speed is λ and information comes from left (5.133)
2

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
j = f¯1,j
n+1
+ f¯2,j
n+1
(5.134)
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+1 ¯n+1 + f¯n+1 − ∆t hn n n n


£ ¤
= f − h + h − h (5.135)
j 1,j 2,j
∆x 1,j+1 1,j 2,j 2,j−1

or
½ n n
ūnj gjn
½ n
ūj+1 gj+1 ūj gjn ūnj−1 gj−1
n ¾¸
· ¾
n+1 n ∆t
ūj = ūj − −λ − − + +λ + − −
∆x 2 2λ 2 2λ 2 2λ 2 2λ
(5.136)
or
∆t £ n ¤ λ∆t £ n
ūn+1 = ūnj − n
ūj+1 − 2ūnj + ūnj−1
¤
j gj+1 − gj−1 + (5.137)
2∆x 2∆x
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 -


5.4. RELAXATION SCHEMES 95

5.4.3 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 [52] developed a low dissipation Relaxation
Scheme which can capture steady discontinuities exactly, like Roe’s 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 (5.138)
∂t ∂x
and
∂f2 ∂f2
+λ =0 (5.139)
∂t ∂x
which can be integrated over the finite volume to obtain

¯n+1 ¯n ∆t h n n
i
f1,j = f1,j − h 1 − h
1,j− 12
(5.140)
∆x 1,j+ 2
and
¯n+1 ¯n ∆t h n n
i
f2,j = f2,j − h 1 − h
2,j− 12
(5.141)
∆x 2,j+ 2
where
h1 = −λf1 , h2 = λf2 and ∆x = xj+ 1 − xj− 1 (5.142)
2 2

The cell-integral averages are defined by


xj+ 1
1
Z
f¯1,j =
2
f1 dx (5.143)
∆x xj− 1
2

and xj+ 1
1
Z
f¯2,j =
2
f2 dx (5.144)
∆x xj− 1
2

We can define the fluxes at the cell interfaces as


1
h1,j+ 1 = [h1,j + h1,j+1 ] − d1,j+ 1 (5.145)
2 2 2

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 f¯1,j+1 − f¯1,j
£ ¤
(5.146)
2 2 2

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


96 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

Similarly,
1
h2,j+ 1 = [h2,j + h2,j+1 ] − d2,j+ 1 (5.147)
2 2 2

and
1
d2,j+ 1 = α2,j+ 1 f¯2,j+1 − f¯2,j
£ ¤
(5.148)
2 2 2

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 Rankine-
2 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

λ∆t £ ¯n
f¯1,j
n+1
f¯1,j f1,j+1 − f¯1,j−1
n
n
¤
= +
2∆x
∆t h ¢i
α1,j+ 1 f¯1,j+1 − f¯1,j
¡ n n
+ (5.149)
2∆x 2

∆t h ¢i
α1,j− 1 f¯1,j − f¯1,j−1
¡ n n

2∆x 2

and
λ∆t £ ¯n
f¯2,j
n+1
f¯2,j f2,j+1 − f¯2,j−1
n
n
¤
= +
2∆x
∆t h ¢i
α2,j+ 1 f¯2,j+1 − f¯2,j
¡ n n
+ (5.150)
2∆x 2

∆t h ¢i
α2,j− 1 f¯2,j − f¯2,j−1
¡ n n

2∆x 2

Since un+1
j
n+1
= f1,j n+1
+ f2,j , we obtain, after using the simplified relaxation step fjn = Fjn
and the simplification α1,j± 1 = α2,j± 1 = αj± 1 , the following update formula.
2 2 2

∆t £ n
un+1 n
¤
j = unj − gj+1 − gj−1
2∆x
∆t
αj+ 1 unj+1 − unj
£ ¤
+ (5.151)
2∆x 2

∆t
αj− 1 unj − unj−1
£ ¤

2∆x 2

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


5.4. RELAXATION SCHEMES 97

which can be rewritten as


∆t h n i
un+1
j = unj − n
gj+ 1 − gj− 1 (5.152)
∆x 2 2

where
1 1
gj+ 1 = [gj + gj+1 ] − αj+ 1 [uj+1 − uj ] (5.153)
2 2 2 2

and
1 1
gj− 1 = [gj−1 + gj ] − αj− 1 [uj − uj−1 ] (5.154)
2 2 2 2

With a little algebraic manipulation, we can rewrite the expression (5.153) as


+
−gj+1 + gj+ 1 + αj+ 1 [uj+1 − uj ]
2

2 (5.155)
+gj+ 1 − gj + αj+ 1 [uj+1 − uj ] = 0
2 2

where
±
αj+ 1 ± |αj+ 1 |
2 2
αj+ 1 = (5.156)
22
Therefore, the expression for the flux can be split into the following two parts :
+
gj+1 − gj+ 1 = αj+ 1 [uj+1 − uj ] (5.157)
2 2

and

gj+ 1 − gj = −αj+ 1 [uj+1 − uj ] (5.158)
2 2

Let us now compare the fluxes in (5.157) and (5.158) with the fluxes that satisfy Rankine-
Hugoniot 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
left, we split the shock speed into a positive part s+
j+ 1
and a negative part s−
j+ 1
where
2 2

sj+ 1 ± |sj+ 1 |

j+ 1
= 2 2
(5.159)
2 2
The Rankine-Hugoniot condition (∆g = s∆u) for the above two cases are given by (see
[53])
gj+1 − gj+ 1 = s+
j+ 1
[uj+1 − uj ] (5.160)
2 2

and
gj+ 1 − gj = s−
j+ 1
[uj+1 − uj ] (5.161)
2 2

Comparing the expressions (5.157) and (5.158) with the Rankine-Hugoniot condition for
±
the shock moving to the right (5.160) and left (5.161), we can fix the coefficients αj+ 1 as
2

+ + − −
αj+ 1 = s and αj+ 1 = −s (5.162)
2
j+ 1 2
j+ 1 2 2

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


98 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

from which we can obtain the expression for the coefficient of numerical diffusion as

αj+ 1 = |sj+ 1 | (5.163)


2 2

Similarly, we can obtain the expression for the other coefficient of numerical diffusion as

αj− 1 = |sj− 1 | (5.164)


2 2

For the scalar conservation law, defining the shock speed s by


∂g
s= (5.165)
∂u
we obtain
gj+1 − gj

 if uj 6= uj+1
 uj+1 − uj


sj+ 1 = (5.166)
2 
 ∂g
|j if uj = uj+1


∂u
and
gj − gj−1

 if uj 6= uj−1
 uj − uj−1


sj− 1 = (5.167)
2 
 ∂g
|j if uj = uj−1


∂u
Therefore, the new Relaxation Scheme which satisfies the Rankine-Hugoniot condition is
given by the following algorithm.
∆t h n i
f¯1,j
n+1
= f¯1,j
n
− h1,j+ 1 − hn1,j− 1
∆x 2 2

∆t h i
f¯2,j
n+1
= f¯2,j
n
− hn2,j+ 1 − hn2,j− 1
∆x 2 2

h1 = −λf1 , h2 = λf2 , ∆x = xj+ 1 − xj− 1


2 2

1
h1,j+ 1 = [h1,j + h1,j+1 ] − d1,j+ 1
2 2 2

1
d1,j+ 1 = α1,j+ 1 f¯1,j+1 − f¯1,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 f¯2,j+1 − f¯2,j
£ ¤
2 2 2

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


5.4. RELAXATION SCHEMES 99
 g −g
j+1 j
 |
 | if ūj 6= ūj+1
αj+ 1 = ūj+1 − ūj
2 ∂g
| |j if ūj = ūj+1


∂u
gj − gj−1

 |
 | if ūj 6= ūj−1 (5.168)
αj− 1 = ūj − ūj−1
2 ∂g
| |j if ūj = ūj−1


∂u
ūn+1 = f¯n+1 + f¯n+1
j 1,j 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 dissi-
pation, α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 Roe’s scheme by an entropy fix. Note that this is the entropy fix of Harten
(see [35] for details).

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


100 CHAPTER 5. UPWIND METHODS FOR SCALAR CONSERVATION LAWS

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


Bibliography

[1] Anderson, J.D., Modern Compressible Flows : With Historical Perspective,


MacGraw-Hill, 1990.

[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. 235–276, 1995.

[9] R. Natalini, A Discrete Kinetic Approximation of Entropy Solutions to Multidimen-


sional Scalar Conservation Laws, Journal of Differential Equations, vol. 148, pp.
292–317, 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. 1973–2004, 2000.

[11] R. Natalini, Recent mathematical results on hyperbolic relaxation problems, Analy-


sis of systems of conservation laws, Pitman Research Notes in Mathematics Series,
Longman, Harlow, 1998.

101

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


102 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 com-
putation, 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 Compress-
ible Flows, AIAA Paper no. AIAA-1986-0275.
[24] B. Perthame, Boltzmann Type Schemes for Gas Dynamics and Entropy Property,
SIAM Journal of Numerical Analysis, 27, 6, 1405, 1991.
[25] 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.

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


BIBLIOGRAPHY 103

[26] K.H. Prendergast and Kun Xu, Numerical Hydrodynamics from Gas-Kinetic Theory,
Journal of Computational Physics, 109, 53, 1993.

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

[28] Meng Sing Liou and C.J. Steffen, A New Flux Splitting Scheme, Journal of Compu-
tational Physics, 107, pp.23-39, 1993.

[29] F. Coquel and Meng Sing Liou, Hybrid Upwind Splitting (HUS) by a field-by-field
decomposition, NASA TM-106843, Icomp-95-2, 1995.

[30] A. Jameson, Analysis and Design of Upwind Schemes for Gas Dynamics II : Artifi-
cial Diffusion and Discrete Shock Structure, International Journal of Computational
Fluid Dynamics, v, pp. 171-218, 1995.

[31] C. Hirsch, Numerical Computation of Internal and External Flows, Vol. 1: Funda-
mentals of Numerical Discretization, John Wiley & Sons, 1988.

[32] C. Hirsch, Numerical Computation of Internal and External Flows, Vol. 2: Compu-
tational Methods for Inviscid and Viscous Flows, John Wiley & Sons, 1990.

[33] R.D. Richtmyer and K.W. Morton, Difference Methods for Initial Value Problems,
2nd edition, John Wiley and Sons, New York, 1967.

[34] E.F. Toro, Riemann Solvers and Numerical Methods for Fluid Dynamics : A Practical
Introduction, 2nd Edition, Springer, 1999.

[35] Culbert B. Laney, Computational Gasdynamics, Cambridge University Press, 1998.

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

[37] E. Godlewski and P.A. Raviart, Numerical Approximations of hyperbolic Systems of


Conservation Laws, Applied Mathematics Series 118, Springer–Verlag, 1996.

[38] Quirk, A contribution to the great Riemann solver debate, International Journal of
Numerical Methods in Fluids, vol. 18, pp. 555-574, 1994.

[39] S. Jin, Runge–Kutta Methods for Hyperbolic Conservation Laws with Stiff Relax-
ation Terms, Journal of Computational Physics, vol. 122, pp. 51–67, 1995.

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


104 BIBLIOGRAPHY

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

[41] S. Balasubramanyam, A New Grid–Free Upwind Relaxation Scheme for Compressible


Flows, M.Sc.(Engg.) thesis, Department of Aerospace Engineering, Indian Institute
of Science, Bangalore, India, 2002.

[42] A.K. Ghosh and S.M. Deshpande, ”Least Squares Kinetic Upwind Method for Invis-
cid Compressible Flows”, AIAA paper, 95-1735, 1995.

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

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

[45] S. Balasubramanyam and S.V. Raghurama Rao, A New Grid Free Relaxation Scheme
for Conservation Laws, 2nd International Conference on Computational Fluid Dy-
namics, July 2002 , Sydney, Australia (accepted for presentation and the full paper
to be published by Springer).

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

[47] S.V. Raghuramarao and Sachin Khosla, An Unsplit Relaxation Scheme for Hyper-
bolic Conservation Laws, 2nd International Conference on Computational Fluid Dy-
namics, July 2002, Sydney, Australia (accepted for presentation and proceedings to
be published by Springer).

[48] M.V. Subba Rao and S.V. Raghurama Rao, Method of Interpolation with a Relax-
ation Approximation for Conservation Laws (MIRACL), in preparation.

[49] R. Leveque, Nonlinear Conservation Laws and Finite Volume Methods for Astro-
physical 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.

[50] G. Strang, On the Construction and Comparison of Difference Schemes, SIAM Jour-
nal of Numerical Analysis, No. 5, pp. 506-571, 1968.

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


BIBLIOGRAPHY 105

[51] B. Manoj Kumar, S.V. Raghurama Rao R. Balasubramanian S.M. Deshpande, Ki-
netic Flux Vector Splitting for Navier–Stokes equatons based on Chapman–Enskog
distribution, 97 FM 9, Fluid Mechanics reports, Department of Aerospace Engineer-
ing, Indian Institute of Science, Bangalore, India, 1997.

[52] S.V. Raghurama Rao and K. Balakrishna, An Accurate Shock Capturing Algorithm
with a Relaxation System for Hyperbolic Conservation Laws, AIAA Paper No. AIAA-
2003-4145, 2003.

[53] J.C. Tannehil, D.A. Anderson and R.H. Pletcher, Computational Fluid Mechanics
and Heat Transfer, 2nd edition, Taylor & Francis, 1997.

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

[55] Meng-Sing Liou and Steffen, A New Flux Splitting Method, Journal of Computa-
tional Physics, vol. , pp. , .

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

[57] B. van Leer, Flux Vector Splitting for the Euler Equations, Lecture Notes in Physics,
vol. 170, pp. 507-512, 1982.

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

You might also like