Return the global maximum wave speed max_i(|u_i| + c_i).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_t), | intent(in) | :: | state |
Solver state (reads state%ub, state%n_pt, state%cfg%gam) |
Bind the flux dispatch pointers in @p state to the requested scheme.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_t), | intent(inout) | :: | state |
Solver instance; use_fds, flux_split and |
||
| character(len=*), | intent(in) | :: | scheme |
Name of the flux scheme. |
Extract primitive variables (rho, u, p) from a conserved state vector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats γ |
||
| real(kind=wp), | intent(out) | :: | rho |
Density |
||
| real(kind=wp), | intent(out) | :: | u |
Density Velocity |
||
| real(kind=wp), | intent(out) | :: | p |
Density Velocity Pressure |
Compute Roe-averaged velocity, enthalpy, and sound speed.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | rho_L | |||
| real(kind=wp), | intent(in) | :: | u_L | |||
| real(kind=wp), | intent(in) | :: | h_L | |||
| real(kind=wp), | intent(in) | :: | rho_R | |||
| real(kind=wp), | intent(in) | :: | u_R | |||
| real(kind=wp), | intent(in) | :: | h_R | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats γ |
||
| real(kind=wp), | intent(out) | :: | u_roe |
Roe-averaged velocity |
||
| real(kind=wp), | intent(out) | :: | h_roe |
Roe-averaged velocity Roe-averaged specific enthalpy |
||
| real(kind=wp), | intent(out) | :: | c_roe |
Roe-averaged velocity Roe-averaged specific enthalpy Roe-averaged sound speed |
Compute the Euler flux vector F(Q) for a given conserved state.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
Lax-Friedrichs flux splitting.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| integer, | intent(in) | :: | sign |
+1 for F^+, -1 for F^- |
||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
Fused Lax-Friedrichs flux splitting: returns F^+ and F^- in one call.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | fp(:) | |||
| real(kind=wp), | intent(out) | :: | fm(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats. |
Fused Steger-Warming flux splitting: returns F^+ and F^- in one call.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | fp(:) | |||
| real(kind=wp), | intent(out) | :: | fm(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats. |
Fused van Leer flux splitting: returns F^+ and F^- in one call.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | fp(:) | |||
| real(kind=wp), | intent(out) | :: | fm(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats. |
Compute the right eigenvector matrix K and its inverse K^{-1} of the Euler Jacobian at a given state.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q_avg(neq) | |||
| real(kind=wp), | intent(out) | :: | r_mat(neq,neq) | |||
| real(kind=wp), | intent(out) | :: | r_inv(neq,neq) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
Steger-Warming flux vector splitting.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| integer, | intent(in) | :: | sign |
+1 for F^+, -1 for F^- |
||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
van Leer flux vector splitting.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| integer, | intent(in) | :: | sign |
+1 for F^+, -1 for F^- |
||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
AUSM+ FDS scheme (AUSM family).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q_L(:) | |||
| real(kind=wp), | intent(in) | :: | q_R(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
HLL approximate Riemann solver.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q_L(:) | |||
| real(kind=wp), | intent(in) | :: | q_R(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
HLLC approximate Riemann solver with contact-wave restoration.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q_L(:) | |||
| real(kind=wp), | intent(in) | :: | q_R(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |
Roe approximate Riemann solver with Harten entropy fix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | q_L(:) | |||
| real(kind=wp), | intent(in) | :: | q_R(:) | |||
| real(kind=wp), | intent(out) | :: | flux(:) | |||
| real(kind=wp), | intent(in) | :: | gam |
Ratio of specific heats |