A Carbuncle-free Roe-Type Solver for the Euler Equations Friedemann Kemm BTU Cottbus kemm@math.tu-cottbus.de 70 70 60 60 70 70 50 50 60 60 40 40 50 50 30 30 40 40 20 20 30 30 10 10 20 20 0 0 10 10 0 0 30 30 25 25 20 20 15 15 10 10 5 5 60 60 0 40 50 0 40 50 20 30 20 30 0 10 0 10
Friedemann Kemm BTU Cottbus 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) 1
Friedemann Kemm BTU Cottbus 1d-Stability ↔ 2d-Stability original shock location jump backwards entropy shear wave y transport jump forward x ⇒ Stabilization by viscosity on linear waves parallel to shock front 2
Friedemann Kemm BTU Cottbus HLLE Solver t S l q HLL S r q l q r x • HLL: Constant intermediate state according to conservation • HLLE: Natural choice of bounding speeds: S L = min { ˜ u − ˜ a, u l − a l , 0 } S R = max { ˜ u + ˜ a, u r + a r , 0 } • High viscosity on shear and entropy waves 3
Friedemann Kemm BTU Cottbus HLLEM • Comparison of viscosity matrices • With Roe eigenvalues as S L and S R u 2 − ˜ a 2 g Roe ( q r , q l ) = g HLL ( q r , q l ) − ˜ κ [˜ r 2 +˜ l T l T 2 ∆ q ˜ 3 ∆ q ˜ r 3 ] . 4˜ a with 2˜ a κ = ˜ a + | ˜ u | • Now for g HLL take S L , S R like for HLLE → HLLEM. • Exact resolution of entropy- and shear waves (Park, Kwon 2002) 4
Friedemann Kemm BTU Cottbus HLL as Modification of Roe t u − ˜ ˜ u − φ ( θ ) ˜ ˜ a u + φ ( θ ) ˜ ˜ a u + ˜ ˜ a ˜ a u x • Harten Hyman type splitting of contact wave • HLL for φ ( θ ) = 1 • Same flux with HLLEM and κ replaced by (1 − φ ( θ )) κ 5
Friedemann Kemm BTU Cottbus 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? ✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡ ✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠ ✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠ ✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡ ✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝ ✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆ ✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡✁✡ ✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠✁✠ ✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝✁✝ ✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆✁✆ 6
Friedemann Kemm BTU Cottbus Indicator for Entropy- and Shear Waves Rankine-Hugoniot condition for single contact or shear wave: f ( q r ) − f ( q l ) = ˜ u ( q r − q l ) Idea: Residual in Rankine-Hugoniot condition as indicator: R := f ( q r ) − f ( q l ) − ˜ u ( q r − q l ) Relate to flow magnitudes: � R � � θ = � � ˜ a � 2 7
Friedemann Kemm BTU Cottbus 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 − M α u }} , α > 0 Make φ concave (experimental): φ ( θ ) = min { 1 , ( ε θ max { 0 , 1 − M α u } ) β } , 0 < β < 1 8
Friedemann Kemm BTU Cottbus Application of the Switch Roe: • Split wave with ˜ u into waves with ˜ u − φ ( θ )˜ a and ˜ u + φ ( θ )˜ ⇒ RoeCC a HLLEM: • Multiply anti-diffusion coefficient κ by 1 − φ ( θ ) ⇒ HLLEMCC Both fluxes identical apart from entropy fix Reasonable setting: 1 α = β = 1 ε = 100 , 3 9
Friedemann Kemm BTU Cottbus Quirk Test Quirk test: Godunov Quirk test: HLLEMCC, eps=0.01 5.5 5.5 5 5 4.5 4.5 4 4 3.5 3.5 3 3 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0 200 400 600 800 1000 1200 1400 1600 0 200 400 600 800 1000 1200 1400 1600 Godunov HLLEMCC Quirk test: HLLEM Quirk test: HLLE 5.5 5.5 5 5 4.5 4.5 4 4 3.5 3.5 3 3 2.5 2.5 2 2 1.5 1.5 1 1 0.5 0.5 0 200 400 600 800 1000 1200 1400 1600 0 200 400 600 800 1000 1200 1400 1600 HLLEM HLLE 10
Friedemann Kemm BTU Cottbus Steady Shock steady shock, Godunov steady shock, HLLEMCC 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100 Godunov HLLEMCC steady shock, HLLEM steady shock, HLLE 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100 HLLEM HLLE 11
Friedemann Kemm BTU Cottbus Colliding Flow (2nd-Order) Colliding flow: Godunov Colliding flow: HLLEMCC 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0 0 10 20 30 40 50 60 0 10 20 30 40 50 60 Godunov HLLEMCC Colliding flow: HLLEM Colliding flow: HLLE 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0 0 10 20 30 40 50 60 0 10 20 30 40 50 60 HLLEM HLLE 12
Friedemann Kemm BTU Cottbus Colliding Flow (2nd-Order) 70 70 60 60 70 70 50 50 60 60 40 40 50 50 30 30 40 40 20 20 30 30 10 10 20 20 0 0 10 10 0 0 30 30 25 25 20 20 15 15 10 10 5 5 50 60 50 60 0 30 40 0 30 40 10 20 10 20 0 0 Godunov HLLEMCC 70 70 60 60 70 70 50 50 60 60 40 40 50 50 30 30 40 40 20 20 30 30 10 10 20 20 0 0 10 10 0 0 30 30 25 25 20 20 15 15 10 10 5 5 60 60 0 40 50 0 40 50 20 30 20 30 0 10 0 10 HLLEM HLLE 13
Friedemann Kemm BTU Cottbus Sod Problem: Contact Discontinuity HLLEMCC 0.42 HLLEM HLLE 0.4 0.38 0.36 0.34 0.32 0.3 0.28 0.26 0.6 0.65 0.7 0.75 0.8 0.85 14
Friedemann Kemm BTU Cottbus 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 15
Recommend
More recommend