Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
riemann Namespace Reference

Classes

struct  HLL
 
struct  HLLC
 
struct  KEEP
 Kinetic-energy- and entropy-preserving central flux (KEEP; Kuya, Totani & Kawai, J. Comput. Phys. 375, 2018) with arithmetic means: mass C = mean(rho) mean(u).n, momentum C mean(u) + mean(p) n, energy C (mean(e) + u_L . u_R / 2) + (p_L u_R.n + p_R u_L.n) / 2. Its momentum flux has Jameson's form, so with cell values on both sides the convective fluxes change the kinetic energy only by the pressure work mean(p) (u_R - u_L).n per face. No dissipation: for the hybrid convective flux (docs/design/les.md, section 4.3). More...
 
struct  RHLL
 Rotated-hybrid HLL-Roe solver (Nishikawa & Kitamura, J. Comput. Phys. 227, 2008): HLL along the direction of the velocity difference (normal to shocks, where Roe's lack of dissipation causes carbuncles) and Roe across it (shear layers and contacts stay sharp). More...
 
struct  Roe
 Roe's approximate Riemann solver with Harten's entropy fix on the acoustic waves. More...
 
struct  Rusanov
 
struct  SideThermo
 Thermodynamics of one side of a face for a gas mixture: the frozen ratio of specific heats and the energy offset, with rho E = p / (gamma - 1) + rho e0 + rho |u|^2 / 2 (e0 = 0 for a calorically perfect gas), and the pair the wave-speed estimates use: the same but in double flux, where both fluxes of a face estimate the waves with each side's own cell's, so that their mass fluxes agree at contacts. More...
 

Functions

KOKKOS_INLINE_FUNCTION void physical_flux (const rtype *W, const rtype *n, const rtype gamma, rtype *U, rtype *F)
 Physical Euler flux of state W through unit normal n.
 
KOKKOS_INLINE_FUNCTION void wave_speeds_einfeldt (const rtype *W_l, const rtype *W_r, const rtype u_l_n, const rtype u_r_n, const rtype gamma, rtype &S_l, rtype &S_r)
 Einfeldt (HLLE) wave speed estimates using Roe averages (Einfeldt et al. 1991; Toro 10.52).
 
KOKKOS_INLINE_FUNCTION void physical_flux (const rtype *W, const rtype *n, const SideThermo &th, rtype *U, rtype *F)
 Physical Euler flux of state W of a mixture side through unit normal n.
 
KOKKOS_INLINE_FUNCTION void wave_speeds_einfeldt (const rtype *W_l, const rtype *W_r, const rtype u_l_n, const rtype u_r_n, const SideThermo &th_l, const SideThermo &th_r, rtype &S_l, rtype &S_r)
 Einfeldt wave speed estimates for a mixture: the Roe average of the perfect-gas estimates with sqrt(rho)-weighted averages of gamma and e0, a^2 = (gamma - 1) (H - e0 - |u|^2 / 2). Equal to the perfect-gas estimates when both sides share gamma and e0 = 0.
 

Detailed Description

All solvers take left/right states as W = [rho, u, p] (u with N_DIM components) and a unit normal pointing from left to right, and return the flux of [rho, rho u, rho E] through the face per unit area.

Function Documentation

◆ physical_flux() [1/2]

KOKKOS_INLINE_FUNCTION void riemann::physical_flux ( const rtype *  W,
const rtype *  n,
const rtype  gamma,
rtype *  U,
rtype *  F 
)

Physical Euler flux of state W through unit normal n.

◆ physical_flux() [2/2]

KOKKOS_INLINE_FUNCTION void riemann::physical_flux ( const rtype *  W,
const rtype *  n,
const SideThermo &  th,
rtype *  U,
rtype *  F 
)

Physical Euler flux of state W of a mixture side through unit normal n.

◆ wave_speeds_einfeldt() [1/2]

KOKKOS_INLINE_FUNCTION void riemann::wave_speeds_einfeldt ( const rtype *  W_l,
const rtype *  W_r,
const rtype  u_l_n,
const rtype  u_r_n,
const rtype  gamma,
rtype &  S_l,
rtype &  S_r 
)

Einfeldt (HLLE) wave speed estimates using Roe averages (Einfeldt et al. 1991; Toro 10.52).

◆ wave_speeds_einfeldt() [2/2]

KOKKOS_INLINE_FUNCTION void riemann::wave_speeds_einfeldt ( const rtype *  W_l,
const rtype *  W_r,
const rtype  u_l_n,
const rtype  u_r_n,
const SideThermo &  th_l,
const SideThermo &  th_r,
rtype &  S_l,
rtype &  S_r 
)

Einfeldt wave speed estimates for a mixture: the Roe average of the perfect-gas estimates with sqrt(rho)-weighted averages of gamma and e0, a^2 = (gamma - 1) (H - e0 - |u|^2 / 2). Equal to the perfect-gas estimates when both sides share gamma and e0 = 0.