Equations
Friedemann Kemm BTU Cottbus
kemm@math.tu-cottbus.de
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 10 20 15 25 30
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 10 20 15 25 30
0 10 20 30 40 50 60 70
Stability of Discrete Shock Profiles
1d:
• Post-shock oscillations (Quirk 1994; Jin & Liu 1996; Arora & Roe 1997, . . . )
• Godunov scheme: unstable discrete profiles (Bultelle, Grassin, Serre 1998)
⇒ tend to neighbouring stable profiles
2d:
• High resolution Riemann solvers produce unstable profiles (Dumbser, Moschetta, Gressier 2004)
• Same mechanism in Carbuncle and Odd-Even-Decoupling (Chauvat, Moschetta, Gressier 2005)
1d-Stability ↔ 2d-Stability
entropy
transport jump backwards
jump forward
original shock location
y
x
shear
wave
⇒ Stabilization by viscosity on linear waves parallel to shock front
HLLE Solver
x t
Sl Sr
ql qr
qHLL
• HLL: Constant intermediate state according to conservation
• HLLE: Natural choice of bounding speeds:
SL = min{u˜ − a, u˜ l − al,0} SR = max{u˜ + ˜a, ur + ar,0}
• High viscosity on shear and entropy waves
HLLEM
• Comparison of viscosity matrices
• With Roe eigenvalues as SL and SR
gRoe(qr,ql) = gHLL(qr,ql) − u˜2 − ˜a2
4˜a κ[˜lT2 ∆q˜r2 + ˜lT3 ∆q˜r3].
with
κ = 2˜a
˜
a + |u|˜
• Now for gHLL take SL, SR like for HLLE → HLLEM.
• Exact resolution of entropy- and shear waves (Park, Kwon 2002)
HLL as Modification of Roe
x
˜ t
u −a˜ u˜ − φ(θ) ˜a u˜ u˜ +φ(θ) ˜a u˜ + ˜a
• Harten Hyman type splitting of contact wave
• HLL for φ(θ) = 1
• Same flux with HLLEM and κ replaced by (1 − φ(θ))κ
Desirable Properties of the new Solver
• Exact Resolution of single discontinuities
• No carbuncle
• No information from neighbouring Riemann problems needed
flux to compute
strong shock?
strong shock?
Indicator for Entropy- and Shear Waves
Rankine-Hugoniot condition for single contact or shear wave:
f(qr) − f(ql) = ˜u(qr − ql)
Idea: Residual in Rankine-Hugoniot condition as indicator:
R := f(qr) − f(ql) − u(q˜ r − ql)
Relate to flow magnitudes:
θ =
R
˜ a
2
Completing the Switching Function
Viscosity bounded by HLL(E):
φ(θ) = min{1, θ}
Relax by some parameter:
φ(θ) = min{1, ε θ}
Less dangerous when flow component parallel to shock:
φ(θ) = min{1, ε θ max{0,1 − Muα}} , α > 0
Make φ concave (experimental):
φ(θ) = min{1,(ε θ max{0,1 − Muα})β} , 0 < β < 1
Application of the Switch
Roe:
• Split wave with u˜ into waves with u˜ − φ(θ)˜a and u˜ + φ(θ)˜a ⇒ RoeCC HLLEM:
• Multiply anti-diffusion coefficient κ by 1 − φ(θ) ⇒ HLLEMCC Both fluxes identical apart from entropy fix
Reasonable setting:
ε = 1
100 , α = β = 1 3
Quirk Test
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0 200 400 600 800 1000 1200 1400 1600
Quirk test: Godunov
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0 200 400 600 800 1000 1200 1400 1600
Quirk test: HLLEMCC, eps=0.01
Godunov HLLEMCC
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0 200 400 600 800 1000 1200 1400 1600
Quirk test: HLLEM
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0 200 400 600 800 1000 1200 1400 1600
Quirk test: HLLE
HLLEM HLLE
Steady Shock
0 1 2 3 4 5 6 7
0 10 20 30 40 50 60 70 80 90 100
steady shock, Godunov
0 1 2 3 4 5 6 7
0 10 20 30 40 50 60 70 80 90 100
steady shock, HLLEMCC
Godunov HLLEMCC
0 1 2 3 4 5 6 7 8
0 10 20 30 40 50 60 70 80 90 100
steady shock, HLLEM
0 1 2 3 4 5 6 7
0 10 20 30 40 50 60 70 80 90 100
steady shock, HLLE
HLLEM HLLE
Colliding Flow (2nd-Order)
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
Colliding flow: Godunov
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
Colliding flow: HLLEMCC
Godunov HLLEMCC
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
Colliding flow: HLLEM
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
Colliding flow: HLLE
HLLEM HLLE
Colliding Flow (2nd-Order)
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 10 15 20 25 30
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 10 15 20 25 30 0 10 20 30 40 50 60 70
Godunov HLLEMCC
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 15 10 20 25 30
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60 70
0 10 20 30 40 50 60
0 5 15 10 20 25 30 0 10 20 30 40 50 60 70
HLLEM HLLE
Sod Problem: Contact Discontinuity
0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42
0.6 0.65 0.7 0.75 0.8 0.85
HLLEMCC HLLEM HLLE
Conclusions
• No complete analysis available
• Possible to avoid carbuncle while retaining exact resolution of contact waves
• No information on neighbouring Riemann problems needed (efficiency)
• Steady profiles replaced by stable neighbouring profiles
Appendix
Comparison of Roe and HLLE Flux
Roe Flux
gRoe(qr, ql) = 1
2[f(qr) + f(ql)] − 1
2|A(q˜ r, ql)|(qr − ql)
HLLE Flux
gHLL(qr, ql) = 1
2[f(qr) + f(ql)] − 1 2
SR + SL
SR − SL[f(qr) − f(ql)] + SRSL
SR − SL(qr − ql)
If Roe Matrix exists
gHLL(qr, ql) = 1
2[f(qr) + f(ql)] − 1 2
SR + SL SR − SL
A(q˜ r, ql)(qr − ql) + SRSL
SR − SL(qr − ql)
Comparison of Viscosity Matrices
Roe
VRoe = |A(q˜ r, ql)|
HLLE
VHLL = SR + SL SR − SL
A(q˜ r, ql) − 2 SRSL SR − SLI
If SL eigenvalue of A˜ with eigenvector rl
VHLLr˜L = −SLr˜L
If SR eigenvalue of A˜ with eigenvector rr
VHLLr˜r = SRr˜r
Idea of HLLEM: Write Roe as Correction of HLL
• Choose SL, SR to be the Roe eigenvalues for the outer waves
• L˜ and R˜ Matrices with left/right eigenvectors of Roe matrix as rows/columns and L˜R˜ = I
• Find diagonal matrix K such that
VRoe = VHLL + SRSL SR − SL
RK˜ L˜
• Only entries for inner waves in K