Académique Documents
Professionnel Documents
Culture Documents
Marc Kjerland
University of Illinois at Chicago
February 7, 2011
1 / 32
Hyperbolic PDEs
Outline
Hyperbolic PDEs
Conservation laws
Linear systems
Riemann Problem
Boundary Values
Finite Volume Method
Convergence
Numerical flux
Godunovs Method
February 7, 2011
2 / 32
Hyperbolic PDEs
Conservation laws
1D Advective transport
1D fluid flow
February 7, 2011
3 / 32
Hyperbolic PDEs
Conservation laws
1D Advective transport
1D fluid flow
Introduce a tracer that moves in the fluid. Let (x) denote the density
of the tracer.
February 7, 2011
3 / 32
Hyperbolic PDEs
Conservation laws
1D Advective transport
1D fluid flow
x2
February 7, 2011
3 / 32
Hyperbolic PDEs
Conservation laws
1D Advective transport
1D fluid flow
x2
d
dt
x2
February 7, 2011
3 / 32
Hyperbolic PDEs
Conservation laws
Conservation law
For general autonomous flux F = f (q), we have
Z
d x2
q(x, t) dx = f (q(x1 , t)) f (q(x2 , t)).
dt x1
For f sufficiently smooth, we have:
Z
Z x2
d x2
q(x, t) dx =
f (q(x, t)) dx,
dt x1
x1 x
which we can write as
Z x2
x1
q(x, t) +
f (q(x, t)) dx = 0.
t
x
February 7, 2011
4 / 32
Hyperbolic PDEs
Conservation laws
Conservation law
February 7, 2011
5 / 32
Hyperbolic PDEs
Conservation laws
Hyperbolic systems
A 1D quasilinear system
qt + A(q, x, t)qx = 0
is hyperbolic at (q, x, t) if A(q, x, t) is diagonalizable with real
eigenvalues.
The 1D nonlinear conservation law
qt + f (q)x = 0
is hyperbolic if the Jacobian matrix f
q is diagonalizable with real
eigenvalues for each physically relevant q.
February 7, 2011
6 / 32
Hyperbolic PDEs
Linear systems
p = 1 . . . m.
February 7, 2011
7 / 32
Hyperbolic PDEs
Linear systems
wt + wx = 0,
w(x, 0) = w0 (x)
February 7, 2011
8 / 32
Hyperbolic PDEs
Linear systems
m
X
p=1
m
X
wp (x, t)rp
w0p (x p t)rp
p=1
m
X
=
[` p q0 (x p t)]rp
p=1
February 7, 2011
9 / 32
Hyperbolic PDEs
Linear systems
February 7, 2011
10 / 32
Hyperbolic PDEs
Riemann Problem
Riemann Problem
The hyperbolic equation with initial data
q` if x < 0
q0 (x) =
qr if x > 0
is known as the Riemann problem.
February 7, 2011
11 / 32
Hyperbolic PDEs
Riemann Problem
Riemann Problem
The hyperbolic equation with initial data
q` if x < 0
q0 (x) =
qr if x > 0
is known as the Riemann problem.
For the linear constant-coefficient system, the solution is given by:
X
q(x, t) = q` +
[`p (qr q` )] rp
p:p <x/t
= qr
[`p (qr q` )] rp .
p:p x/t
February 7, 2011
11 / 32
Hyperbolic PDEs
Riemann Problem
Riemann Problem
Solution to Riemann problem using characteristics:
(1 < 0 < 2 < 3 )
February 7, 2011
12 / 32
Hyperbolic PDEs
Boundary Values
February 7, 2011
13 / 32
Outline
Hyperbolic PDEs
Conservation laws
Linear systems
Riemann Problem
Boundary Values
Finite Volume Method
Convergence
Numerical flux
Godunovs Method
February 7, 2011
14 / 32
We subdivide the spatial domain into grid cells Ci , and in each cell we
approximate the average of q at time tn :
Z
1
Qni
q(x, tn ) dx.
m(Ci ) Ci
At each time step we update these values based on fluxes between cells.
February 7, 2011
15 / 32
February 7, 2011
16 / 32
1D conservation law
Recall the autonomous conservation law:
Z
d x2
q(x, t) dx = f (q(x1 , t)) f (q(x2 , t)).
dt x1
Integrating in time from tn to tn+1 and dividing by x, we can derive
1
x
Z
1
q(x, tn+1 ) dx =
q(x, tn ) dx
x Ci
Ci
Z tn+1
Z tn+1
1
f (q(xi1/2 , t)) dt .
f (q(xi+1/2 , t)) dt
x tn
tn
February 7, 2011
17 / 32
t n
n
Fi+1/2 Fi1/2
,
x
where
n
Fi1/2
tn+1
February 7, 2011
18 / 32
Numerical flux
t
F(Qni , Qni+1 ) F(Qni1 , Qni ) .
x
February 7, 2011
19 / 32
Convergence
The method must be stable, i.e. small errors in each time step do
not grow too quickly.
February 7, 2011
20 / 32
Convergence
Consistency
N (q n ) q n+1
.
t
February 7, 2011
21 / 32
Convergence
CFL condition
A necessary condition for stability is the Courant-Friedrichs-Levy
condition: A numerical method can be stable only if its numerical
domain of dependence contains the true domain of dependendence of
the PDE, at least in the limit as t, x 0.
February 7, 2011
22 / 32
Convergence
CFL condition
February 7, 2011
23 / 32
Numerical flux
F(Qni1 , Qni ) =
1
f (Qni1 ) + f (Qni ) .
2
February 7, 2011
24 / 32
Numerical flux
XXX
XX 1
n
n
X
F(Qni1 , Qni ) =X
f (Q
X
i1 ) + f (Qi ) .
X
X
2
X
X
XXX
XXX
X
February 7, 2011
24 / 32
Numerical flux
Upwind methods
t n
(Q Qni1 )
x i
February 7, 2011
25 / 32
Godunovs Method
for all x Ci .
February 7, 2011
26 / 32
Godunovs Method
Note: the Evolve step (2) requires solving the Riemann problem,
provided t is small enough so waves from adjacent cells dont interact.
Recall that the solution to the Riemann problem for a linear system
can be written as a set of waves:
Qi Qi1 =
m
X
[`p (Qi+1 Qi )] rp
p=1
m
X
p
Wi1/2
p=1
February 7, 2011
27 / 32
Godunovs Method
Note that after time t the pth wave has moved a distance p t. Then
the effect of this wave on the cell average Q is a change by the amount
p
t p
W
.
x i1/2
So, the Average step (3) can be easily computed due to the simple
geometries of the problem.
February 7, 2011
28 / 32
Godunovs Method
m
m
X
X
t
p
p
.
Qn+1
= Qni
(p )+ Wi1/2
+
(p ) Wi+1/2
i
x
p=1
p=1
February 7, 2011
29 / 32
Godunovs Method
m
X
p
(p ) Wi1/2
p=1
or
n
Fi1/2
= f (Qi ) +
m
X
p
(p )+ Wi1/2
p=1
February 7, 2011
30 / 32
Godunovs Method
Roes Method
1
1
[f (Qi1 ) + f (Qi )] |A|(Qi Qi1 ).
2
2
February 7, 2011
31 / 32
Godunovs Method
References
February 7, 2011
32 / 32