Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammodels::EOSConfig< Tvec > Struct Template Reference

Configuration struct for the equation of state used in the hydrodynamic models. More...

#include <shammodels/common/include/shammodels/common/EOSConfig.hpp>

Classes

struct  LocallyIsothermal
 Locally isothermal equation of state configuration. More...
 

Public Types

using Tscal = shambase::VecComponent< Tvec >
 Scalar type associated to the vector template type.
 
using Adiabatic = shamphys::EOS_Config_Adiabatic< Tscal >
 Adiabatic equation of state configuration.
 
using Polytropic = shamphys::EOS_Config_Polytropic< Tscal >
 Polytropic equation of state configuration.
 
using Isothermal = shamphys::EOS_Config_Isothermal< Tscal >
 Isothermal equation of state configuration.
 
using LocallyIsothermalLP07 = shamphys::EOS_Config_LocallyIsothermal_LP07< Tscal >
 Locally isothermal equation of state configuration from Lodato Price 2007.
 
using LocallyIsothermalFA2014 = shamphys::EOS_Config_LocallyIsothermalDisc_Farris2014< Tscal >
 Locally isothermal equation of state configuration from Lodato Price 2007.
 
using LocallyIsothermalFA2014Extended = shamphys::EOS_Config_LocallyIsothermalDisc_ExtendedFarris2014< Tscal >
 Locally isothermal equation of state configuration from Farris 2014 extended to q != 1/2.
 
using Fermi = shamphys::EOS_Config_Fermi< Tscal >
 Fermi equation of state configuration.
 
using Variant = std::variant< Isothermal, Adiabatic, Polytropic, LocallyIsothermal, LocallyIsothermalLP07, LocallyIsothermalFA2014, LocallyIsothermalFA2014Extended, Fermi >
 Variant type to store the EOS configuration.
 

Public Member Functions

void set_isothermal (Tscal cs)
 Set the EOS configuration to an isothermal equation of state.
 
void set_adiabatic (Tscal gamma)
 Set the EOS configuration to an adiabatic equation of state.
 
void set_polytropic (Tscal K, Tscal gamma)
 Set the EOS configuration to an polytropic equation of state.
 
void set_locally_isothermal ()
 Set the EOS configuration to a locally isothermal equation of state.
 
void set_locally_isothermalLP07 (Tscal cs0, Tscal q, Tscal r0)
 Set the EOS configuration to a locally isothermal equation of state (Lodato Price 2007)
 
void set_locally_isothermalFA2014 (Tscal h_over_r)
 
void set_locally_isothermalFA2014_extended (Tscal cs0, Tscal q, Tscal r0, u32 n_sinks)
 
void set_fermi (Tscal mu_e)
 Set the EOS configuration to a Fermi equation of state.
 
void print_status ()
 Print current status of the EOSConfig.
 

Public Attributes

Variant config = Adiabatic{}
 Current EOS configuration.
 

Static Public Attributes

static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension
 Dimension of the vector quantities.
 

Detailed Description

template<class Tvec>
struct shammodels::EOSConfig< Tvec >

Configuration struct for the equation of state used in the hydrodynamic models.

Template Parameters
TvecThe vector type used to store the physical quantities (e.g., velocity, pressure, etc.)

Definition at line 42 of file EOSConfig.hpp.

Member Typedef Documentation

◆ Adiabatic

template<class Tvec >
using shammodels::EOSConfig< Tvec >::Adiabatic = shamphys::EOS_Config_Adiabatic<Tscal>

Adiabatic equation of state configuration.

Definition at line 52 of file EOSConfig.hpp.

◆ Fermi

template<class Tvec >
using shammodels::EOSConfig< Tvec >::Fermi = shamphys::EOS_Config_Fermi<Tscal>

Fermi equation of state configuration.

Definition at line 75 of file EOSConfig.hpp.

◆ Isothermal

template<class Tvec >
using shammodels::EOSConfig< Tvec >::Isothermal = shamphys::EOS_Config_Isothermal<Tscal>

Isothermal equation of state configuration.

Definition at line 58 of file EOSConfig.hpp.

◆ LocallyIsothermalFA2014

template<class Tvec >
using shammodels::EOSConfig< Tvec >::LocallyIsothermalFA2014 = shamphys::EOS_Config_LocallyIsothermalDisc_Farris2014<Tscal>

