Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammath::FluidStateSpec Concept Reference

An equation of state paired with the flux/wave-speed operations a Riemann solver needs, so that solvers (see riemann_rusanov.hpp, riemann_hll.hpp) can be written once and instantiated for any fluid state satisfying this interface. More...

#include <shammath/include/shammath/riemann_common.hpp>

Concept definition

template<class T>
concept shammath::FluidStateSpec = requires(
const T &self,
typename T::Tcons cons,
typename T::Tprim prim,
typename T::Tvec n,
typename T::Tscal vn) {
typename T::Tvec;
typename T::Tscal;
typename T::Tprim;
typename T::Tcons;
{ self.cons_to_prim(cons) } -> std::convertible_to<typename T::Tprim>;
{ self.prim_to_cons(prim) } -> std::convertible_to<typename T::Tcons>;
{ self.sound_speed(prim) } -> std::convertible_to<typename T::Tscal>;
{ self.vn(prim, n) } -> std::convertible_to<typename T::Tscal>;
{ self.flux(prim, n) } -> std::convertible_to<typename T::Tcons>;
{ self.flux(prim, n, vn) } -> std::convertible_to<typename T::Tcons>;
}
An equation of state paired with the flux/wave-speed operations a Riemann solver needs,...

Detailed Description

An equation of state paired with the flux/wave-speed operations a Riemann solver needs, so that solvers (see riemann_rusanov.hpp, riemann_hll.hpp) can be written once and instantiated for any fluid state satisfying this interface.

Definition at line 39 of file riemann_common.hpp.