SpECTRE  v2024.09.29
Equations of State

The various available equations of state. More...

Classes

class  EquationsOfState::Barotropic2D< ColdEos >
 A 2D equation of state representing a barotropic fluid. More...
 
class  EquationsOfState::Barotropic3D< ColdEquilEos >
 A 3D equation of state representing a barotropic fluid. More...
 
class  EquationsOfState::DarkEnergyFluid< IsRelativistic >
 Equation of state for a dark energy fluid. More...
 
class  EquationsOfState::Enthalpy< LowDensityEoS >
 An equation of state given by parametrized enthalpy. More...
 
class  EquationsOfState::EquationOfState< IsRelativistic, ThermodynamicDim >
 Base class for equations of state depending on whether or not the system is relativistic, and the number of independent thermodynamic variables (ThermodynamicDim) needed to determine the pressure. More...
 
class  EquationsOfState::EquationOfState< IsRelativistic, 1 >
 Base class for equations of state which need one thermodynamic variable in order to determine the pressure. More...
 
class  EquationsOfState::EquationOfState< IsRelativistic, 2 >
 Base class for equations of state which need two independent thermodynamic variables in order to determine the pressure. More...
 
class  EquationsOfState::EquationOfState< IsRelativistic, 3 >
 Base class for equations of state which need three independent thermodynamic variables in order to determine the pressure. More...
 
class  EquationsOfState::Equilibrium3D< EquilEos >
 A 3D equation of state representing a fluid in compositional equalibrium. More...
 
class  EquationsOfState::HybridEos< ColdEquationOfState >
 Hybrid equation of state combining a barotropic EOS for cold (zero-temperature) part with a simple thermal part. More...
 
class  EquationsOfState::IdealFluid< IsRelativistic >
 Equation of state for an ideal fluid. More...
 
class  EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >
 Equation of state for a piecewise polytropic fluid. More...
 
class  EquationsOfState::PolytropicFluid< IsRelativistic >
 Equation of state for a polytropic fluid. More...
 
class  EquationsOfState::Spectral
 A spectral equation of state. More...
 
class  EquationsOfState::Tabulated3D< IsRelativistic >
 Nuclear matter equation of state in tabulated form. More...
 

Macros

#define EQUATION_OF_STATE_FORWARD_DECLARE_MEMBERS(DERIVED, DIM)
 Macro used to generate forward declarations of member functions in derived classes. More...
 
template<typename DataType , size_t ThermodynamicDim>
void hydro::sound_speed_squared (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &specific_enthalpy, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state)
 Computes the relativistic sound speed squared. More...
 
template<typename DataType , size_t ThermodynamicDim>
Scalar< DataType > hydro::sound_speed_squared (const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &specific_enthalpy, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state)
 Computes the relativistic sound speed squared. More...
 
template<typename DataType >
void hydro::relativistic_specific_enthalpy (gsl::not_null< Scalar< DataType > * > result, const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure)
 Computes the relativistic specific enthalpy \(h\) as: \( h = 1 + \epsilon + \frac{p}{\rho} \) where \(\epsilon\) is the specific internal energy, \(p\) is the pressure, and \(\rho\) is the rest mass density.
 
template<typename DataType >
Scalar< DataType > hydro::relativistic_specific_enthalpy (const Scalar< DataType > &rest_mass_density, const Scalar< DataType > &specific_internal_energy, const Scalar< DataType > &pressure)
 Computes the relativistic specific enthalpy \(h\) as: \( h = 1 + \epsilon + \frac{p}{\rho} \) where \(\epsilon\) is the specific internal energy, \(p\) is the pressure, and \(\rho\) is the rest mass density.
 

Detailed Description

The various available equations of state.

Macro Definition Documentation

◆ EQUATION_OF_STATE_FORWARD_DECLARE_MEMBERS

#define EQUATION_OF_STATE_FORWARD_DECLARE_MEMBERS (   DERIVED,
  DIM 
)
Value:
BOOST_PP_LIST_FOR_EACH( \
EQUATION_OF_STATE_FORWARD_DECLARE_MEMBERS_HELPER, DIM, \
BOOST_PP_TUPLE_TO_LIST(BOOST_PP_TUPLE_ELEM( \
BOOST_PP_SUB(DIM, 1), \
(EQUATION_OF_STATE_FUNCTIONS_1D, EQUATION_OF_STATE_FUNCTIONS_2D, \
EQUATION_OF_STATE_FUNCTIONS_3D)))) \
\
/* clang-tidy: do not use non-const references */ \
void pup(PUP::er& p) override; /* NOLINT */ \
\
explicit DERIVED(CkMigrateMessage* msg);

Macro used to generate forward declarations of member functions in derived classes.

Function Documentation

◆ sound_speed_squared() [1/2]

template<typename DataType , size_t ThermodynamicDim>
Scalar< DataType > hydro::sound_speed_squared ( const Scalar< DataType > &  rest_mass_density,
const Scalar< DataType > &  specific_internal_energy,
const Scalar< DataType > &  specific_enthalpy,
const EquationsOfState::EquationOfState< true, ThermodynamicDim > &  equation_of_state 
)

Computes the relativistic sound speed squared.

The relativistic sound speed squared is given by \(c_s^2 = \left(\chi + p\kappa / \rho^2\right)/h\), where \(p\) is the fluid pressure, \(\rho\) is the rest mass density, \(h = 1 + \epsilon + p / \rho\) is the specific enthalpy \(\chi = (\partial p/\partial\rho)_\epsilon\) and \(\kappa = (\partial p/ \partial \epsilon)_\rho\), where \(\epsilon\) is the specific internal energy.

◆ sound_speed_squared() [2/2]

template<typename DataType , size_t ThermodynamicDim>
void hydro::sound_speed_squared ( gsl::not_null< Scalar< DataType > * >  result,
const Scalar< DataType > &  rest_mass_density,
const Scalar< DataType > &  specific_internal_energy,
const Scalar< DataType > &  specific_enthalpy,
const EquationsOfState::EquationOfState< true, ThermodynamicDim > &  equation_of_state 
)

Computes the relativistic sound speed squared.

The relativistic sound speed squared is given by \(c_s^2 = \left(\chi + p\kappa / \rho^2\right)/h\), where \(p\) is the fluid pressure, \(\rho\) is the rest mass density, \(h = 1 + \epsilon + p / \rho\) is the specific enthalpy \(\chi = (\partial p/\partial\rho)_\epsilon\) and \(\kappa = (\partial p/ \partial \epsilon)_\rho\), where \(\epsilon\) is the specific internal energy.