35 #ifndef NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_EQUATIONOFSTATE 36 #define NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_EQUATIONOFSTATE NekDouble GetEntropy(const NekDouble &rho, const NekDouble &e)
Calculate the entropy.
LibUtilities::NekFactory< std::string, EquationOfState, const LibUtilities::SessionReaderSharedPtr & > EquationOfStateFactory
Declaration of the equation of state factory.
EquationOfState(const LibUtilities::SessionReaderSharedPtr &pSession)
Constructor.
virtual NekDouble v_GetRhoFromPT(const NekDouble &rho, const NekDouble &p)=0
virtual ~EquationOfState()
virtual NekDouble v_GetDPDe_rho(const NekDouble &rho, const NekDouble &e)=0
NekDouble GetDPDe_rho(const NekDouble &rho, const NekDouble &e)
Calculate the partial derivative of P(rho,e) with respect to e.
virtual NekDouble v_GetSoundSpeed(const NekDouble &rho, const NekDouble &e)
Encapsulates equations of state allowing us to obtain thermodynamic properties: most relations are in...
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_GetDPDrho_e(const NekDouble &rho, const NekDouble &e)=0
virtual NekDouble v_GetTemperature(const NekDouble &rho, const NekDouble &e)=0
EquationOfStateFactory & GetEquationOfStateFactory()
Declaration of the equation of state factory singleton.
NekDouble GetEFromRhoP(const NekDouble &rho, const NekDouble &p)
Obtain the internal energy from rho and P.
NekDouble GetRhoFromPT(const NekDouble &p, const NekDouble &T)
Obtain the density from P and T.
std::shared_ptr< EquationOfState > EquationOfStateSharedPtr
A shared pointer to an equation of state object.
NekDouble GetTemperature(const NekDouble &rho, const NekDouble &e)
Calculate the temperature.
NekDouble GetPressure(const NekDouble &rho, const NekDouble &e)
Calculate the pressure.
virtual NekDouble v_GetEntropy(const NekDouble &rho, const NekDouble &e)=0
virtual NekDouble v_GetEFromRhoP(const NekDouble &rho, const NekDouble &p)=0
virtual NekDouble v_GetPressure(const NekDouble &rho, const NekDouble &e)=0
std::shared_ptr< SessionReader > SessionReaderSharedPtr
Provides a generic Factory class.