Académique Documents
Professionnel Documents
Culture Documents
AF
Advanced Computational Fluid Dynamics
DR
AF
T
Contents
1 Introduction 1
iii
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.
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.
G1,V , G2,V and G3,V are the viscous flux vectors, given by
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
∂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
∂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
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
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.
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
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)
1/c
=
pe
slo
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)
∂τ ∂τ
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)
dτ
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
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.
large speed
small speed
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.
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.
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
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.
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.
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
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
∂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
Let us now solve (2.69) for u(x, y) subject to the boundary condition
Let the boundary condition (2.70) be specified in the x − y plane along a boundary curve
which is described in parametric form as
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 |
∂ 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
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
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.
∂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.
∂ 2u ∂ 2u
+ =0 (2.95)
∂x2 ∂y 2
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
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
= ±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)
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
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).
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.
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)
Therefore, we can define a hyperbolic system of equations as a system with real eigenvalues
and diagonalisable coefficient (flux Jacobian) matrix.
or
∂W ∂W
+ R−1 AR = =0 (2.117)
∂t ∂x
Therefore
∂W ∂W
+D =0 (2.118)
∂t ∂x
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)
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.
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.
∆3 N
n (r) = Lim∆3 r→0 (2.125)
∆3 r
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
or
nhvi = hvfp i (2.132)
Multiplying by the mass, we obtain
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)
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
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)
−∞
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)
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
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
∂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
∂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
∂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)
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
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
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.
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
For the Relaxation System (2.203) to be dissipative, the following condition should be
satisfied. µ ¶2
∂G (U)
D− ≥0 (2.217)
∂U
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.
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 ∂f
+ R−1 AR = R−1 H (2.227)
∂t ∂x
∂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λ²
∂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
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.
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
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.
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)
λ
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 ²
∂u ∂v1 ∂v2
+ + =0 (2.258)
∂t ∂x ∂y
∂ (P Λ1 f ) ∂ (P Λ21 f ) ∂ (P Λ1 Λ2 f ) 1
+ + = [P Λ1 F − P Λ1 f ] (2.259)
∂t ∂x ∂y ²
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).
where
∂G1 (U) ∂G2 (U)
A1 = and A2 = (2.270)
∂U ∂U
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).
∂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
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
)
*
%
&
%
&
)
*
)
*
)
*
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
+
,
'
(
'
(
'
(
t+∆t
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* *
c∆t c∆t
* * * * , , , , , , , (
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
#
t
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
! !
" #
$
) ) ) ) ) ) + + + + + + + '
* * * * * * , , , , , , , (
! !
" $
xj−1 xj xj+1
∆x ∆x
Figure 3.1: 3-Point Stencil
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
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
where
∆t c ± |c|
λ± = (3.13)
∆x 2
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 > < ; @
? =
A
j−3 >
?
>
?
>
?
>
?
<
=
<
=
<
=
<
=
;
;
@
A > < ; @
? =
A > < ; @
? =
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
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
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
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
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
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
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
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).
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
(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
³ ∂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
³ ∂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
∂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
∆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.
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.
∂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.
2Π
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.
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 :
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
Since ² = N − E, and N = E + ²
y = sin(ωm x) (3.70)
2Π
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
2Π
ωm = m (3.71)
L
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
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
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
Therefore
a∆t c∆t h i
e =1− 2 i sin(ωm ∆x)
2∆x
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
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.
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
An+1
m ea(t+∆t)
Amplification factor = G = = = ea∆t
Anm eat
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λ)
when λ < 1
ωm ∆x ωm ∆x
4λ(1−λ) is positive. Therefore, 1−4λ(1−λ) sin2 ( ) has a minimum for sin2 ( ) = 0.
2 2
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 `
• 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
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.
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
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
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.
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
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)
With the above three equations, the three unknowns a, b and c can be evaluated using
the expression (4.21) as
Therefore, the exact solution of the convection equation with the above quadratic inter-
polation gives
∂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 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
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.
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
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.
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
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.
g (u) = a+ ku + a− ku = g + + g − (5.12)
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
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
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
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 â.
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
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
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
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
1 1
gj+ 1 = (gj + gj+1 ) − |âj+ 1 | (uj+1 − uj ) (5.44)
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.
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.
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
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
or
1 1
k1 (−a)2 + k2 (−a) + δ = k1 a2 + k2 (a) + δ
¡ ¢
2 2
which gives
k2 = 0 (5.55)
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)
2δ
Therefore, the equation of the parabola becomes
1 2 1
α= a + δ
2δ 2
or
a2 + δ 2
α= (5.61)
2δ
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
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
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
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
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)
−∞
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 πβ
∂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 λ
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.
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λ
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.
∂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
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
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
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, λ.
∂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
and xj+ 1
1
Z
f¯2,j =
2
f2 dx (5.144)
∆x xj− 1
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
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
λ∆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
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
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 |
s±
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
from which we can obtain the expression for the coefficient of numerical diffusion as
Similarly, we can obtain the expression for the other coefficient of numerical diffusion as
∆t h i
f¯2,j
n+1
= f¯2,j
n
− hn2,j+ 1 − hn2,j− 1
∆x 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
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).
[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.
[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.
101
[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.
[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.
[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.
[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.
[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.
[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.
[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.