SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
EquationsOfState::Equilibrium3D< EquilEos > Class Template Reference

A 3D equation of state representing a fluid in compositional equalibrium. More...

#include <Equilibrium3D.hpp>

Classes

struct  UnderlyingEos

Public Types

using options = tmpl::list<UnderlyingEos>

Public Member Functions

 Equilibrium3D (const Equilibrium3D &)=default
Equilibrium3Doperator= (const Equilibrium3D &)=default
 Equilibrium3D (Equilibrium3D &&)=default
Equilibrium3Doperator= (Equilibrium3D &&)=default
 Equilibrium3D (const EquilEos &underlying_eos)
std::unique_ptr< EquationOfState< EquilEos::is_relativistic, 3 > > get_clone () const override
bool is_equal (const EquationOfState< EquilEos::is_relativistic, 3 > &rhs) const override
bool is_barotropic () const override
 Returns true if the EOS is barotropic.
bool is_equilibrium () const override
 Returns true if the EOS is in beta-equilibrium.
bool operator== (const Equilibrium3D< EquilEos > &rhs) const
bool operator!= (const Equilibrium3D< EquilEos > &rhs) const
 WRAPPED_PUPable_decl_base_template (SINGLE_ARG(EquationOfState< EquilEos::is_relativistic, 3 >), Equilibrium3D)
double electron_fraction_lower_bound () const override
 The lower bound of the electron fraction that is valid for this EOS.
double electron_fraction_upper_bound () const override
 The upper bound of the electron fraction that is valid for this EOS.
double rest_mass_density_lower_bound () const override
 The lower bound of the rest mass density that is valid for this EOS.
double rest_mass_density_upper_bound () const override
 The upper bound of the rest mass density that is valid for this EOS.
double temperature_lower_bound () const override
 The lower bound of the temperature that is valid for this EOS.
double temperature_upper_bound () const override
 The upper bound of the temperature that is valid for this EOS.
double specific_internal_energy_lower_bound (const double rest_mass_density, const double) const override
 The lower bound of the specific internal energy that is valid for this EOS at the given rest mass density \(\rho\) and electron fraction \(Y_e\).
double specific_internal_energy_upper_bound (const double rest_mass_density, const double) const override
 The upper bound of the specific internal energy that is valid for this EOS at the given rest mass density \(\rho\).
double specific_enthalpy_lower_bound () const override
 The lower bound of the specific enthalpy that is valid for this EOS.
double baryon_mass () const override
 The baryon mass for this EoS.
Scalar< double > equilibrium_electron_fraction_from_density_temperature (const Scalar< double > &rest_mass_density, const Scalar< double > &temperature) const override
Scalar< DataVectorequilibrium_electron_fraction_from_density_temperature (const Scalar< DataVector > &rest_mass_density, const Scalar< DataVector > &temperature) const override

Static Public Member Functions

static std::string name ()

Static Public Attributes

static constexpr size_t thermodynamic_dim = 3
static constexpr bool is_relativistic = EquilEos::is_relativistic
static constexpr Options::String help

Detailed Description

template<typename EquilEos>
class EquationsOfState::Equilibrium3D< EquilEos >

A 3D equation of state representing a fluid in compositional equalibrium.

The equation of state takes the form

\[p = p (T, rho, Y_e) = p(T, rho, Y_e= Y_{e, \beta}) \]

where \(\rho\) is the rest mass density and \(T\) is the temperaturee; \(Y_e\) the electron fraction, is not used, and therefore this evaluating this EoS at any arbtirary electron fraction is equivalent to evaluating it in beta equalibrium

Member Function Documentation

◆ equilibrium_electron_fraction_from_density_temperature() [1/2]

template<typename EquilEos>
Scalar< DataVector > EquationsOfState::Equilibrium3D< EquilEos >::equilibrium_electron_fraction_from_density_temperature ( const Scalar< DataVector > & rest_mass_density,
const Scalar< DataVector > & temperature ) const
inlineoverride

Computes the electron fraction in beta-equilibrium \(Y_e^{\rm eq}\) from the rest mass density \(\rho\) and the temperature \(T\).

◆ equilibrium_electron_fraction_from_density_temperature() [2/2]

template<typename EquilEos>
Scalar< double > EquationsOfState::Equilibrium3D< EquilEos >::equilibrium_electron_fraction_from_density_temperature ( const Scalar< double > & rest_mass_density,
const Scalar< double > & temperature ) const
inlineoverride

Computes the electron fraction in beta-equilibrium \(Y_e^{\rm eq}\) from the rest mass density \(\rho\) and the temperature \(T\).

Member Data Documentation

◆ help

template<typename EquilEos>
Options::String EquationsOfState::Equilibrium3D< EquilEos >::help
staticconstexpr
Initial value:
= {
"An 3D EoS which is independent of electron fraction. "
"Contains an underlying 2D EoS which is dependent only "
"on rest mass density and temperature/internal energy."}

The documentation for this class was generated from the following file:
  • src/PointwiseFunctions/Hydro/EquationsOfState/Equilibrium3D.hpp