35 #ifndef NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_EQUATIONOFSTATE 
   36 #define NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_EQUATIONOFSTATE 
   46 class EquationOfState;
 
Encapsulates equations of state allowing us to obtain thermodynamic properties: most relations are in...
 
NekDouble GetEntropy(const NekDouble &rho, const NekDouble &e)
Calculate the entropy.
 
virtual NekDouble v_GetSoundSpeed(const NekDouble &rho, const NekDouble &e)
 
virtual ~EquationOfState()
 
NekDouble m_gammaMoneOgasConst
 
virtual NekDouble v_GetEFromRhoP(const NekDouble &rho, const NekDouble &p)=0
 
virtual vec_t GetTemperature(const vec_t &rho, const vec_t &e)=0
 
virtual NekDouble v_GetDPDe_rho(const NekDouble &rho, const NekDouble &e)=0
 
NekDouble GetRhoFromPT(const NekDouble &p, const NekDouble &T)
Obtain the density from P and T.
 
EquationOfState(const LibUtilities::SessionReaderSharedPtr &pSession)
Constructor.
 
virtual NekDouble GetTemperature(const NekDouble &rho, const NekDouble &e)=0
Calculate the temperature.
 
virtual NekDouble v_GetDPDrho_e(const NekDouble &rho, const NekDouble &e)=0
 
virtual vec_t GetPressure(const vec_t &rho, const vec_t &e)=0
 
NekDouble GetDPDrho_e(const NekDouble &rho, const NekDouble &e)
Calculate the partial derivative of P(rho,e) with respect to rho.
 
NekDouble GetSoundSpeed(const NekDouble &rho, const NekDouble &e)
Calculate the sound speed.
 
virtual NekDouble v_GetRhoFromPT(const NekDouble &rho, const NekDouble &p)=0
 
NekDouble GetDPDe_rho(const NekDouble &rho, const NekDouble &e)
Calculate the partial derivative of P(rho,e) with respect to e.
 
NekDouble GetEFromRhoP(const NekDouble &rho, const NekDouble &p)
Obtain the internal energy from rho and P.
 
virtual NekDouble GetPressure(const NekDouble &rho, const NekDouble &e)=0
Calculate the pressure.
 
virtual NekDouble v_GetEntropy(const NekDouble &rho, const NekDouble &e)=0
 
Provides a generic Factory class.
 
std::shared_ptr< SessionReader > SessionReaderSharedPtr
 
The above copyright notice and this permission notice shall be included.
 
EquationOfStateFactory & GetEquationOfStateFactory()
Declaration of the equation of state factory singleton.
 
LibUtilities::NekFactory< std::string, EquationOfState, const LibUtilities::SessionReaderSharedPtr & > EquationOfStateFactory
Declaration of the equation of state factory.
 
std::shared_ptr< EquationOfState > EquationOfStateSharedPtr
A shared pointer to an equation of state object.
 
tinysimd::simd< NekDouble > vec_t
 
typename abi< ScalarType >::type simd