|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_xc_shock (Tscal LR, Tscal p2, Tscal p1, Tscal r1, Tscal gamma) |
| | Relative velocity jump across a shock wave (Rankine-Hugoniot).
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_xc_rarefaction (Tscal LR, Tscal p2, Tscal p1, Tscal r1, Tscal gamma) |
| | Relative velocity jump across a rarefaction wave (isentropic relation).
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_lr_ss (Tscal pS, ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma) |
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_lr_rs (Tscal pS, ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma) |
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_lr_sr (Tscal pS, ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma) |
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_v_lr_rr (Tscal pS, ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma) |
| template<class Tscal> |
| i32 | shammodels::gsph::riemann::exact_judge_wave_pattern (ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma) |
| | Wave pattern codes: 11=shock/shock, 21=rarefaction/shock, 12=shock/rarefaction, 22=rarefaction/rarefaction.
|
| template<class Tscal, class ResidualFn> |
| Tscal | shammodels::gsph::riemann::exact_bisection_generic (Tscal posi, Tscal nega, Tscal v_lr_0, Tscal tol, u32 max_iter, ResidualFn residual) |
| | Shared bisection loop for a single wave-pattern's residual function.
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_bisection_ss (ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma, Tscal tol, u32 max_iter) |
| | Bisection solve for the shock/shock (11) wave pattern.
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_bisection_rs (ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma, Tscal tol, u32 max_iter) |
| | Bisection solve for the rarefaction/shock (21) wave pattern.
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_bisection_sr (ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma, Tscal tol, u32 max_iter) |
| | Bisection solve for the shock/rarefaction (12) wave pattern.
|
| template<class Tscal> |
| Tscal | shammodels::gsph::riemann::exact_bisection_rr (ExactState< Tscal > left, ExactState< Tscal > right, Tscal gamma, Tscal tol, u32 max_iter) |
| | Bisection solve for the rarefaction/rarefaction (22) wave pattern.
|
| template<class Tscal> |
| RiemannResult< Tscal > | shammodels::gsph::riemann::exact_solver (Tscal u_L, Tscal rho_L, Tscal p_L, Tscal u_R, Tscal rho_R, Tscal p_R, Tscal gamma, Tscal tol=Tscal{1.0e-8}, u32 max_iter=100) |
| | Exact Riemann solver for the 1D Euler equations (ideal gas).
|
Exact Riemann solver for GSPH (Toro 2009).
- Author
- Guo Yansong (guo.y.nosp@m.anso.nosp@m.ng.ng.nosp@m.y@gm.nosp@m.ail.c.nosp@m.om)
-
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)
-
Yona Lapeyre (yona..nosp@m.lape.nosp@m.yre@e.nosp@m.ns-l.nosp@m.yon.f.nosp@m.r)
Implements the exact solution of the 1D Riemann problem for an ideal gas: the wave pattern (shock/rarefaction on each side) is classified first from the initial states, then the matching closed-form shock (Rankine-Hugoniot) or rarefaction (isentropic) relation is solved to convergence via bisection.
References:
- Toro, E.F. (2009) "Riemann Solvers and Numerical Methods for Fluid Dynamics"
Definition in file exact.hpp.
template<class Tscal>
| RiemannResult< Tscal > shammodels::gsph::riemann::exact_solver |
( |
Tscal | u_L, |
|
|
Tscal | rho_L, |
|
|
Tscal | p_L, |
|
|
Tscal | u_R, |
|
|
Tscal | rho_R, |
|
|
Tscal | p_R, |
|
|
Tscal | gamma, |
|
|
Tscal | tol = Tscal{1.0e-8}, |
|
|
u32 | max_iter = 100 ) |
|
inline |
Exact Riemann solver for the 1D Euler equations (ideal gas).
Classifies the wave pattern from the initial states, then solves the matching shock/rarefaction relation to convergence via bisection.
The left/right convention matches iterative_solver()/hllc_solver():
- Left state (L): particle on the "minus" side of the interface
- Right state (R): particle on the "plus" side of the interface
- Positive velocity points from L to R
- Template Parameters
-
- Parameters
-
| u_L | Left state velocity (normal component) |
| rho_L | Left state density |
| p_L | Left state pressure |
| u_R | Right state velocity (normal component) |
| rho_R | Right state density |
| p_R | Right state pressure |
| gamma | Adiabatic index |
| tol | Bisection convergence tolerance (default: 1e-8) |
| max_iter | Maximum bisection iterations (default: 100) |
- Returns
- RiemannResult with p_star and v_star
Definition at line 281 of file exact.hpp.