Professional Documents
Culture Documents
These slides are partially based on the recommended textbook: Culbert B. Laney.
“Computational Gas Dynamics,” CAMBRIDGE UNIVERSITY PRESS, ISBN 0-521-62558-0
1 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 2 / 60
Outline
1 Conservative Finite Volume Methods in One Dimension
2 Introduction to Reconstruction-Evolution Methods
3 First-Order Upwind Reconstruction-Evolution Methods
Scalar Conservation Laws
Euler Equations
Roe’s First-Order Upwind Method for the Euler Equations
4 Introduction to Second- & Higher-Order Reconstruction-Evolution
Methods
5 The MUSCL/TVD Method
The Method of Lines
Flux Splitting
Second-Order Approximation
Van Leer’s Slope Limiter
6 Steger-Warming Flux Vector Splitting Method for the Euler Equations
7 Multidimensional Extensions
2 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 3 / 60
3 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 4 / 60
Conservative Finite Volume Methods in One Dimension
1
Z t n+1
fˆi+1/2
n
= f u(xi+1/2 , t) dt
∆t tn
6 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 7 / 60
Introduction to Reconstruction-Evolution Methods
7 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 8 / 60
Introduction to Reconstruction-Evolution Methods
then
Z t n+1 Z t n+1
1 1
fˆi+1/2
n
= f pe,i+1/2 (t) dt = ape,i+1/2 (t)dt
∆t tn ∆t tn
aūin
for 0 ≤ λa ≤ 1
= n
aūi+1 for − 1 ≤ λa ≤ 0
8 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 9 / 60
Introduction to Reconstruction-Evolution Methods
9 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 10 / 60
Introduction to Reconstruction-Evolution Methods
10 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 11 / 60
First-Order Upwind Reconstruction-Evolution Methods
Scalar Conservation Laws
=⇒ fˆi+1/2
n
= f uRiemann (xi+1/2 , t) = f (uRiemann (0)) (3)
where f uRiemann (xi+1/2 , t) is computed using any exact or
approximate Riemann solver and t is any arbitrary time t > t n
Many first-order upwind methods for scalar conservation laws are
based on (3)
11 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 12 / 60
First-Order Upwind Reconstruction-Evolution Methods
Scalar Conservation Laws
12 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 13 / 60
First-Order Upwind Reconstruction-Evolution Methods
Scalar Conservation Laws
waves at the left cell edge are right-running, counterparts at the right cell
edge are left-running
if the wave speeds are always positive, all waves originating from xi+1/2 are
right-running ⇒ fˆi+1/2
n = f uRiemann (xi+1/2 , t) = f (uin ) ⇒ FTBS
if the wave speeds are always negative, all waves originating from xi+1/2
are left-running ⇒ fˆi+1/2
n n ) ⇒ FTFS
= f uRiemann (xi+1/2 , t) = f (ui+1
the above is true for the exact Riemann solver or any reasonable
approximate Riemann solver ⇒ all first-order upwind methods based on
fˆi+1/2
n
= f uRiemann (xi+1/2 , t) are FTBS or FTFS except near sonic points
where the wave speeds change sign
1 Compressive sonic points typically occur inside stationary or slowly moving shocks.
13 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 14 / 60
First-Order Upwind Reconstruction-Evolution Methods
Euler Equations
where Fx WRiemann (xi+1/2 , t) is computed using any exact or
approximate Riemann solver and t is any arbitrary time t > t n
Many first-order upwind methods for the Euler equations are based
on (4)
14 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 15 / 60
First-Order Upwind Reconstruction-Evolution Methods
Euler Equations
Again, equation (4) assumes that the waves from different cell edges
do not interact (or at least that any interaction does not affect the
solution at the cell edges)
If λρ(A) ≤ 1, waves travel at most one grid cell per time-step: They
can interact, but the interactions cannot reach the cell edges during
a single time-step
Unlike in the case of scalar conservation laws where a compressive
point inside the cell must be present for waves to interact when
|λa(u)| ≤ 1, waves in the subsonic Euler equations interact routinely
for 1/2 ≤ ρ(A) ≤ 1 (since there are always right- and left-running
waves in subsonic flows)
λρ(A) ≤ 1 is also the CFL condition for all first-order upwind
methods
15 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 16 / 60
First-Order Upwind Reconstruction-Evolution Methods
Euler Equations
Upwind methods based on Fbxni+1/2 = Fx WRiemann (xi+1/2 , t)
if the wave speeds are always positive (as in some supersonic flows),
all waves originating from xi+1/2 are right-running
⇒ Fbxn = Fx WRiemann (xi+1/2 , t) = Fx (Win ) ⇒ FTBS
i+1/2
if the wave speeds are always negative (as in some supersonic flows),
all waves originating from xi+1/2 are left-running
⇒ Fbxni+1/2 = Fx WRiemann (xi+1/2 , t) = Fx (Wi+1
n
) ⇒ FTFS
the above is true for the exact Riemann solver or any reasonable
approximate Riemann solver2 ⇒ all first-order upwind methods based
on Fbxni+1/2 = Fx WRiemann (xi+1/2 , t) are FTBS or FTFS for
supersonic flows
− −
Fx (W (0)) ≈ ARL (WR − WL ) + Fx (WL ) → Fx (W (0)) − Fx (WL ) ≈ ARL (WR − WL )
+ +
Fx (W (0)) ≈ −ARL (WR − WL ) + Fx (WR ) → Fx (WR ) − Fx (W (0)) ≈ ARL (WR − WL )
16 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 17 / 60
First-Order Upwind Reconstruction-Evolution Methods
Euler Equations
17 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 18 / 60
First-Order Upwind Reconstruction-Evolution Methods
Roe’s First-Order Upwind Method for the Euler Equations
18 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 19 / 60
First-Order Upwind Reconstruction-Evolution Methods
Roe’s First-Order Upwind Method for the Euler Equations
It follows that
+ −
n
Fx (Wi+1 ) − Fx (Win ) = Ani+1/2 + Ani+1/2 (Wi+1
n
− Win )
20 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 21 / 60
Introduction to Second- & Higher-Order Reconstruction-Evolution Methods
21 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 22 / 60
Introduction to Second- & Higher-Order Reconstruction-Evolution Methods
22 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 23 / 60
Introduction to Second- & Higher-Order Reconstruction-Evolution Methods
23 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 24 / 60
Introduction to Second- & Higher-Order Reconstruction-Evolution Methods
24 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 25 / 60
The MUSCL/TVD Method
25 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 26 / 60
The MUSCL/TVD Method
The Method of Lines
∂Fx F
bx
s,i+1/2
(t) − F
bx
s,i−1/2
(t)
(xi , t) ≈
∂x ∆x
the above equation is called the semi-discrete finite volume/difference
approximation
Fbx is called the semi-discrete conservative numerical flux
s
the semi-discrete approximation comprises a system of ordinary
differential equations
in many cases, it is needed only at discrete time levels, in which case
it can be written as
bn
F bn
dWin xs,i+1/2 − Fxs,i−1/2
≈− (6)
dt ∆x
where Win = Wi (t n ) and F
bn n
xs,i+1/2 = Fxs,i+1/2 (t )
b
26 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 27 / 60
The MUSCL/TVD Method
The Method of Lines
Temporal Discretization
any ordinary differential equation solver (time-integration algorithm)
can be used to solve Eq. (6)
in other words, space is frozen and time is discretized
the resulting approximation — for example using FT
bn
F bn
Win+1 − Win xi+1/2 − Fxi−1/2
=
∆t ∆x
is called the fully discrete finite difference approximation, and F
bx is
called the fully discrete conservative numerical flux
The two-stage approximation procedure described above is
sometimes called the method of lines, where the lines are the
coordinate lines x = cst and t = cst
27 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 28 / 60
The MUSCL/TVD Method
Flux Splitting
Fx (W ) = Fx+ (W ) + Fx− (W )
Leads to
Therefore, one needs to approximate Fx+ W (xi+1/2 , t n ) — or
n
equivalently, W (xi+1/2
, t ) — with a leftward bias, nand
− n
Fx W (xi+1/2 , t ) — or equivalently, W (xi+1/2 , t ) — with a
rightward bias
28 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 29 / 60
The MUSCL/TVD Method
Second-Order Approximation
u(xi+1/2 , t n ) ≈ ūin
n+ 1 n+ n
ui+1/2 = ūin + n
φ (ūi − ūi−1 )
2 i
and a second-order accurate reconstruction (φ 6= 0) in the smooth
regions of the flow
29 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 30 / 60
The MUSCL/TVD Method
Second-Order Approximation
30 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 31 / 60
The MUSCL/TVD Method
Second-Order Approximation
u(xi+1/2 , t n ) ≈ ūi+1
n
n− n 1 n− n n
ui+1/2 = ūi+1 − φ (ūi+2 − ūi+1 )
2 i+1
where the superscript n− refers to time t n and the rightward bias
31 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 32 / 60
The MUSCL/TVD Method
Second-Order Approximation
Applying the method of lines yields
bn
F bn
dWin xs,i+1/2 − Fxs,i−1/2
= −
dt ∆x
where
bn + n+ − n−
Fxs,i+1/2 = Fx W (u ) + Fx W (u )
i+1/2 i+1/2
+
n 1 n+ n n
−
n 1 n− n n
= Fx W ūi + φi (ūi − ūi−1 ) + Fx W ūi+1 − φ (ūi+2 − ūi+1 )
2 2 i+1
dWin 1 + n 1 n+ n n
−
n 1 n− n n
⇒ = − Fx W ūi + φi (ūi − ūi−1 ) + Fx W ūi+1 − φ (ūi+2 − ūi+1 )
dt ∆x 2 2 i+1
1 + n 1 n+ n n
−
n 1 n− n n
+ Fx W ūi−1 + φi−1 (ūi−1 − ūi−2 ) + Fx W ūi − φ (ūi+1 − ūi )
∆x 2 2 i
1
+
n 1 n+ n n
+
n 1 n+ n n
= − F x W ūi + φi (ūi − ūi−1 ) − Fx W ūi−1 + φi−1 (ūi−1 − ūi−2 )
∆x
2 2
| {z }
+ n
∆fˆ
i−1/2
1 − n 1 n− n 1
n − n n− n n
− F
x W ū i+1 − φ ( ūi+2 − ū i+1 ) − F x W ū i − φ (ū i+1 − ū i )
∆x 2 i+1 2 i
| {z }
− n
∆fˆ
i+1/2
32 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 33 / 60
The MUSCL/TVD Method
Second-Order Approximation
33 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 34 / 60
The MUSCL/TVD Method
Van Leer’s Slope Limiter
Note that
rin± ≥ 0 if the solution u is monotone increasing or monotone
decreasing
rin± ≤ 0 if the solution u has a maxium or a minimum
|rin+ | is large and |rin− | is small if the solution differences decrease
n
dramatically from left to right or if ui+1 ≈ uin
|rin+ | is small and |rin− | is large if the solution differences increase
n
dramatically from left to right or if ui−1 ≈ uin
34 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 35 / 60
The MUSCL/TVD Method
Van Leer’s Slope Limiter
Very large or very small ratios |rin± | sometimes signal shocks, but
not always
n
for example, if ui+1 − uin = 0 and uin − ui−1
n
6= 0, then |rin+ | = ∞
regardless of whether the solution is smooth or shocked
in general, because there is only limited information contained in
solution samples, no completely reliable way to distinguish shocks
from smooth regions exists
consequently, slope-limited methods do not even attempt to identify
shocks: Instead, they regulate maxima and minima — whether or
not they are associated with shocks — using the nonlinear stability
conditions (for example, TVD)
35 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 36 / 60
The MUSCL/TVD Method
Van Leer’s Slope Limiter
Note that φ(1) = 1 (no slope limiting if the solution behaves locally as a linear function)
Note also that lim φ(r ) = 2
r →∞
Equipping the scheme described in the previous pages with
n± n−/+
φi = φ(ri )
n−/+
(explain why in this case it is φ(ri ) and not φ(rin± )) makes it:
TVD and therefore nonlinearly stable
second-order accurate in monotone regions of the flow (proof given in class)
in practice, between first-order and second-order accurate at extrema
36 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 37 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
Fx (W ) = Fx+ (W ) + Fx− (W )
dFx+ dFx−
≥ 0, ≤0
dW dW
Hence, the flux split form of the Euler equations is
∂W ∂Fx+ ∂Fx−
+ + =0
∂t ∂x ∂x
∂Fx+
Then, can be discretized conservatively using at least one
∂x
∂Fx−
point to the left — for example, using BS — and can be
∂x
discretized conservatively using at least one point to the right — for
example, using FS — thus obtaining conservation and satisfaction of
the CFL condition
37 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 38 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
A(W ) = A+ (W ) + A− (W )
A+ (W ) ≥ 0, A− (W ) ≤ 0
Then, the vector conservation law can be written in wave speed split
form as
∂W ∂W ∂W
+ A+ + A− =0
∂t ∂x ∂x
where the matrices A+ and A− are usually obtained by splitting the
eigenvalues of A into positive and negative parts
− −
λi = λ+
i + λi , λ+
i ≥ 0, λi ≤ 0
=⇒ Λ = Λ+ + Λ− , Λ+ ≥ 0, Λ− ≤ 0
38 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 39 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
QAQ −1 = Λ ⇒ A = Q −1 ΛQ
where λ1 = vx λ 2 = vx + c λ 3 = vx − c
and
ρ ρ
− 2c
1 2c
ρ ρ
Q −1 vx 2c (vx + c) − 2c (vx − c)
= 2
2 2
2
2
vx ρ vx c ρ vx c
2 2c 2 + γ−1 + cvx − 2c 2 + γ−1 − cv x
v2 2
ρ ρ
c − 2 + γ−1
x c
c vx − ρc
γ−1 vx2 cvx c
Q =
2 − γ−1 −vx + γ−1 1
ρc
v2 cvx c
− 2x − γ−1 vx + γ−1 −1
A = A+ + A− , A+ ≥ 0, A− ≤ 0
A+ = Q −1 Λ+ Q ≥ 0, A− = Q −1 Λ− Q ≤ 0
39 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 40 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
1
γ−1 ±
Fx± = ρλ1 vx
γ 1 2
v
2 x
1
ρ ± vx + c
+ λ2
2γ 1 2 c2
v + γ−1
2 x
+ cvx
1
ρ ± vx − c
+ λ3
2γ 1 2 c2
v + γ−1
2 x
− cvx
3 Lerat (1983): dFx+ /dW ≥ 0 and dFx− /dW ≤ 0
40 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 41 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
Practical implementation
compute at each grid point (or in each cell)
1 1
λ+
i = max(0, λi ) = (λi + |λi |), λ− (λi − |λi |)
i = min(0, λi ) =
2 2
(7)
compute at each grid point (or in each cell) the Mach number
vx
M=
c
if M ≤ −1
Fx+ = 0, Fx− = Fx
if −1 ≤ M ≤ 0
1
ρ vx + c
Fx+ = (vx + c)
2γ 1 2 c2
v + γ−1 + cvx
2 x
1
1
γ−1 ρ vx − c
Fx− = ρvx vx + (vx − c)
γ 1 2
v 2γ 1 2
v + c2
− cv
2 x 2 x γ−1 x
41 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 42 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
if M > 1
Fx+ = Fx , Fx− = 0
42 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 43 / 60
Steger-Warming Flux Vector Splitting Method for the Euler Equations
43 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 44 / 60
Multidimensional Extensions
∂W ∂Fx (W ) ∂Fy (W )
+ + =0 (8)
∂t ∂x ∂y
and on unstructured triangular meshes
44 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 45 / 60
Multidimensional Extensions
45 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 46 / 60
Multidimensional Extensions
2D cell-centered grid
46 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 47 / 60
Multidimensional Extensions
2D vertex-based grid
47 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 48 / 60
Multidimensional Extensions
48 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 49 / 60
Multidimensional Extensions
49 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 50 / 60
Multidimensional Extensions
the cell edge ∂Cij , which is attached to the edge ij, is itself the union
of two segments Mij Gijk and Mij Gijn
50 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 51 / 60
Multidimensional Extensions
X 1 Z t n+1
!
1 →
−
Z
= − F ·~
νi? dΓi dt (10)
?
∆t t n kCi k ∂Ci?
52 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 53 / 60
Multidimensional Extensions
Which leads to
\n
∂W X ∆t
n
∆t =− Fbi? (11)
∂t i ?
kCi k
where
t n+1 Z
→
−
Z Z
n 1 1
Wi ≈ Wi (x, y , t n )dΩ, n
Fbi? ≈ F · ~νi? dΓi dt
kCi k Ci ∆t tn ∂Ci?
(12)
Eq. (11) is the 2D extension of Eq. (1), and definitions (12) are the
2D extensions of definitions (2)
53 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 54 / 60
Multidimensional Extensions
I
z }| !{
1
Z t n+1 Z
→
−
bn
Hence, F ≈ F (W ) · ~
νi? dΓi dt
i?
∆t tn ∂Ci?
→
−
Z
A popular approximation of I is I ≈ F (W (Mi? , t)) · ~
νi? dΓi
∂Ci?
t n+1
!
bn ≈ 1 →
−
Z Z
=⇒ F i? F (W (Mi? , t)) · ~
νi? dΓi dt is constructed in 2D similarly
∆t tn ∂Ci?
1
Z t n+1
bn
to how Fx ≈ Fx W (xi+1/2 , t) dt in constructed in 1D
i+1/2 ∆t tn
54 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 55 / 60
Multidimensional Extensions
bn = → − →
−
Z
(1) (1) (2) (2)
F i? F (WRiemann (Mi? , t)) · νi? dΓi = F (WRiemann (Mi? , t)) · l ~
~ νi? + l ~ νi?
∂Ci?
bn
are the 2D extensions of 1D upwind methods based on Fx = Fx WRiemann (xi+1/2 , t)
i+1/2
Let
(1) (1) (2) (2)
ν˜i? =
~ l ~
νi? + l ~
νi?
Normalize
◦ ν˜ij
~
ν˜ij =
~
ν˜ij k2
k~
55 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 56 / 60
Multidimensional Extensions
~0 T
(τ · e~x ) T
(Rx (W ) Ry (W ) Rz (W )) =
(τ · e~y ) T
(τ · e~z ) T
(τ · ~v + κ∇T ) T
56 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 57 / 60
Multidimensional Extensions
→
−
Computation of F (WRiemann (Mij , t)) (Method #1))
extension of Roe’s one-dimensional (1D) approximate Riemann solver to 3D
◦
consider the multidimensional flux in the direction of ~ ν˜ij
→
− ◦ ◦ ◦ ◦ T
F~˜◦ = F · ~
ν ν˜ij = (ρv~ ˜ ◦ ρvx v~
ν ν ν˜ij x ρvy v~
˜ ◦ +p~ ˜ ◦ +p~
ν ν˜ij y ρvz v~ ν˜ij z (E +p)v~
˜ ◦ +p~
ν ˜◦ )
ν
ij |{z} |{z} ij ij ij ij ij
|{z} 5×3
5×1 3×1
◦ ◦ ◦
ν˜ij x + vy ~
˜ ◦ = vx ~
where v~
ν ν˜ij y + vz ~
ν˜ij z
ij
Roe’s averages are based in this case on the secant approximation defined by
F~˜ ◦ (Wi ) − F~
ν ˜ ◦ (Wj ) = A~
ν ν˜ ◦ (Wij )( Wi − Wj )
ij ij ij |{z} |{z}
5×1
|{z}
5×1
5×5
∂F~
˜◦
ν ij
where A~
˜◦ =
ν , which gives
ij ∂W
√ √ √ √ √ √
ρi vxi + ρj vxj ρi vyi + ρj vyj ρi vzi + ρj vzj
vxij = √ √ vyij = √ √ vzij = √ √
ρi + ρj ρi + ρj ρi + ρj
H H
√i
ρi + √ρj √ √
ρi hi + ρj hj
j √
hij = √ √ = √ √ ρij = ρi ρj
ρi + ρj ρi + ρj
s
1
=⇒ cij = (γ − 1) hij − (vx2 + vy2 + vz2 )
2 ij ij ij
the eigenvalues of A~
ν ˜ ◦ ± c, and v~
˜ ◦ are: v~
ν ˜ ◦ with multiplicity 3
ν
ij ij ij
57 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 58 / 60
Multidimensional Extensions
→
−
Computation of F (WRiemann (Mij , t)) (Method #1))
extension of Roe’s 1D approximate Riemann solver to 3D (continue)
formulate Roe’s multidimensional approximate Riemann problem:
∂W ∂W
˜ ◦ (Wij )
+ A~
ν = 0, where s is the abscissa along ~
ij, with uniform initial
∂t ij ∂s
| {z } | {z } | {z }
5×1 5×5 5×1
conditions on an infinite spatial domain, except for a single jump discontinuity
compute Roe’s flux
1 1
→
−
˜
F WRiemann (Mij , t) = F ◦ (W ) + F ◦ (W ) −
~˜ i ˜ j |A ˜ ◦ (Wij )|( Wj − Wi ) k~
ν ijk2
ν ij ~
ν ij ~
ν ij
| {z } 2 2 |{z} |{z}
| }
5×1
{z } | {z | {z }
5×1 5×1
5×1 5×1 5×5
58 / 60
AA214B: NUMERICAL METHODS FOR COMPRESSIBLE FLOWS 59 / 60
Multidimensional Extensions
→
−
Computation of F WRiemann (Mij , t) (Method #2))
comp 1 2 T
along the edge ij, “compress” the conservative fluid state vector to obtain W = (ρ ρvn ρe + ρvn ) , where
| {z } 2
3×1
vn = ~v ·~˜◦, ~
ν ij v denotes the fluid velocity vector, and comp stands for “compressed”
comp comp
along the edge ij, formulate Roe’s 1D approximate Riemann problem using W and W , and solve this
i j
1 T
comp comp 2
problem to obtain W (M , t) = W = ρRiemann (ρvn )Riemann (ρe + ρvn )Riemann
Riemann ij Riemann 2
now, given that the fluid velocity vector ~
v can be decomposed as ~ v = vn ~˜◦
ν + v − vn ~
(~ ˜ ◦ ) , it follows
ν
ij ij
| {z } | {z }
normal direction tangential direction
that (Roe’s) 1D approximate Riemann problem along the edge ij acts only on vn and therefore modifies only the
component of ~ v along ~˜◦
ν ij
next, “expand” ~vRiemann as
~
v
exp ˜ ◦ + (~
= vRiemann ~
ν ˜ ◦ )average = v exp
v − vn ~
ν ~
e +v
exp
~
e +v
exp
~
e
Riemann n ij ij Riemannx x Riemanny y Riemannz z
Note that
→
−
(1) (2)
Fbijn = F (WRiemann (Mij , t)) · l (1)~νij + l (2)~νij
→
−
(1) (2)
Fbjin = F (WRiemann (Mij , t)) · l (1)~νji + l (2)~νji
Since ~νji = −~νij , it follows that
Fbjin = −Fbijn
=⇒ Fbijn + Fbjin = 0 =⇒ Fbij is a conservative numerical flux
60 / 60