1/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Exact Riemann solver for the Euler Equations
with nonconvex Equation of State
and Phase Transition
Alexander Voß ∗
∗ partially supported by the DFG-ANumE project
2/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Content
• Idea of the project: An exact Riemann solver
– Verification of numerical Riemann solvers
– Design of test configurations
• The Riemann Problem
• Software Concepts
• Numerical Examples
• Summary and Conclusion
2/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Content
• Idea of the project: An exact Riemann solver
• The Riemann Problem
– Scalar Case
– Euler equations
• Software Concepts
• Numerical Examples
• Summary and Conclusion
2/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Content
• Idea of the project: An exact Riemann solver
• The Riemann Problem
• Software Concepts
– Library xrms
– Template Metaprogramming
• Numerical Examples
• Summary and Conclusion
2/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Content
• Idea of the project: An exact Riemann solver
• The Riemann Problem
• Software Concepts
• Numerical Examples
– Numerical Riemann solvers
– Expanding liquefaction shock
• Summary and Conclusion
2/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Content
• Idea of the project: An exact Riemann solver
• The Riemann Problem
• Software Concepts
• Numerical Examples
• Summary and Conclusion
3/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem
qt + f(q)x = 0q : R+ × R → Rm
f : Rm → Rm
with state vector q and flux function f;
Initial Riemann data
q0(x) =
{ql x < 0
qr x > 0
System is assumed to be strictly hyperbolic, i.e.,
λ1(q) < · · · < λm(q) for all q;
4/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem - scalar
f scalar function (m = 1) ⇒ λ(q) = λ1(q) = f′(q)
λ′(q) = f′′(q)
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
q
start with convex flux function,i.e., f′′ > 0 (like Burgers eq.)
flux function
4/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem - scalar
f scalar function (m = 1) ⇒ λ(q) = λ1(q) = f′(q)
λ′(q) = f′′(q)
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqlqr
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
ql
qr
q(1, x)
-1 -0.5 0 0.5 100.5
1t
x
t1
charact.
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
ql
qr
q0(x)
flux function shock wave
4/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem - scalar
f scalar function (m = 1) ⇒ λ(q) = λ1(q) = f′(q)
λ′(q) = f′′(q)
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqrql
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
xql
qr
q(1, x)
-1 -0.5 0 0.5 100.5
1t
x
t1
charact.
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
qr
ql
q0(x)
flux function rarefaction wave
5/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - convex I
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqlqr
1
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
qlqr1
q(1, x)
0.30.40.50.60.70.2
0.4
0.6
0.8
1s
x
speed
flux function shock dynamic
5/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - convex I
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqlqr
2
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
ql
qr2
q(1, x)
0.30.40.50.60.70.2
0.4
0.6
0.8
1s
x
speed
flux function shock dynamic
5/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - convex I
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqlqr
3
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
ql
qr3 q(1, x)
0.30.40.50.60.70.2
0.4
0.6
0.8
1s
x
speed
flux function shock dynamic
5/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - convex I
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqlqr
4
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
x
ql
qr4
q(1, x)
0.30.40.50.60.70.2
0.4
0.6
0.8
1s
x
speed
flux function shock dynamic
Collect shock states in an one-dimensional wave curve, i.e.,
H(q̄) = {q : ∃σ with σ (q− q̄) = f(q)− f(q̄) (Rankine-Hugoniot C.)}
consider admissible part, i.e., σ′ ≤ 0 (Liu’s Entropy C.)
6/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - convex II
0.2 0.3 0.4 0.5 0.6 0.7
0.6
0.7
0.8f
qqr4ql
-1 -0.5 0 0.5 1
0.30.40.50.60.7
q
xql
qr4
q(1, x)
0.3 0.4 0.5 0.6 0.7
-0.5
0
0.5
1s
x
speed
flux function rarefaction dynamic
Collect rarefaction states analogously, i.e.,
R(q̄) =integral curve along r, with q̄ ∈ R(q̄)
consider admissible part, i.e., λ′ ≥ 0
7/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curve W(ql) with qr ∈ W(ql).
“convex” case - wave speeds σ and λ are monotone;- wave curve W is of type shock (H) or
rarefaction (R);
7/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curve W(ql) with qr ∈ W(ql).
“convex” case - wave speeds σ and λ are monotone;- wave curve W is of type shock (H) or
rarefaction (R);
“nonconvex” c. - wave speeds σ and λ are no longer monotone;- wave curve is composed of wave parts;- new wave part of type composite (C) is
needed;
7/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curve W(ql) with qr ∈ W(ql).
“convex” case - wave speeds σ and λ are monotone;- wave curve W is of type shock (H) or
rarefaction (R);
“nonconvex” c. - wave speeds σ and λ are no longer monotone;- wave curve is composed of wave parts;- new wave part of type composite (C) is
needed;
“nonsmooth” c. - wave speed λ may be discontinuous;- wave curve is still continuous;- wave part types R, H and C are sufficient;
7/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curve W(ql) with qr ∈ W(ql).
Key ingredients for solving the Riemann problem arethe monotonicity properties of the wave speeds!
8/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex I
1 1.2 1.4 1.6 1.8 2 2.2
0
0.2
0.4
0.6
0.8
1
f
qqlqr
4
-2 -1.5 -1 -0.5 0
11.21.41.61.8
2q
x
ql
qr4 q(1, x)
11.21.41.61.82
-1
-0.5
0s
x
speed
flux function sonic shock
shock speed minimal ⇐⇒ shock speed=characteristic speed (Liu)
8/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex I
1 1.2 1.4 1.6 1.8 2 2.2
0
0.2
0.4
0.6
0.8
1
f
qqr5 ql
-2 -1.5 -1 -0.5 0
11.21.41.61.8
2q
x
ql
qr5
q(1, x)
11.21.41.61.82
-1
-0.5
0s
x
speed
flux function sonic shock
shock speed minimal ⇐⇒ shock speed=characteristic speed (Liu)
9/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex II
0 0.2 0.4 0.6 0.8 1
0.6
0.8
1
f
qqr1 ql
-1 -0.5 0 0.5 1 1.5 2
0
0.5
1
q
x
qlqr1
q(1, x)
00.20.40.60.810
0.5
1s
x
speed
flux function composites
9/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex II
0 0.2 0.4 0.6 0.8 1
0.6
0.8
1
f
qqlqr
2
-1 -0.5 0 0.5 1 1.5 2
0
0.5
1
q
x
ql
qr2
q(1, x)
00.20.40.60.810
0.5
1s
x
speed
flux function composites
Collect composite states, i.e.,
C(R) = { q : ∃ q∗ ∈ R, q ∈ H(q∗) and q is the
first state on H(q∗) with λ(q∗) = σ(q∗, q) }.
consider admissible part, i.e., σ′ ≤ 0 (Liu’s Entropy C.)
9/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex II
0 0.2 0.4 0.6 0.8 1
0.6
0.8
1
f
qqlqr
3
-1 -0.5 0 0.5 1 1.5 2
0
0.5
1
q
x
ql
qr3 q(1, x)
00.20.40.60.810
0.5
1s
x
speed
flux function composites
Collect composite states, i.e.,
C(R) = { q : ∃ q∗ ∈ R, q ∈ H(q∗) and q is the
first state on H(q∗) with λ(q∗) = σ(q∗, q) }.
consider admissible part, i.e., σ′ ≤ 0 (Liu’s Entropy C.)
9/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonconvex II
0 0.2 0.4 0.6 0.8 1
0.6
0.8
1
f
qqlqr
4
-1 -0.5 0 0.5 1 1.5 2
0
0.5
1
q
x
ql
qr4
q(1, x)
00.20.40.60.810
0.5
1s
x
speed
flux function composites
Collect composite states, i.e.,
C(R) = { q : ∃ q∗ ∈ R, q ∈ H(q∗) and q is the
first state on H(q∗) with λ(q∗) = σ(q∗, q) }.
consider admissible part, i.e., σ′ ≤ 0 (Liu’s Entropy C.)
10/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth I
0.8 1 1.20.7
0.8
0.9
1
f
qqlqr
1
-1 -0.5 0 0.5 10.5
1
q
x
ql
qr1 q(1, x)
0.80.911.11.2
-1-0.5
00.5
1
s
q
speed
flux function rarefaction split
jump in λ leads to wave splitting
11/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth II
2.6 2.8 3 3.2 3.40
0.5
1
1.5
f
qqlqr
1
-3 -2 -1 0 1 2 32.5
3
q
x
ql
qr1
q(1, x)
2.62.833.23.4
-10123s
q
speed
flux function wave splitting
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
1
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr1
wave struct.:
R[m]1 [ ] C
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
2
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr2
wave struct.:
R[m]1 [ ]
C[e]1
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
3
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr3
wave struct.:
R[m]1
C[-]1 [ ] H, ↑ s1
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
4
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr4
wave struct.:
R[m]1
C[-]1
H[e]1 [s1]
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
5
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr5
wave struct.:
R[m]1
C[-]1
H[C]1 [s1] C, ↓
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
6
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr6
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1 [ ] R, ↑ s1
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
7
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr7
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2 [s1] C
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
8
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr8
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2
C[e]2 [s1]
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
9
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr9
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2
C[b]2 [s1] H
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
10
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr10
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2
C[b]2
H[C]2 [s1] C, ↓
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
11
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr11
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2
C[b]2
H[C]2
C[e]1 [ ]
12/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave speeds - nonsmooth III
-1 0 1 2 3 4 5
0
1
2
f
qqlqr
12
-1012345
-1
0
1
2
3
s
q-4 -2 0 2 4
-1
0
1
2
3
4
5q
x
ql
qr12
wave struct.:
R[m]1
C[-]1
H[C]1
C[+]1
R[m]2
C[b]2
H[C]2
C[m]1
R[e]3 [ ]
13/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Terminating conditions
types of wave parts and conditions in effect
R s′ > 0, curve is smooth
H s′ < 0, s 6= s[old]
C s′ < 0, s 6= s[old], origin of corresponding R is not reached
abbreviations for terminating conditions succ. remark
R[m] monotonicity (m) of s broken, i.e., s′ = 0 C
R[++] phase boundary crossed, s′+ > 0, s+ > s− R push s−
R[+-] phase boundary crossed, s′+ > 0, s+ < s− C
R[-+] phase boundary crossed, s′+ < 0, s+ > s− H push s−
R[--] phase boundary crossed, s′+ < 0, s+ < s− C
13/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Terminating conditions
types of wave parts and conditions in effect
R s′ > 0, curve is smooth
H s′ < 0, s 6= s[old]
C s′ < 0, s 6= s[old], origin of corresponding R is not reached
abbreviations for terminating conditions succ. remark
H[m] monotonicity (m) broken, i.e., s′ = 0 R push s−
H[+] phase boundary crossed, s′+ > 0, s+ > s− R push s−
H[-] phase boundary crossed, s′+ < 0, s+ > s− H push s−
H[R] overtaken by R, i.e., s = s[old] C pop
H[H] overtaken by H, i.e., s = s[old] H pop
H[C] overtaken by C, i.e., s = s[old] C pop
13/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Terminating conditions
types of wave parts and conditions in effect
R s′ > 0, curve is smooth
H s′ < 0, s 6= s[old]
C s′ < 0, s 6= s[old], origin of corresponding R is not reached
abbreviations for terminating conditions succ. remark
C[m] monotonicity (m) broken, i.e., s′ = 0 R push s−
C[+] phase boundary crossed, s′+ > 0, s+ > s− R push s−
C[-] phase boundary crossed, s′+ < 0, s+ > s− H push s−
C[H] overtaken by H, i.e., s = s[old] H pop
C[C] overtaken by C, i.e., s = s[old] C pop
C[b] origin (b) of corresponding R reached H
14/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Analysis notes - I
• scalar case: “explicit formula” for a Riemann (entropy) solutionexists, based on convex/concave hull of the flux;
• (V.) construction principle obtains this solution, but based on wavespeeds and Liu’s entropy condition
14/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Analysis notes - I
• scalar case: “explicit formula” for a Riemann (entropy) solutionexists, based on convex/concave hull of the flux;
• (V.) construction principle obtains this solution, but based on wavespeeds and Liu’s entropy condition
• (LeFloch) nonclassical entropy solutions (diffusive-dispersive model)
• (LeFloch) Lipschitz flux but characteristic fields genuinely nonlinear(monotone wave speeds) orpiecewise genuinely nonlinear but smooth flux (focus on accumulat-ing inflection points and wave interaction; example p-system)
15/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Analysis notes - II
• wave curve analysis:
– continuation/existence of the curves for each case?(Liu) continuation of curves (smooth case)(Mueller.,V.) bifurcation for the composite curves(Freistuehler,Mueller.,V.) global existence p-system(V.) continuation of curves (nonsmooth case)
• ToDo(?): global existence theorem (for the Euler case):
– “extension” of the general analysis of LeFloch?
– mollifying of smooth, non genuinely nonlinear solutions?
– extension of the geometrical approach?
16/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem - Euler equations
vuE
t
+
−uppu
x
= 0
v specific volumeu velocityE total energyE = 1
2u2 + e
e internal energyS entropyp pressure EoS, p = p(v, S)
eigenvalues λ1 = −√−pv < λ2 = 0 < λ3 = +
√−pv
characteristic fields ∇λ1r1 =pvv
−2 pv= ∇λ3r3, ∇λ2r2 = 0
fundamental derivative Γ = vpvv
−2 pv= v ∇λ1,3r1,3
17/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Boundaries
isotherms p(v, Ti)
for T ≤ Tc calculate vl, vv and p̄,the equilibrium pressure
modify original EoS in this region
17/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Boundaries
isotherms p(v, Ti)
for T ≤ Tc calculate vl, vv and p̄,the equilibrium pressure
modify original EoS in this region
isentropes p(v, Si) for PP10
- convex inside mixture region- concave inside Γ < 0 region- nonsmooth at the boundaries
18/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curves Wk and intermediate states qk, k = 1, . . . ,mwith qr ∈ Wm(qm).
q2=W1(q1,ξ1)
q1=ql
q3=W2(q2,ξ2)
q4=qr
W2
W1
W3 q1 = ql
qk+1 = Wk(qk, ξk)
k = 1, . . . ,m
qm+1 = qr
18/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Riemann Problem Solution
Q: How to solve a Riemann problem for given initial data ql, qr?
A: Find the wave curves Wk and intermediate states qk, k = 1, . . . ,mwith qr ∈ Wm(qm).
q2k=qk+1
q0k=qk
Wk1
Wk2
ξ1k
0=ξ0k
ξ2k=ξk
q1k
Wik(qk, ξ) = Wk(qk, ξ)
ξ ∈ [ξi−1k , ξi
k] ⊂ R+
0 = ξ0k < . . . < ξ
Nkk = ξk
qik = Wi
k(qk, ξik)
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 0
0.996
0.997
p
x
ql
qr1
structure Wi1, i = 1
R[++]1
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 0
0.985
0.99
0.995
p
x
ql
qr2
structure Wi1, i = 1, 2
R[++]1 , R[--]2
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 0
0.975
0.98
0.985
0.99
0.995
p
x
ql
qr3
structure Wi1, i = 1, . . . , 3
R[++]1 , R[--]2 , C[b]2
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 00.94
0.95
0.96
0.97
0.98
0.99
1
p
x
ql
qr4
structure Wi1, i = 1, . . . , 4
R[++]1 , R[--]2 , C[b]2
H[C]1
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 0
0.9
0.95
1
p
x
ql
qr5
structure Wi1, i = 1, . . . , 5
R[++]1 , R[--]2 , C[b]2
H[C]1 , C[b]1
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 0
0.7
0.8
0.9
1
p
x
ql
qr6
structure Wi1, i = 1, . . . , 6
R[++]1 , R[--]2 , C[b]2
H[C]1 , C[b]1 , H[m]2
19/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Wave curve example
1 1.5 2 2.5 3
0.6
0.7
0.8
0.9
1
1.1
pr
vr
qk
ξk1
ξk7
wave curvephase bnd.Γ=0wave par.ξk
j
RP.qr=qri
ξk0
ξk3ξk
2
ξk4
ξk6
ξk5
24
5
6
7
3
ξk0
ξk1
ξk2
ξk3
1
2
3
1 1.5 2 2.5 3
-100
00-7
500
vr
s
ξk0
ξk2
ξk3
ξk7
qk
ξk1 ξk
4
ξk5
ξk6
wave speedwave par.ξk
j
RP.qr=qri
1
2
4
5
6
7
3
-1 -0.5 00.6
0.7
0.8
0.9
1
p
x
ql
qr7
structure Wi1, i = 1, . . . , 7
R[++]1 , R[--]2 , C[b]2
H[C]1 , C[b]1 , H[m]2
R[e]3
20/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Software - xrms library
Schemes
• numerical schemes
– L.F., L.W., Roe, ENO,HLL[C,E], WAF[+lim.]
• exact solver
Equations
• scalar
• p-system
• Euler
Supplemental
• flux function
• Fluids / EoS
– BZT(12), Air, etc.
– Ideal, v.d.W., R.Kw.,P.-R., [+phase bnd.]
Visualization
• curves
– wave curves
– Hug., Isentr., Isoth.
– phase bnd.
– Γ = 0 bnd.
Script driven or as C++ library
20/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Software - xrms library
Schemes
• numerical schemes
– L.F., L.W., Roe, ENO,HLL[C,E], WAF[+lim.]
• exact solver
Equations
• scalar
• p-system
• Euler
Supplemental
• flux function
• Fluids / EoS
– BZT(12), Air, etc.
– Ideal, v.d.W., R.Kw.,P.-R., [+phase bnd.]
Visualization
• curves
– wave curves
– Hug., Isentr., Isoth.
– phase bnd.
– Γ = 0 bnd.
[Euler-Test1] # R 1[+-], C 1[e]
system = Euler, VanDerWaals LVE Exact, PP10
tasks = calc exact, calc wafmb
xrange = -2, +2, 1000, 0.0
trange = 0, 1.0, 2000
format = vuE
ql = 1.428, 1, 2.286
qr = 1.428, -1, 2.286
20/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Software - xrms library
Schemes
• numerical schemes
– L.F., L.W., Roe, ENO,HLL[C,E], WAF[+lim.]
• exact solver
Equations
• scalar
• p-system
• Euler
Supplemental
• flux function
• Fluids / EoS
– BZT(12), Air, etc.
– Ideal, v.d.W., R.Kw.,P.-R., [+phase bnd.]
Visualization
• curves
– wave curves
– Hug., Isentr., Isoth.
– phase bnd.
– Γ = 0 bnd.
Eos<VanDerWaals,PP10> eos;
p = eos.p vT(v,T);
21/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
A priori knowledge
run-time information:
Fluid<DynamicFluid> fluid;fluid = "FC75";v = fluid.vc();
• Pro: flexible, data can be changed
• Con: internal overhead, program has to “find out” type/data
21/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
A priori knowledge
run-time information:
Fluid<DynamicFluid> fluid;fluid = "FC75";v = fluid.vc();
• Pro: flexible, data can be changed
• Con: internal overhead, program has to “find out” type/data
compile-time information:
Fluid<FC75> fluid;v = fluid.vc();
• Pro: no internal overhead, can be optimized
• Con: inflexible, data can not be changed
22/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
A priori knowledge
xrms can both:
• user decides, which behavior is needed and profitable
• underlying technics transparent for new sub-classes
• class interface is the same in both cases
• same is true for EoS
23/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Template Metaprogramming
= programming with types
• template argument (Fluid<FC75>) completes the data type
• class can be specialized, i.e., different behavior for various arguments solves run-time/compile-time problem
• one algorithm for various arguments, e.g. sort a set
23/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Template Metaprogramming
= programming with types
• template argument (Fluid<FC75>) completes the data type
• class can be specialized, i.e., different behavior for various arguments solves run-time/compile-time problem
• one algorithm for various arguments, e.g. sort a set
there is only one algorithm for the exact Riemann solver!
24/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Numerics - Schemes
-3 -2.5 -2 -1.5 -1 -0.5 0 0.50.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3 exact sol.RoeWAF-MBWAF-SB
p/pc
x-3 -2.5 -2 -1.5 -1 -0.5 0 0.5
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3 exact sol.RoeWAF-MBWAF-SB
p/pc
x
CFL/2→
observation:
• Roe, ENO approximate exact solution, provided CFL is small enough
• WAF + SUPERBEE limiter inserts extra waves (randomly?)
25/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Liquefaction shock
observation chamber liquefaction shock
(Thompson, Chaves, Meier, Kim, Speckmann)
26/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Liquefaction shock
Rigid Wall
Rigid Wall
liquid vapour
initial condition pressure
27/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Liquefaction shock
pressure
28/28
Title
Introduction
Riemann P.
- Scalar
- Euler
Software
Numerics
Summary
� �
� �
...
Conclusion
• construction principle, applied to scalar eq., p-system and Euler eq.
• analysis concerning wave curve continuation/existence
• implementation of exact Riemann solver
• implementation of fluid library (“optimal sense”)
• validation of numerical schemes: Roe, ENO, ...
• numerical simulation: bubble collapse, liquefaction shock, wave split-ting