SpECTRE
v2025.03.17
|
Base class for equations of state which need one thermodynamic variable in order to determine the pressure. More...
#include <EquationOfState.hpp>
Public Types | |
using | creatable_classes = implementation defined |
Public Member Functions | |
EquationOfState (const EquationOfState &)=default | |
EquationOfState & | operator= (const EquationOfState &)=default |
EquationOfState (EquationOfState &&)=default | |
EquationOfState & | operator= (EquationOfState &&)=default |
EquationOfState (CkMigrateMessage *msg) | |
WRAPPED_PUPable_abstract (EquationOfState) | |
virtual std::unique_ptr< EquationOfState< IsRelativistic, 1 > > | get_clone () const =0 |
virtual bool | is_equal (const EquationOfState< IsRelativistic, 1 > &rhs) const =0 |
virtual std::unique_ptr< EquationOfState< IsRelativistic, 3 > > | promote_to_3d_eos () const =0 |
Create a 3D EOS from the 1D EOS. More... | |
virtual std::unique_ptr< EquationOfState< IsRelativistic, 2 > > | promote_to_2d_eos () const =0 |
Create a 2D EOS from the 1D EOS. More... | |
bool | is_barotropic () const |
Returns true if the EOS is barotropic. | |
virtual Scalar< double > | equilibrium_electron_fraction_from_density_temperature (const Scalar< double > &rest_mass_density, const Scalar< double > &) const |
virtual Scalar< DataVector > | equilibrium_electron_fraction_from_density_temperature (const Scalar< DataVector > &rest_mass_density, const Scalar< DataVector > &) const |
virtual Scalar< double > | pressure_from_density (const Scalar< double > &) const =0 |
virtual Scalar< DataVector > | pressure_from_density (const Scalar< DataVector > &) const =0 |
virtual Scalar< double > | rest_mass_density_from_enthalpy (const Scalar< double > &) const =0 |
virtual Scalar< DataVector > | rest_mass_density_from_enthalpy (const Scalar< DataVector > &) const =0 |
virtual Scalar< double > | specific_internal_energy_from_density (const Scalar< double > &) const =0 |
virtual Scalar< DataVector > | specific_internal_energy_from_density (const Scalar< DataVector > &) const =0 |
virtual Scalar< double > | temperature_from_density (const Scalar< double > &) const |
virtual Scalar< DataVector > | temperature_from_density (const Scalar< DataVector > &rest_mass_density) const |
virtual Scalar< double > | temperature_from_specific_internal_energy (const Scalar< double > &) const |
virtual Scalar< DataVector > | temperature_from_specific_internal_energy (const Scalar< DataVector > &specific_internal_energy) const |
virtual Scalar< double > | chi_from_density (const Scalar< double > &) const =0 |
virtual Scalar< DataVector > | chi_from_density (const Scalar< DataVector > &) const =0 |
virtual Scalar< double > | kappa_times_p_over_rho_squared_from_density (const Scalar< double > &) const =0 |
virtual Scalar< DataVector > | kappa_times_p_over_rho_squared_from_density (const Scalar< DataVector > &) const =0 |
virtual double | electron_fraction_lower_bound () const |
The lower bound of the electron fraction that is valid for this EOS. | |
virtual double | electron_fraction_upper_bound () const |
The upper bound of the electron fraction that is valid for this EOS. | |
virtual double | rest_mass_density_lower_bound () const =0 |
The lower bound of the rest mass density that is valid for this EOS. More... | |
virtual double | rest_mass_density_upper_bound () const =0 |
The upper bound of the rest mass density that is valid for this EOS. More... | |
virtual double | temperature_lower_bound () const |
The lower bound of the temperature that is valid for this EOS. | |
virtual double | temperature_upper_bound () const |
The upper bound of the temperature that is valid for this EOS. | |
virtual double | specific_internal_energy_lower_bound () const |
The lower bound of the specific internal energy that is valid for this EOS. More... | |
virtual double | specific_internal_energy_upper_bound () const |
The upper bound of the specific internal energy that is valid for this EOS. More... | |
virtual double | specific_enthalpy_lower_bound () const =0 |
The lower bound of the specific enthalpy that is valid for this EOS. More... | |
virtual double | baryon_mass () const |
The vacuum mass of a baryon for this EOS. More... | |
Static Public Attributes | |
static constexpr bool | is_relativistic = IsRelativistic |
static constexpr size_t | thermodynamic_dim = 1 |
Base class for equations of state which need one thermodynamic variable 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.
|
inlinevirtual |
The vacuum mass of a baryon for this EOS.
Reimplemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
Computes
|
pure virtual |
Computes
|
inlinevirtual |
Computes the electron fraction in beta-equilibrium
|
inlinevirtual |
Computes the electron fraction in beta-equilibrium
|
pure virtual |
Computes
The reason for not returning just
|
pure virtual |
Computes
The reason for not returning just
|
pure virtual |
Computes the pressure
|
pure virtual |
Computes the pressure
|
pure virtual |
Create a 2D EOS from the 1D EOS.
Implemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
Create a 3D EOS from the 1D EOS.
Implemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
Computes the rest mass density
|
pure virtual |
Computes the rest mass density
|
pure virtual |
The lower bound of the rest mass density that is valid for this EOS.
Implemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
The upper bound of the rest mass density that is valid for this EOS.
Implemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
The lower bound of the specific enthalpy that is valid for this EOS.
Implemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
pure virtual |
Computes the specific internal energy
|
pure virtual |
Computes the specific internal energy
|
inlinevirtual |
The lower bound of the specific internal energy that is valid for this EOS.
Reimplemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
inlinevirtual |
The upper bound of the specific internal energy that is valid for this EOS.
Reimplemented in EquationsOfState::PiecewisePolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< IsRelativistic >, EquationsOfState::PolytropicFluid< false >, and EquationsOfState::PolytropicFluid< true >.
|
inlinevirtual |
Computes the temperature
|
inlinevirtual |
Computes the temperature
|
inlinevirtual |
Computes the temperature
|
inlinevirtual |
Computes the temperature