Athena++/Atmosphere
Planetary Atmosphere Simulator
EquationOfState Class Reference

#include <eos.hpp>

Public Member Functions

 EquationOfState (MeshBlock *pmb, ParameterInput *pin)
 
void ConservedToPrimitive (AthenaArray< Real > &cons, const AthenaArray< Real > &prim_old, const FaceField &b, AthenaArray< Real > &prim, AthenaArray< Real > &bcc, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void PrimitiveToConserved (const AthenaArray< Real > &prim, const AthenaArray< Real > &bc, AthenaArray< Real > &cons, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void ConservedToPrimitiveCellAverage (AthenaArray< Real > &cons, const AthenaArray< Real > &prim_old, const FaceField &b, AthenaArray< Real > &prim, AthenaArray< Real > &bcc, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void PassiveScalarConservedToPrimitive (AthenaArray< Real > &s, const AthenaArray< Real > &w, const AthenaArray< Real > &r_old, AthenaArray< Real > &r, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void PassiveScalarPrimitiveToConserved (const AthenaArray< Real > &r, const AthenaArray< Real > &w, AthenaArray< Real > &s, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void PassiveScalarConservedToPrimitiveCellAverage (AthenaArray< Real > &s, const AthenaArray< Real > &r_old, AthenaArray< Real > &r, Coordinates *pco, int il, int iu, int jl, int ju, int kl, int ku)
 
void ApplyPrimitiveFloors (AthenaArray< Real > &prim, int k, int j, int i)
 
void ApplyPassiveScalarFloors (AthenaArray< Real > &s, int n, int k, int j, int i)
 
void ApplyPassiveScalarPrimitiveConservedFloors (AthenaArray< Real > &s, const AthenaArray< Real > &w, AthenaArray< Real > &r, int n, int k, int j, int i)
 
Real SoundSpeed (const Real prim[(NHYDRO)])
 
void ApplyPrimitiveConservedFloors (AthenaArray< Real > &prim, AthenaArray< Real > &cons, AthenaArray< Real > &bcc, int k, int j, int i)
 
Real FastMagnetosonicSpeed (const Real[], const Real)
 
void SoundSpeedsSR (Real, Real, Real, Real, Real *, Real *)
 
void FastMagnetosonicSpeedsSR (const AthenaArray< Real > &, const AthenaArray< Real > &, int, int, int, int, int, AthenaArray< Real > &, AthenaArray< Real > &)
 
void SoundSpeedsGR (Real, Real, Real, Real, Real, Real, Real, Real *, Real *)
 
void FastMagnetosonicSpeedsGR (Real, Real, Real, Real, Real, Real, Real, Real, Real *, Real *)
 
Real PresFromRhoEg (Real rho, Real egas)
 
Real EgasFromRhoP (Real rho, Real pres)
 
Real AsqFromRhoP (Real rho, Real pres)
 
Real GetIsoSoundSpeed () const
 
Real GetDensityFloor () const
 
Real GetPressureFloor () const
 
Real GetGamma () const
 

Public Attributes

EosTable * ptable
 

Private Member Functions

void InitEosConstants (ParameterInput *pin)
 

Private Attributes

const Real float_min {std::numeric_limits<float>::min()}
 
MeshBlockpmy_block_
 
Real iso_sound_speed_
 
Real gamma_
 
Real density_floor_
 
Real pressure_floor_
 
Real energy_floor_
 
Real scalar_floor_
 
Real sigma_max_
 
Real beta_min_
 
Real gamma_max_
 
Real rho_min_
 
Real rho_pow_
 
Real pgas_min_
 
Real pgas_pow_
 
Real rho_unit_
 
Real inv_rho_unit_
 
Real egas_unit_
 
Real inv_egas_unit_
 
Real vsqr_unit_
 
Real inv_vsqr_unit_
 
AthenaArray< Realg_
 
AthenaArray< Realg_inv_
 
AthenaArray< Realfixed_
 
AthenaArray< Realnormal_dd_
 
AthenaArray< Realnormal_ee_
 
AthenaArray< Realnormal_mm_
 
AthenaArray< Realnormal_bb_
 
AthenaArray< Realnormal_tt_
 

Friends

class Hydro
 

Detailed Description

Definition at line 31 of file eos.hpp.

Constructor & Destructor Documentation

◆ EquationOfState()

EquationOfState::EquationOfState ( MeshBlock pmb,
ParameterInput pin 
)

Definition at line 30 of file adiabatic_hydro.cpp.

Member Function Documentation

◆ ConservedToPrimitive()

void EquationOfState::ConservedToPrimitive ( AthenaArray< Real > &  cons,
const AthenaArray< Real > &  prim_old,
const FaceField b,
AthenaArray< Real > &  prim,
AthenaArray< Real > &  bcc,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

Definition at line 44 of file adiabatic_hydro.cpp.

◆ PrimitiveToConserved()

void EquationOfState::PrimitiveToConserved ( const AthenaArray< Real > &  prim,
const AthenaArray< Real > &  bc,
AthenaArray< Real > &  cons,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

Definition at line 147 of file adiabatic_hydro.cpp.

◆ ConservedToPrimitiveCellAverage()

void EquationOfState::ConservedToPrimitiveCellAverage ( AthenaArray< Real > &  cons,
const AthenaArray< Real > &  prim_old,
const FaceField b,
AthenaArray< Real > &  prim,
AthenaArray< Real > &  bcc,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

◆ PassiveScalarConservedToPrimitive()

void EquationOfState::PassiveScalarConservedToPrimitive ( AthenaArray< Real > &  s,
const AthenaArray< Real > &  w,
const AthenaArray< Real > &  r_old,
AthenaArray< Real > &  r,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

◆ PassiveScalarPrimitiveToConserved()

void EquationOfState::PassiveScalarPrimitiveToConserved ( const AthenaArray< Real > &  r,
const AthenaArray< Real > &  w,
AthenaArray< Real > &  s,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

◆ PassiveScalarConservedToPrimitiveCellAverage()

void EquationOfState::PassiveScalarConservedToPrimitiveCellAverage ( AthenaArray< Real > &  s,
const AthenaArray< Real > &  r_old,
AthenaArray< Real > &  r,
Coordinates pco,
int  il,
int  iu,
int  jl,
int  ju,
int  kl,
int  ku 
)

◆ ApplyPrimitiveFloors()

void EquationOfState::ApplyPrimitiveFloors ( AthenaArray< Real > &  prim,
int  k,
int  j,
int  i 
)

Definition at line 220 of file adiabatic_hydro.cpp.

◆ ApplyPassiveScalarFloors()

void EquationOfState::ApplyPassiveScalarFloors ( AthenaArray< Real > &  s,
int  n,
int  k,
int  j,
int  i 
)

◆ ApplyPassiveScalarPrimitiveConservedFloors()

void EquationOfState::ApplyPassiveScalarPrimitiveConservedFloors ( AthenaArray< Real > &  s,
const AthenaArray< Real > &  w,
AthenaArray< Real > &  r,
int  n,
int  k,
int  j,
int  i 
)

◆ SoundSpeed()

Real EquationOfState::SoundSpeed ( const Real  prim[(NHYDRO)])

Definition at line 204 of file adiabatic_hydro.cpp.

◆ ApplyPrimitiveConservedFloors()

void EquationOfState::ApplyPrimitiveConservedFloors ( AthenaArray< Real > &  prim,
AthenaArray< Real > &  cons,
AthenaArray< Real > &  bcc,
int  k,
int  j,
int  i 
)

Definition at line 236 of file adiabatic_hydro.cpp.

◆ FastMagnetosonicSpeed()

Real EquationOfState::FastMagnetosonicSpeed ( const  Real[],
const  Real 
)
inline

Definition at line 87 of file eos.hpp.

◆ SoundSpeedsSR()

void EquationOfState::SoundSpeedsSR ( Real  ,
Real  ,
Real  ,
Real  ,
Real ,
Real  
)
inline

Definition at line 92 of file eos.hpp.

◆ FastMagnetosonicSpeedsSR()

void EquationOfState::FastMagnetosonicSpeedsSR ( const AthenaArray< Real > &  ,
const AthenaArray< Real > &  ,
int  ,
int  ,
int  ,
int  ,
int  ,
AthenaArray< Real > &  ,
AthenaArray< Real > &   
)
inline

Definition at line 93 of file eos.hpp.

◆ SoundSpeedsGR()

void EquationOfState::SoundSpeedsGR ( Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real ,
Real  
)
inline

Definition at line 97 of file eos.hpp.

◆ FastMagnetosonicSpeedsGR()

void EquationOfState::FastMagnetosonicSpeedsGR ( Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real  ,
Real ,
Real  
)
inline

Definition at line 99 of file eos.hpp.

◆ PresFromRhoEg()

Real EquationOfState::PresFromRhoEg ( Real  rho,
Real  egas 
)

◆ EgasFromRhoP()

Real EquationOfState::EgasFromRhoP ( Real  rho,
Real  pres 
)

◆ AsqFromRhoP()

Real EquationOfState::AsqFromRhoP ( Real  rho,
Real  pres 
)

◆ GetIsoSoundSpeed()

Real EquationOfState::GetIsoSoundSpeed ( ) const
inline

Definition at line 164 of file eos.hpp.

◆ GetDensityFloor()

Real EquationOfState::GetDensityFloor ( ) const
inline

Definition at line 165 of file eos.hpp.

◆ GetPressureFloor()

Real EquationOfState::GetPressureFloor ( ) const
inline

Definition at line 166 of file eos.hpp.

◆ GetGamma()

Real EquationOfState::GetGamma ( ) const
inline

Definition at line 171 of file eos.hpp.

◆ InitEosConstants()

void EquationOfState::InitEosConstants ( ParameterInput pin)
private

Friends And Related Function Documentation

◆ Hydro

friend class Hydro
friend

Definition at line 32 of file eos.hpp.

Member Data Documentation

◆ ptable

EosTable* EquationOfState::ptable

Definition at line 167 of file eos.hpp.

◆ float_min

const Real EquationOfState::float_min {std::numeric_limits<float>::min()}
private

Definition at line 176 of file eos.hpp.

◆ pmy_block_

MeshBlock* EquationOfState::pmy_block_
private

Definition at line 177 of file eos.hpp.

◆ iso_sound_speed_

Real EquationOfState::iso_sound_speed_
private

Definition at line 178 of file eos.hpp.

◆ gamma_

Real EquationOfState::gamma_
private

Definition at line 178 of file eos.hpp.

◆ density_floor_

Real EquationOfState::density_floor_
private

Definition at line 179 of file eos.hpp.

◆ pressure_floor_

Real EquationOfState::pressure_floor_
private

Definition at line 179 of file eos.hpp.

◆ energy_floor_

Real EquationOfState::energy_floor_
private

Definition at line 180 of file eos.hpp.

◆ scalar_floor_

Real EquationOfState::scalar_floor_
private

Definition at line 181 of file eos.hpp.

◆ sigma_max_

Real EquationOfState::sigma_max_
private

Definition at line 182 of file eos.hpp.

◆ beta_min_

Real EquationOfState::beta_min_
private

Definition at line 182 of file eos.hpp.

◆ gamma_max_

Real EquationOfState::gamma_max_
private

Definition at line 183 of file eos.hpp.

◆ rho_min_

Real EquationOfState::rho_min_
private

Definition at line 184 of file eos.hpp.

◆ rho_pow_

Real EquationOfState::rho_pow_
private

Definition at line 184 of file eos.hpp.

◆ pgas_min_

Real EquationOfState::pgas_min_
private

Definition at line 185 of file eos.hpp.

◆ pgas_pow_

Real EquationOfState::pgas_pow_
private

Definition at line 185 of file eos.hpp.

◆ rho_unit_

Real EquationOfState::rho_unit_
private

Definition at line 186 of file eos.hpp.

◆ inv_rho_unit_

Real EquationOfState::inv_rho_unit_
private

Definition at line 186 of file eos.hpp.

◆ egas_unit_

Real EquationOfState::egas_unit_
private

Definition at line 187 of file eos.hpp.

◆ inv_egas_unit_

Real EquationOfState::inv_egas_unit_
private

Definition at line 187 of file eos.hpp.

◆ vsqr_unit_

Real EquationOfState::vsqr_unit_
private

Definition at line 188 of file eos.hpp.

◆ inv_vsqr_unit_

Real EquationOfState::inv_vsqr_unit_
private

Definition at line 188 of file eos.hpp.

◆ g_

AthenaArray<Real> EquationOfState::g_
private

Definition at line 189 of file eos.hpp.

◆ g_inv_

AthenaArray<Real> EquationOfState::g_inv_
private

Definition at line 189 of file eos.hpp.

◆ fixed_

AthenaArray<Real> EquationOfState::fixed_
private

Definition at line 190 of file eos.hpp.

◆ normal_dd_

AthenaArray<Real> EquationOfState::normal_dd_
private

Definition at line 191 of file eos.hpp.

◆ normal_ee_

AthenaArray<Real> EquationOfState::normal_ee_
private

Definition at line 192 of file eos.hpp.

◆ normal_mm_

AthenaArray<Real> EquationOfState::normal_mm_
private

Definition at line 193 of file eos.hpp.

◆ normal_bb_

AthenaArray<Real> EquationOfState::normal_bb_
private

Definition at line 194 of file eos.hpp.

◆ normal_tt_

AthenaArray<Real> EquationOfState::normal_tt_
private

Definition at line 195 of file eos.hpp.


The documentation for this class was generated from the following files: