35#ifndef NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_VANDERWAALSEOS
36#define NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_MISC_VANDERWAALSEOS
74 const vec_t &e)
override final;
80 const vec_t &e)
override final;
102 template <
class T,
typename =
typename std::enable_if<
103 std::is_floating_point<T>::value ||
110 template <
class T,
typename =
typename std::enable_if<
111 std::is_floating_point<T>::value ||
Encapsulates equations of state allowing us to obtain thermodynamic properties: most relations are in...
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
van der Waals equation of state: p = RT/(1/rho - b) - a * rho^2 with a = 27/64 * (R*Tc)^2 / Pc b = 1/...
virtual NekDouble v_GetDPDrho_e(const NekDouble &rho, const NekDouble &e) override final
T GetTemperatureKernel(const T &rho, const T &e)
virtual NekDouble v_GetTemperature(const NekDouble &rho, const NekDouble &e) override final
static EquationOfStateSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
Creates an instance of this class.
virtual NekDouble v_GetEntropy(const NekDouble &rho, const NekDouble &e) override final
T GetPressureKernel(const T &rho, const T &e)
virtual NekDouble v_GetRhoFromPT(const NekDouble &rho, const NekDouble &p) override final
virtual NekDouble v_GetEFromRhoP(const NekDouble &rho, const NekDouble &p) override final
virtual NekDouble v_GetDPDe_rho(const NekDouble &rho, const NekDouble &e) override final
VanDerWaalsEoS(const LibUtilities::SessionReaderSharedPtr &pSession)
virtual NekDouble v_GetPressure(const NekDouble &rho, const NekDouble &e) override final
static std::string className
Name of the class.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
The above copyright notice and this permission notice shall be included.
std::shared_ptr< EquationOfState > EquationOfStateSharedPtr
A shared pointer to an equation of state object.
tinysimd::simd< NekDouble > vec_t