Locally isothermal equation of state configuration from Lodato Price 2007.

Definition at line 67 of file EOSConfig.hpp.

◆ LocallyIsothermalFA2014Extended

template<class Tvec >
using shammodels::EOSConfig< Tvec >::LocallyIsothermalFA2014Extended = shamphys::EOS_Config_LocallyIsothermalDisc_ExtendedFarris2014<Tscal>

Locally isothermal equation of state configuration from Farris 2014 extended to q != 1/2.

Definition at line 71 of file EOSConfig.hpp.

◆ LocallyIsothermalLP07

template<class Tvec >
using shammodels::EOSConfig< Tvec >::LocallyIsothermalLP07 = shamphys::EOS_Config_LocallyIsothermal_LP07<Tscal>

Locally isothermal equation of state configuration from Lodato Price 2007.

Definition at line 64 of file EOSConfig.hpp.

◆ Polytropic

template<class Tvec >
using shammodels::EOSConfig< Tvec >::Polytropic = shamphys::EOS_Config_Polytropic<Tscal>

Polytropic equation of state configuration.

Definition at line 55 of file EOSConfig.hpp.

◆ Tscal

template<class Tvec >
using shammodels::EOSConfig< Tvec >::Tscal = shambase::VecComponent<Tvec>

Scalar type associated to the vector template type.

Definition at line 44 of file EOSConfig.hpp.

◆ Variant

Variant type to store the EOS configuration.

Definition at line 78 of file EOSConfig.hpp.

Member Function Documentation

◆ print_status()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::print_status ( )
inline

Print current status of the EOSConfig.

Definition at line 157 of file EOSConfig.hpp.

+ Here is the call graph for this function:

◆ set_adiabatic()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_adiabatic ( Tscal  gamma)
inline

Set the EOS configuration to an adiabatic equation of state.

Parameters
gammaThe adiabatic index

Definition at line 103 of file EOSConfig.hpp.

◆ set_fermi()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_fermi ( Tscal  mu_e)
inline

Set the EOS configuration to a Fermi equation of state.

Parameters
mu_eThe mean molecular weight

Definition at line 146 of file EOSConfig.hpp.

◆ set_isothermal()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_isothermal ( Tscal  cs)
inline

Set the EOS configuration to an isothermal equation of state.

Parameters
csThe sound speed

Definition at line 96 of file EOSConfig.hpp.

◆ set_locally_isothermal()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_locally_isothermal ( )
inline

Set the EOS configuration to a locally isothermal equation of state.

Definition at line 115 of file EOSConfig.hpp.

◆ set_locally_isothermalFA2014()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_locally_isothermalFA2014 ( Tscal  h_over_r)
inline

Definition at line 132 of file EOSConfig.hpp.

◆ set_locally_isothermalFA2014_extended()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_locally_isothermalFA2014_extended ( Tscal  cs0,
Tscal  q,
Tscal  r0,
u32  n_sinks 
)
inline

Definition at line 136 of file EOSConfig.hpp.

◆ set_locally_isothermalLP07()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_locally_isothermalLP07 ( Tscal  cs0,
Tscal  q,
Tscal  r0 
)
inline

Set the EOS configuration to a locally isothermal equation of state (Lodato Price 2007)

The equation of state is given by: \( p = c_{s,0}^2 (r / r_0)^{-q} \rho \)

Parameters
cs0Soundspeed at the reference radius
qPower exponent of the soundspeed profile
r0Reference radius

Definition at line 128 of file EOSConfig.hpp.

◆ set_polytropic()

template<class Tvec >
void shammodels::EOSConfig< Tvec >::set_polytropic ( Tscal  K,
Tscal  gamma 
)
inline

Set the EOS configuration to an polytropic equation of state.

Parameters
gammaThe adiabatic index

Definition at line 110 of file EOSConfig.hpp.

Member Data Documentation

◆ config

template<class Tvec >
Variant shammodels::EOSConfig< Tvec >::config = Adiabatic{}

Current EOS configuration.

Definition at line 89 of file EOSConfig.hpp.

◆ dim

template<class Tvec >
constexpr u32 shammodels::EOSConfig< Tvec >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Dimension of the vector quantities.

Definition at line 47 of file EOSConfig.hpp.


The documentation for this struct was generated from the following file: