SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
EquationsOfState::HybridEos< ColdEquationOfState > Class Template Reference

Hybrid equation of state combining a barotropic EOS for cold (zero-temperature) part with a simple thermal part. More...

#include <HybridEos.hpp>

Classes

struct  ColdEos
struct  ThermalAdiabaticIndex

Public Types

using options = tmpl::list<ColdEos, ThermalAdiabaticIndex>

Public Member Functions

 HybridEos (const HybridEos &)=default
HybridEosoperator= (const HybridEos &)=default
 HybridEos (HybridEos &&)=default
HybridEosoperator= (HybridEos &&)=default
 HybridEos (ColdEquationOfState cold_eos, double thermal_adiabatic_index)
 WRAPPED_PUPable_decl_base_template (SINGLE_ARG(EquationOfState< is_relativistic, 2 >), HybridEos)
std::unique_ptr< EquationOfState< is_relativistic, 2 > > get_clone () const override
std::unique_ptr< EquationOfState< is_relativistic, 3 > > promote_to_3d_eos () const override
bool is_barotropic () const override
 Returns true if the EOS is barotropic.
bool operator== (const HybridEos< ColdEquationOfState > &rhs) const
bool operator!= (const HybridEos< ColdEquationOfState > &rhs) const
bool is_equal (const EquationOfState< is_relativistic, 2 > &rhs) const override
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 specific_internal_energy_lower_bound (const double rest_mass_density) const override
 The lower bound of the specific internal energy that is valid for this EOS at the given rest mass density \(\rho\).
double specific_internal_energy_upper_bound (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 vacuum baryon mass for this EoS.

Static Public Member Functions

static std::string name ()

Static Public Attributes

static constexpr size_t thermodynamic_dim = 2
static constexpr bool is_relativistic = ColdEquationOfState::is_relativistic
static constexpr Options::String help

Detailed Description

template<typename ColdEquationOfState>
class EquationsOfState::HybridEos< ColdEquationOfState >

Hybrid equation of state combining a barotropic EOS for cold (zero-temperature) part with a simple thermal part.

The hybrid equation of state:

\[p = p_{cold}(\rho) + \rho (\Gamma_{th}-1) (\epsilon - \epsilon_{cold}(\rho)) \]

where \(p\) is the pressure, \(\rho\) is the rest mass density, \(\epsilon\) is the specific internal energy, \(p_{cold}\) and \(\epsilon_{cold}\) are the pressure and specific internal energy evaluated using the cold EOS, and \(\Gamma_{th}\) is the adiabatic index for the thermal part.

The temperature \(T\) is defined as

\[T = (\Gamma_{th} - 1) (\epsilon - \epsilon_{cold}) \]

This is the amount of internal energy above that of the cold EOS.

For a hybrid EOS with the cold EOS being a polytrope we have

\begin{align}p &= \kappa \rho^\Gamma + \rho T =\kappa\rho^\Gamma+\rho (\Gamma-1)\left(\epsilon-\frac{K\rho^{\Gamma-1}}{\Gamma-1}\right), \\ T&=(\Gamma-1)\left(\epsilon-\frac{K\rho^{\Gamma-1}}{\Gamma-1}\right), \\ \epsilon &= \frac{1}{(\Gamma-1)}\frac{p}{\rho} \end{align}

Member Data Documentation

◆ help

template<typename ColdEquationOfState>
Options::String EquationsOfState::HybridEos< ColdEquationOfState >::help
staticconstexpr
Initial value:
= {
"A hybrid equation of state combining a cold EOS with a simple thermal "
"part. The pressure is related to the rest mass density by "
" p = p_cold(rho) + rho * (Gamma_th - 1) * (epsilon - "
"epsilon_cold(rho)), where p is the pressure, rho is the rest mass "
"density, epsilon is the specific internal energy, p_cold and "
"epsilon_cold are the pressure and specific internal energy evaluated "
"using the cold EOS and Gamma_th is the adiabatic index for the thermal "
"part."}

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