Base class for equations of state which need two independent thermodynamic variables in order to determine the pressure.
More...
|
|
| EquationOfState (const EquationOfState &)=default |
| |
|
EquationOfState & | operator= (const EquationOfState &)=default |
| |
|
| EquationOfState (EquationOfState &&)=default |
| |
|
EquationOfState & | operator= (EquationOfState &&)=default |
| |
|
| WRAPPED_PUPable_abstract (EquationOfState) |
| |
| virtual double | rest_mass_density_lower_bound () const noexcept=0 |
| | The lower bound of the rest mass density that is valid for this EOS. More...
|
| |
| virtual double | rest_mass_density_upper_bound () const noexcept=0 |
| | The upper bound of the rest mass density that is valid for this EOS. More...
|
| |
| virtual double | specific_internal_energy_lower_bound (const double rest_mass_density) const noexcept=0 |
| | The lower bound of the specific internal energy that is valid for this EOS at the given rest mass density \(\rho\). More...
|
| |
| virtual double | specific_internal_energy_upper_bound (const double rest_mass_density) const noexcept=0 |
| | The upper bound of the specific internal energy that is valid for this EOS at the given rest mass density \(\rho\). More...
|
| |
| virtual double | specific_enthalpy_lower_bound () const noexcept=0 |
| | The lower bound of the specific enthalpy that is valid for this EOS. More...
|
| |
|
| virtual Scalar< double > | pressure_from_density_and_energy (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | pressure_from_density_and_energy (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
|
| virtual Scalar< double > | pressure_from_density_and_enthalpy (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | pressure_from_density_and_enthalpy (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
|
| virtual Scalar< double > | specific_enthalpy_from_density_and_energy (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | specific_enthalpy_from_density_and_energy (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
|
| virtual Scalar< double > | specific_internal_energy_from_density_and_pressure (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | specific_internal_energy_from_density_and_pressure (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
|
| virtual Scalar< double > | chi_from_density_and_energy (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | chi_from_density_and_energy (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
|
| virtual Scalar< double > | kappa_times_p_over_rho_squared_from_density_and_energy (const Scalar< double > &, const Scalar< double > &) const noexcept=0 |
| |
| virtual Scalar< DataVector > | kappa_times_p_over_rho_squared_from_density_and_energy (const Scalar< DataVector > &, const Scalar< DataVector > &) const noexcept=0 |
| |
template<bool IsRelativistic>
class EquationsOfState::EquationOfState< IsRelativistic, 2 >
Base class for equations of state which need two independent thermodynamic variables in order to determine the pressure.
The template parameter IsRelativistic is true for relativistic equations of state and false for non-relativistic equations of state.
template<bool IsRelativistic>
Computes \(\kappa p/\rho^2=(p/\rho^2)\partial p / \partial \epsilon\) from \(\rho\) and \(\epsilon\), where \(p\) is the pressure, \(\rho\) is the rest mass density, and \(\epsilon\) is the specific internal energy.
The reason for not returning just \(\kappa=\partial p / \partial \epsilon\) is to avoid division by zero for small values of \(\rho\) when assembling the speed of sound with some equations of state.
template<bool IsRelativistic>
Computes \(\kappa p/\rho^2=(p/\rho^2)\partial p / \partial \epsilon\) from \(\rho\) and \(\epsilon\), where \(p\) is the pressure, \(\rho\) is the rest mass density, and \(\epsilon\) is the specific internal energy.
The reason for not returning just \(\kappa=\partial p / \partial \epsilon\) is to avoid division by zero for small values of \(\rho\) when assembling the speed of sound with some equations of state.