Professional Documents
Culture Documents
Lecture 1
Fundamentals
Course Block-structured Adaptive Finite Volume Methods in C++
Ralf Deiterding
University of Southampton
Engineering and the Environment
Highfield Campus, Southampton SO17 1BJ, UK
E-mail: r.deiterding@soton.ac.uk
Fundamentals 1
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Fundamentals 2
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Fundamentals 2
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Upwind schemes
The linear Riemann problem
Flux-difference splitting
Flux-vector splitting
Fundamentals 2
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Upwind schemes
The linear Riemann problem
Flux-difference splitting
Flux-vector splitting
Fundamentals 3
Conservation laws Finite volume methods Upwind schemes References
Mathematical background
d
∂ X ∂
q(x, t) + fn (q(x, t)) = 0 , D ⊂ {(x, t) ∈ Rd × R+
0} (1)
∂t n=1
∂xn
Fundamentals 4
Conservation laws Finite volume methods Upwind schemes References
Mathematical background
d
∂ X ∂
q(x, t) + fn (q(x, t)) = 0 , D ⊂ {(x, t) ∈ Rd × R+
0} (1)
∂t n=1
∂xn
Fundamentals 4
Conservation laws Finite volume methods Upwind schemes References
Mathematical background
d
∂ X ∂
q(x, t) + fn (q(x, t)) = s(q(x, t)) , D ⊂ {(x, t) ∈ Rd × R+
0} (1)
∂t n=1
∂xn
Fundamentals 4
Conservation laws Finite volume methods Upwind schemes References
Mathematical background
d
∂ X ∂
q(x, t) + fn (q(x, t)) = s(q(x, t)) , D ⊂ {(x, t) ∈ Rd × R+
0} (1)
∂t n=1
∂xn
Fundamentals 4
Conservation laws Finite volume methods Upwind schemes References
Mathematical background
d
∂ X ∂
q(x, t) + fn (q(x, t)) = s(q(x, t)) , D ⊂ {(x, t) ∈ Rd × R+
0} (1)
∂t n=1
∂xn
Characteristic information
Characteristic variables
Consider the first-order partial differential equation
∂q ∂q
+ A(q) =0 (2)
∂t ∂x
Fundamentals 5
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables
Consider the first-order partial differential equation
∂q ∂q
+ A(q) =0 (2)
∂t ∂x
For A = const. Eq. (2) is called linear, for A = A(q(x, t)) it is called
quasi-linear. For a hyperbolic system, A is diagonalizable as
R−1 A R = Λ
Fundamentals 5
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables
Consider the first-order partial differential equation
∂q ∂q
+ A(q) =0 (2)
∂t ∂x
For A = const. Eq. (2) is called linear, for A = A(q(x, t)) it is called
quasi-linear. For a hyperbolic system, A is diagonalizable as
R−1 A R = Λ
Fundamentals 5
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables
Consider the first-order partial differential equation
∂q ∂q
+ A(q) =0 (2)
∂t ∂x
For A = const. Eq. (2) is called linear, for A = A(q(x, t)) it is called
quasi-linear. For a hyperbolic system, A is diagonalizable as
R−1 A R = Λ
Fundamentals 5
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables - II
Multiplying (2) with R−1 gives
∂q ∂q
R−1 + R−1 A =0
∂t ∂x
Fundamentals 6
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables - II
Multiplying (2) with R−1 gives
∂q ∂q
R−1 + R−1 A =0
∂t ∂x
with R−1 dq = dv this becomes
∂v ∂v
+ R−1 AR =0
∂t ∂x
or
∂v ∂v
+Λ =0
∂t ∂x
Fundamentals 6
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables - II
Multiplying (2) with R−1 gives
∂q ∂q
R−1 + R−1 A =0
∂t ∂x
with R−1 dq = dv this becomes
∂v ∂v
+ R−1 AR =0
∂t ∂x
or
∂v ∂v
+Λ =0
∂t ∂x
which is just a set of decoupled independent advection equations for the
components, i.e.,
∂vm ∂vm
+ λm =0 for m = 1, . . . , M (3)
∂t ∂x
Fundamentals 6
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Characteristic variables - II
Multiplying (2) with R−1 gives
∂q ∂q
R−1 + R−1 A =0
∂t ∂x
with R−1 dq = dv this becomes
∂v ∂v
+ R−1 AR =0
∂t ∂x
or
∂v ∂v
+Λ =0
∂t ∂x
which is just a set of decoupled independent advection equations for the
components, i.e.,
∂vm ∂vm
+ λm =0 for m = 1, . . . , M (3)
∂t ∂x
(3) is a wave equation but note that in the general quasi-linear case the
eigenvalues can dependent on all vm , i.e. λm = λm (v1 , · · · , vM ) Nevertheless,
an analysis as for the wave equations shows
dx
vm = const. for = λm
dt
Fundamentals 6
Conservation laws Finite volume methods Upwind schemes References
Characteristic information
Wavefronts
The curves dx = λm dt are called wavefronts or characteristics, vm are the
characteristic variables.
The characteristics define how influence spreads in the x − t plane. A point in
the x − t plane is only influenced by points at earlier times in a finite domain of
dependence and influences only points in a finite range of influence.
Weak solutions
d t+∆t
X Z Z t+∆t
Z Z
+ fn (q(o, t)) σn (o) do dt = s(q(x, t)) dx
n=1 t t
∂Ω Ω
Fundamentals 8
Conservation laws Finite volume methods Upwind schemes References
Weak solutions
d t+∆t
X Z Z t+∆t
Z Z
+ fn (q(o, t)) σn (o) do dt = s(q(x, t)) dx
n=1 t t
∂Ω Ω
Fundamentals 8
Conservation laws Finite volume methods Upwind schemes References
Weak solutions
d t+∆t
X Z Z t+∆t
Z Z
+ fn (q(o, t)) σn (o) do dt = s(q(x, t)) dx
n=1 t t
∂Ω Ω
Z∞ Z " d
# Z
∂ϕ X ∂ϕ
·q+ · fn (q) − ϕ · s(q) dx dt + ϕ(x, 0)·q0 (x) dx = 0
∂t n=1
∂xn
0 Rd Rd
Fundamentals 8
Conservation laws Finite volume methods Upwind schemes References
Rankine-Hugoniot relations
Consider the 1d version of (1), s(q) = 0 integrated over interval [x, x + dx] × [t, t + dt]
x+dx
Z x+dx
Z t+dt
Z
q(x 0 , t + dt)dx 0 − q(x 0 , t)dx 0 = − f(q(x + dx, t 0 )) − f (q(x, t 0 )) dt 0
x x t
Fundamentals 9
Conservation laws Finite volume methods Upwind schemes References
Rankine-Hugoniot relations
Consider the 1d version of (1), s(q) = 0 integrated over interval [x, x + dx] × [t, t + dt]
x+dx
Z x+dx
Z t+dt
Z
q(x 0 , t + dt)dx 0 − q(x 0 , t)dx 0 = − f(q(x + dx, t 0 )) − f (q(x, t 0 )) dt 0
x x t
Assume a discontinuity traveling with
speed
dx
S=
dt
Fundamentals 9
Conservation laws Finite volume methods Upwind schemes References
Rankine-Hugoniot relations
Consider the 1d version of (1), s(q) = 0 integrated over interval [x, x + dx] × [t, t + dt]
x+dx
Z x+dx
Z t+dt
Z
q(x 0 , t + dt)dx 0 − q(x 0 , t)dx 0 = − f(q(x + dx, t 0 )) − f (q(x, t 0 )) dt 0
x x t
Assume a discontinuity traveling with
speed
dx
S=
dt
Fundamentals 9
Conservation laws Finite volume methods Upwind schemes References
Rankine-Hugoniot relations
Consider the 1d version of (1), s(q) = 0 integrated over interval [x, x + dx] × [t, t + dt]
x+dx
Z x+dx
Z t+dt
Z
q(x 0 , t + dt)dx 0 − q(x 0 , t)dx 0 = − f(q(x + dx, t 0 )) − f (q(x, t 0 )) dt 0
x x t
Assume a discontinuity traveling with
speed
dx
S=
dt
Fundamentals 9
Conservation laws Finite volume methods Upwind schemes References
Rankine-Hugoniot relations
Consider the 1d version of (1), s(q) = 0 integrated over interval [x, x + dx] × [t, t + dt]
x+dx
Z x+dx
Z t+dt
Z
q(x 0 , t + dt)dx 0 − q(x 0 , t)dx 0 = − f(q(x + dx, t 0 )) − f (q(x, t 0 )) dt 0
x x t
Assume a discontinuity traveling with
speed
dx
S=
dt
This is called Rankine-Hugoniot jump relation. Note the form f(qR ) = f(qL ) for S = 0
from which, for instance, the shock relations for Euler equations are derived.
Fundamentals 9
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions
Select physical weak solution as lim qε = q almost everywhere in D of
ε→0
d d
∂qε X ∂fn (qε ) X ∂ 2 qε
+ −ε 2
= s(qε ) , x ∈ Rd , t > 0
∂t n=1
∂xn
n=1
∂x n
Fundamentals 10
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions
Select physical weak solution as lim qε = q almost everywhere in D of
ε→0
d d
∂qε X ∂fn (qε ) X ∂ 2 qε
+ −ε 2
= s(qε ) , x ∈ Rd , t > 0
∂t n=1
∂xn
n=1
∂x n
Fundamentals 10
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions
Select physical weak solution as lim qε = q almost everywhere in D of
ε→0
d d
∂qε X ∂fn (qε ) X ∂ 2 qε
+ −ε 2
= s(qε ) , x ∈ Rd , t > 0
∂t n=1
∂xn
n=1
∂x n
Fundamentals 10
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions
Select physical weak solution as lim qε = q almost everywhere in D of
ε→0
d d
∂qε X ∂fn (qε ) X ∂ 2 qε
+ −ε 2
= s(qε ) , x ∈ Rd , t > 0
∂t n=1
∂xn
n=1
∂x n
d
∂η(q) X ∂ψn (q) ∂η(q) T
+ ≤ · s(q)
∂t n=1
∂xn ∂q
Fundamentals 10
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions II
Definition (Entropy solution)
Weak solution q is called an entropy solution if q satisfies
Fundamentals 11
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions II
Definition (Entropy solution)
Weak solution q is called an entropy solution if q satisfies
Z∞Z " d
#
∂η(q) T
Z
∂ϕ X ∂ϕ
η(q) + ψn (q) − ϕ · s(q) dx dt + ϕ(x, 0) η(q0 (x)) dx ≥ 0
∂t n=1
∂xn ∂q
0 Rd Rd
for all entropy functions η(q) and all test functions ϕ ∈ C10 (D, R+
0 ), ϕ ≥ 0
Fundamentals 11
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions II
Definition (Entropy solution)
Weak solution q is called an entropy solution if q satisfies
Z∞Z " d
#
∂η(q) T
Z
∂ϕ X ∂ϕ
η(q) + ψn (q) − ϕ · s(q) dx dt + ϕ(x, 0) η(q0 (x)) dx ≥ 0
∂t n=1
∂xn ∂q
0 Rd Rd
for all entropy functions η(q) and all test functions ϕ ∈ C10 (D, R+
0 ), ϕ ≥ 0
n=1
Fundamentals 11
Conservation laws Finite volume methods Upwind schemes References
Entropy solutions II
Definition (Entropy solution)
Weak solution q is called an entropy solution if q satisfies
Z∞Z " d
#
∂η(q) T
Z
∂ϕ X ∂ϕ
η(q) + ψn (q) − ϕ · s(q) dx dt + ϕ(x, 0) η(q0 (x)) dx ≥ 0
∂t n=1
∂xn ∂q
0 Rd Rd
for all entropy functions η(q) and all test functions ϕ ∈ C10 (D, R+
0 ), ϕ ≥ 0
n=1
n=1
Euler equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + ρuk un + δkn p = 0 , k = 1, . . . , d
∂t ∂xn
∂ ∂
ρE + un (ρE + p) = 0
∂t ∂xn
Fundamentals 12
Conservation laws Finite volume methods Upwind schemes References
Euler equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + ρuk un + δkn p = 0 , k = 1, . . . , d
∂t ∂xn
∂ ∂
ρE + un (ρE + p) = 0
∂t ∂xn
with polytrope gas equation of state
1
p = (γ − 1) ρE − ρun un
2
Fundamentals 12
Conservation laws Finite volume methods Upwind schemes References
Euler equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + ρuk un + δkn p = 0 , k = 1, . . . , d
∂t ∂xn
∂ ∂
ρE + un (ρE + p) = 0
∂t ∂xn
with polytrope gas equation of state
1
p = (γ − 1) ρE − ρun un
2
have structure
∂t q(x, t) + ∇ · f(q(x, t)) = 0
Fundamentals 12
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 13
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 13
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 14
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 14
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 15
Conservation laws Finite volume methods Upwind schemes References
Rarefaction:
Fundamentals 15
Conservation laws Finite volume methods Upwind schemes References
Shocks:
Fundamentals 15
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Navier-Stokes equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + k = 1, . . . , d
ρuk un + δkn p − τkn = 0 ,
∂t ∂xn
∂ ∂
ρE + un (ρE + p) + qn − τnj uj = 0
∂t ∂xn
Fundamentals 16
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Navier-Stokes equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + k = 1, . . . , d
ρuk un + δkn p − τkn = 0 ,
∂t ∂xn
∂ ∂
ρE + un (ρE + p) + qn − τnj uj = 0
∂t ∂xn
with stress tensor
∂un ∂uk 2 ∂uj
τkn = µ + − µ δkn
∂xk ∂xn 3 ∂xj
and heat conduction
∂T
qn = −λ
∂xn
Fundamentals 16
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Navier-Stokes equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + k = 1, . . . , d
ρuk un + δkn p − τkn = 0 ,
∂t ∂xn
∂ ∂
ρE + un (ρE + p) + qn − τnj uj = 0
∂t ∂xn
with stress tensor
∂un ∂uk 2 ∂uj
τkn = µ + − µ δkn
∂xk ∂xn 3 ∂xj
and heat conduction
∂T
qn = −λ
∂xn
have structure
Fundamentals 16
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Navier-Stokes equations
∂ρ ∂
+ ρun = 0
∂t ∂xn
∂ ∂
ρuk + k = 1, . . . , d
ρuk un + δkn p − τkn = 0 ,
∂t ∂xn
∂ ∂
ρE + un (ρE + p) + qn − τnj uj = 0
∂t ∂xn
with stress tensor
∂un ∂uk 2 ∂uj
τkn = µ + − µ δkn
∂xk ∂xn 3 ∂xj
and heat conduction
∂T
qn = −λ
∂xn
have structure
Navier-Stokes equations
Fundamentals 17
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Fundamentals 17
Conservation laws Finite volume methods Upwind schemes References
Navier-Stokes equations
Fundamentals 17
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Upwind schemes
The linear Riemann problem
Flux-difference splitting
Flux-vector splitting
Fundamentals 18
Conservation laws Finite volume methods Upwind schemes References
Derivation
Assume ∂t q + ∂x f(q) + ∂x h(q(·, ∂x q)) = s(q)
Fundamentals 19
Conservation laws Finite volume methods Upwind schemes References
Derivation
Assume ∂t q + ∂x f(q) + ∂x h(q(·, ∂x q)) = s(q)
Time discretization tn = n∆t, discrete volumes
Ij = [xj − 12 ∆x, xj + 21 ∆x[=: [xj−1/2 , xj+1/2 [
Fundamentals 19
Conservation laws Finite volume methods Upwind schemes References
Derivation
Assume ∂t q + ∂x f(q) + ∂x h(q(·, ∂x q)) = s(q)
Time discretization tn = n∆t, discrete volumes
Ij = [xj − 12 ∆x, xj + 21 ∆x[=: [xj−1/2 , xj+1/2 [
1 1
Z Z
Using approximations Qj (t) ≈ q(x, t) dx, s(Qj (t)) ≈ s(q(x, t)) dx
|Ij | |Ij |
Ij Ij
and numerical fluxes
F Qj (t), Qj+1 (t) ≈ f(q(xj+1/2 , t)), H Qj (t), Qj+1 (t) ≈ h(q(xj+1/2 , t), ∇q(xj+1/2 , t))
Fundamentals 19
Conservation laws Finite volume methods Upwind schemes References
Derivation
Assume ∂t q + ∂x f(q) + ∂x h(q(·, ∂x q)) = s(q)
Time discretization tn = n∆t, discrete volumes
Ij = [xj − 12 ∆x, xj + 21 ∆x[=: [xj−1/2 , xj+1/2 [
1 1
Z Z
Using approximations Qj (t) ≈ q(x, t) dx, s(Qj (t)) ≈ s(q(x, t)) dx
|Ij | |Ij |
Ij Ij
and numerical fluxes
F Qj (t), Qj+1 (t) ≈ f(q(xj+1/2 , t)), H Qj (t), Qj+1 (t) ≈ h(q(xj+1/2 , t), ∇q(xj+1/2 , t))
yields after integration (Gauss theorem)
tn+1
Z
1
Qj (tn+1 ) = Qj (tn ) − [F (Qj (t), Qj+1 (t)) − F (Qj−1 (t), Qj (t))] dt−
∆x
tn
tn+1 tn+1
Z Z
1
[H (Qj (t), Qj+1 (t)) − H (Qj−1 (t), Qj (t))] dt + s(Qj (t)) dt
∆x
tn tn
Fundamentals 19
Conservation laws Finite volume methods Upwind schemes References
Derivation
Assume ∂t q + ∂x f(q) + ∂x h(q(·, ∂x q)) = s(q)
Time discretization tn = n∆t, discrete volumes
Ij = [xj − 12 ∆x, xj + 21 ∆x[=: [xj−1/2 , xj+1/2 [
1 1
Z Z
Using approximations Qj (t) ≈ q(x, t) dx, s(Qj (t)) ≈ s(q(x, t)) dx
|Ij | |Ij |
Ij Ij
and numerical fluxes
F Qj (t), Qj+1 (t) ≈ f(q(xj+1/2 , t)), H Qj (t), Qj+1 (t) ≈ h(q(xj+1/2 , t), ∇q(xj+1/2 , t))
yields after integration (Gauss theorem)
tn+1
Z
1
Qj (tn+1 ) = Qj (tn ) − [F (Qj (t), Qj+1 (t)) − F (Qj−1 (t), Qj (t))] dt−
∆x
tn
tn+1 tn+1
Z Z
1
[H (Qj (t), Qj+1 (t)) − H (Qj−1 (t), Qj (t))] dt + s(Qj (t)) dt
∆x
tn tn
For instance:
n+1 n ∆t h n n
n n
i
Qj = Qj − F Qj , Qj+1 − F Qj−1 , Qj −
∆x
∆t h n n
n n
i
n
H Qj , Qj+1 − H Qj−1 , Qj + ∆ts(Qj ) dt
∆x
Fundamentals 19
Conservation laws Finite volume methods Upwind schemes References
Qn+1
j = H(∆t) (Qnj−s , . . . , Qnj+s )
Fundamentals 20
Conservation laws Finite volume methods Upwind schemes References
Qn+1
j = H(∆t) (Qnj−s , . . . , Qnj+s )
Definition (Stability)
For each time τ there is a constant CS and a value n0 ∈ N such that
kH(∆t) (Qn )k ≤ CS for all n∆t ≤ τ , n < n0
Fundamentals 20
Conservation laws Finite volume methods Upwind schemes References
Qn+1
j = H(∆t) (Qnj−s , . . . , Qnj+s )
Definition (Stability)
For each time τ there is a constant CS and a value n0 ∈ N such that
kH(∆t) (Qn )k ≤ CS for all n∆t ≤ τ , n < n0
Definition (Consistency)
If the local truncation error
1 h i
L(∆t) (x, t) := q(x, t + ∆t) − H(∆t) (q(·, t))
∆t
satisfies kL(∆t) (·, t)k → 0 as ∆t → 0
Fundamentals 20
Conservation laws Finite volume methods Upwind schemes References
Qn+1
j = H(∆t) (Qnj−s , . . . , Qnj+s )
Definition (Stability)
For each time τ there is a constant CS and a value n0 ∈ N such that
kH(∆t) (Qn )k ≤ CS for all n∆t ≤ τ , n < n0
Definition (Consistency)
If the local truncation error
1 h i
L(∆t) (x, t) := q(x, t + ∆t) − H(∆t) (q(·, t))
∆t
satisfies kL(∆t) (·, t)k → 0 as ∆t → 0
Definition (Convergence)
If the global error E (∆t) (x, t) := Q(x, t) − q(x, t) satisfies kE (∆t) (·, t)k → 0 as
∆t → 0 for all admissible initial data q0 (x)
Fundamentals 20
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 21
Conservation laws Finite volume methods Upwind schemes References
∆t
Qn+1 = Qnj − F(Qnj−s+1 , . . . , Qnj+s ) − F(Qnj−s , . . . , Qnj+s−1 )
j
∆x
Fundamentals 21
Conservation laws Finite volume methods Upwind schemes References
∆t
Qn+1 = Qnj − F(Qnj−s+1 , . . . , Qnj+s ) − F(Qnj−s , . . . , Qnj+s−1 )
j
∆x
Fundamentals 21
Conservation laws Finite volume methods Upwind schemes References
∆t
Qn+1 = Qnj − F(Qnj−s+1 , . . . , Qnj+s ) − F(Qnj−s , . . . , Qnj+s−1 )
j
∆x
Splitting methods
Fundamentals 22
Conservation laws Finite volume methods Upwind schemes References
Splitting methods
Fundamentals 22
Conservation laws Finite volume methods Upwind schemes References
Splitting methods
Fundamentals 22
Conservation laws Finite volume methods Upwind schemes References
Splitting methods
Fundamentals 22
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Von Neumann stability analysis: Insert single eigenmode Q̂(t)e ik1 x1 e ik2 x2 into
discretization
Q̂ n+1 = Q̂ n +C1 Q̂ n e ik1 ∆x1 − 2Q̂ n + Q̂ n e −ik1 ∆x1 +C2 Q̂ n e ik2 ∆x2 − 2Q̂ n + Q̂ n e −ik2 ∆x2
∆t
with Cι = c ∆x 2 , ι = 1, 2,
ι
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Von Neumann stability analysis: Insert single eigenmode Q̂(t)e ik1 x1 e ik2 x2 into
discretization
Q̂ n+1 = Q̂ n +C1 Q̂ n e ik1 ∆x1 − 2Q̂ n + Q̂ n e −ik1 ∆x1 +C2 Q̂ n e ik2 ∆x2 − 2Q̂ n + Q̂ n e −ik2 ∆x2
∆t ikι xι = cos(k x ) + i sin(k x )
with Cι = c ∆x 2 , ι = 1, 2, which gives after inserting e ι ι ι ι
ι
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Von Neumann stability analysis: Insert single eigenmode Q̂(t)e ik1 x1 e ik2 x2 into
discretization
Q̂ n+1 = Q̂ n +C1 Q̂ n e ik1 ∆x1 − 2Q̂ n + Q̂ n e −ik1 ∆x1 +C2 Q̂ n e ik2 ∆x2 − 2Q̂ n + Q̂ n e −ik2 ∆x2
∆t ikι xι = cos(k x ) + i sin(k x )
with Cι = c ∆x 2 , ι = 1, 2, which gives after inserting e ι ι ι ι
ι
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Von Neumann stability analysis: Insert single eigenmode Q̂(t)e ik1 x1 e ik2 x2 into
discretization
Q̂ n+1 = Q̂ n +C1 Q̂ n e ik1 ∆x1 − 2Q̂ n + Q̂ n e −ik1 ∆x1 +C2 Q̂ n e ik2 ∆x2 − 2Q̂ n + Q̂ n e −ik2 ∆x2
∆t ikι xι = cos(k x ) + i sin(k x )
with Cι = c ∆x 2 , ι = 1, 2, which gives after inserting e ι ι ι ι
ι
Fundamentals 23
Conservation laws Finite volume methods Upwind schemes References
Outline
Conservation laws
Mathematical background
Characteristic information
Weak and entropy solutions
Characteristic form of the Euler equations
Navier-Stokes equations
Upwind schemes
The linear Riemann problem
Flux-difference splitting
Flux-vector splitting
Fundamentals 24
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 25
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 25
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 25
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 26
Conservation laws Finite volume methods Upwind schemes References
vL = vR − ∆v3 − ∆v2 − ∆v1 x/t < λ3
x
vL + ∆v3 = vR − ∆v2 − ∆v1 λ3 < x/t < λ2
v =
t vL + ∆v3 + ∆v2 = vR − ∆v1
λ2 < x/t < λ1
vL + ∆v3 + ∆v2 + ∆v1 = vR λ1 < x/t
Fundamentals 26
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 27
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 27
Conservation laws Finite volume methods Upwind schemes References
Fundamentals 27
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 28
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
t
Fundamentals 28
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
t
Use Riemann problem to evaluate numerical flux F(qL , qR ) := f(q(0, t)) = Aq(0, t) as
X X X X
F(qL , qR ) = AqL + am λm rm = AqR − am λ m r m = δ m λm r m + βm λm rm
λm <0 λm ≥0 λm ≥0 λm <0
Fundamentals 28
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
t
Use Riemann problem to evaluate numerical flux F(qL , qR ) := f(q(0, t)) = Aq(0, t) as
X X X X
F(qL , qR ) = AqL + am λm rm = AqR − am λ m r m = δ m λm r m + βm λm rm
λm <0 λm ≥0 λm ≥0 λm <0
Use λ+
m = max(λm , 0) , λ−m = min(λm , 0)
to define Λ+ := diag(λ1 , . . . , λ+
+
M) , Λ− := diag(λ− −
1 , . . . , λM )
Fundamentals 28
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
t
Use Riemann problem to evaluate numerical flux F(qL , qR ) := f(q(0, t)) = Aq(0, t) as
X X X X
F(qL , qR ) = AqL + am λm rm = AqR − am λ m r m = δ m λm r m + βm λm rm
λm <0 λm ≥0 λm ≥0 λm <0
Use λ+
m = max(λm , 0) , λ−m = min(λm , 0)
to define Λ+ := diag(λ1 , . . . , λ+
+
M) , Λ− := diag(λ− −
1 , . . . , λM )
and A+ := +
RΛ R ,−1 A := R Λ R−1
− − which gives
F(qL , qR ) = AqL + A ∆q = AqR − A ∆q = A+ qL + A− qR
− +
with ∆q = qR − qL
Fundamentals 28
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
∆t −
Qn+1
j = Qnj − A ∆Qnj+1/2 + A+ ∆Qnj−1/2
∆x
Fundamentals 29
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
∆t −
Qn+1
j = Qnj − A ∆Qnj+1/2 + A+ ∆Qnj−1/2
∆x
Use linearization f̄(q̄) = Â(qL , qR )q̄ and construct scheme for nonlinear
problem as
∆t − n n
Qn+1
j = Qnj − Â (Qj , Qj+1 )∆Qnj+ 1 + Â+ (Qnj−1 , Qnj )∆Qnj− 1
∆x 2 2
Fundamentals 29
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
∆t −
Qn+1
j = Qnj − A ∆Qnj+1/2 + A+ ∆Qnj−1/2
∆x
Use linearization f̄(q̄) = Â(qL , qR )q̄ and construct scheme for nonlinear
problem as
∆t − n n
Qn+1
j = Qnj − Â (Qj , Qj+1 )∆Qnj+ 1 + Â+ (Qnj−1 , Qnj )∆Qnj− 1
∆x 2 2
stability condition
∆t
max |λ̂m,j+ 12 | ≤1, for all m = 1, . . . , M
j∈Z ∆x
[LeVeque, 1992]
Fundamentals 29
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
ql qr
tn
Fundamentals 30
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
ql qr
tn
Fundamentals 30
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 30
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 30
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
1 X
= f(qL ) + f(qR ) − |λ̂m | am r̂m
2 m
Fundamentals 30
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 31
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 31
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 31
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
Fundamentals 32
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
f(qL ) , 0 < sL ,
sR f(qL ) − sL f(qR ) + sL sR (qR − qL )
FHLL (qL , qR ) = , sL ≤ 0 ≤ sR ,
sR − sL
f(qR ) , 0 > sR ,
Fundamentals 32
Conservation laws Finite volume methods Upwind schemes References
Flux-difference splitting
f(qL ) , 0 < sL ,
sR f(qL ) − sL f(qR ) + sL sR (qR − qL )
FHLL (qL , qR ) = , sL ≤ 0 ≤ sR ,
sR − sL
f(qR ) , 0 > sR ,
Euler equations:
Flux-vector splitting
Splitting
F(qL , qR ) = f + (qL ) + f − (qR )
f(q) = f + (q) + f − (q) tl+1
tl
qL qR
Fundamentals 33
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Splitting
F(qL , qR ) = f + (qL ) + f − (qR )
f(q) = f + (q) + f − (q) tl+1
∂f + (q) ∂f − (q) tl
Â+ (q) = , Â− (q) = qL qR
∂q ∂q
Fundamentals 33
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Splitting
F(qL , qR ) = f + (qL ) + f − (qR )
f(q) = f + (q) + f − (q) tl+1
∂f + (q) ∂f − (q) tl
Â+ (q) = , Â− (q) = qL qR
∂q ∂q
Then use
F(qL , qR ) = f + (qL ) + f − (qR )
Fundamentals 33
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Steger-Warming
Fundamentals 34
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Steger-Warming
Fundamentals 34
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Steger-Warming
Fundamentals 34
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Steger-Warming
Jacobians of the split fluxes are identical to A± (q) only in linear case
∂ A± (q) q
∂f ± (q) ∂A± (q)
= = A± (q) + q
∂q ∂q ∂q
Further methods: Van Leer FVS [Toro, 1999], AUSM [Wada and Liou, 1997]
Fundamentals 34
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
Fundamentals 35
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
and A− directly.
Fundamentals 35
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
and A− directly.
Approach 2: Analyze sign of eigenvalues:
u < −a : All eigenvalues are negative: u − a < u < u + a < 0
T
f − (q) = ρu, ρu 2 + p, ρuH , f + (q) = 0
Fundamentals 35
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
and A− directly.
Approach 2: Analyze sign of eigenvalues:
u < −a : All eigenvalues are negative: u − a < u < u + a < 0
T
f − (q) = ρu, ρu 2 + p, ρuH , f + (q) = 0
Fundamentals 35
Conservation laws Finite volume methods Upwind schemes References
Flux-vector splitting
and A− directly.
Approach 2: Analyze sign of eigenvalues:
u < −a : All eigenvalues are negative: u − a < u < u + a < 0
T
f − (q) = ρu, ρu 2 + p, ρuH , f + (q) = 0
Fundamentals 35
Conservation laws Finite volume methods Upwind schemes References
References
References I
[Godlewski and Raviart, 1996] Godlewski, E. and Raviart, P.-A. (1996). Numerical
approximation of hyperbolic systems of conservation laws. Springer Verlag, New
York.
[Kröner, 1997] Kröner, D. (1997). Numerical schemes for conservation laws. John
Wiley & Sons and B. G. Teubner, New York, Leipzig.
[Majda, 1984] Majda, A. (1984). Compressible fluid flow and systems of conservation
laws in several space variables. Applied Mathematical Sciences Vol. 53.
Springer-Verlag, New York.
[Roe, 1981] Roe, P. L. (1981). Approximate Riemann solvers, parameter vectors and
difference schemes. J. Comput. Phys., 43:357–372.
[Toro, 1999] Toro, E. F. (1999). Riemann solvers and numerical methods for fluid
dynamics. Springer-Verlag, Berlin, Heidelberg, 2nd edition.
[Toro et al., 1994] Toro, E. F., Spruce, M., and Speares, W. (1994). Restoration of
the contact surface in the HLL-Riemann solver. Shock Waves, 4:25–34.
Fundamentals 36
Conservation laws Finite volume methods Upwind schemes References
References
References II
[Wada and Liou, 1997] Wada, Y. and Liou, M.-S. (1997). An accurate and robust
flux splitting scheme for shock and contact discontinuities. SIAM J. Sci. Comp.,
18(3):633–657.
Fundamentals 37