Nektar++
|
van der Waals equation of state: p = RT/(1/rho - b) - a * rho^2 with a = 27/64 * (R*Tc)^2 / Pc b = 1/8 * (R*Tc) / Pc More...
#include <VanDerWaalsEoS.h>
Static Public Member Functions | |
static EquationOfStateSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Protected Attributes | |
NekDouble | m_a |
NekDouble | m_b |
Protected Attributes inherited from Nektar::EquationOfState | |
NekDouble | m_gamma |
NekDouble | m_gasConstant |
NekDouble | m_gammaMone |
NekDouble | m_gammaMoneOgasConst |
Private Member Functions | |
VanDerWaalsEoS (const LibUtilities::SessionReaderSharedPtr &pSession) | |
~VanDerWaalsEoS (void) override | |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value || tinysimd::is_vector_floating_point<T>::value>::type> | |
T | GetTemperatureKernel (const T &rho, const T &e) |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value || tinysimd::is_vector_floating_point<T>::value>::type> | |
T | GetPressureKernel (const T &rho, const T &e) |
Friends | |
class | MemoryManager< VanDerWaalsEoS > |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::EquationOfState | |
virtual | ~EquationOfState () |
NekDouble | GetTemperature (const NekDouble &rho, const NekDouble &e) |
Calculate the temperature. More... | |
vec_t | GetTemperature (const vec_t &rho, const vec_t &e) |
NekDouble | GetPressure (const NekDouble &rho, const NekDouble &e) |
Calculate the pressure. More... | |
vec_t | GetPressure (const vec_t &rho, const vec_t &e) |
NekDouble | GetSoundSpeed (const NekDouble &rho, const NekDouble &e) |
Calculate the sound speed. More... | |
NekDouble | GetEntropy (const NekDouble &rho, const NekDouble &e) |
Calculate the entropy. More... | |
NekDouble | GetDPDrho_e (const NekDouble &rho, const NekDouble &e) |
Calculate the partial derivative of P(rho,e) with respect to rho. More... | |
NekDouble | GetDPDe_rho (const NekDouble &rho, const NekDouble &e) |
Calculate the partial derivative of P(rho,e) with respect to e. More... | |
NekDouble | GetEFromRhoP (const NekDouble &rho, const NekDouble &p) |
Obtain the internal energy from rho and P. More... | |
NekDouble | GetRhoFromPT (const NekDouble &p, const NekDouble &T) |
Obtain the density from P and T. More... | |
van der Waals equation of state: p = RT/(1/rho - b) - a * rho^2 with a = 27/64 * (R*Tc)^2 / Pc b = 1/8 * (R*Tc) / Pc
Definition at line 49 of file VanDerWaalsEoS.h.
|
private |
Definition at line 47 of file VanDerWaalsEoS.cpp.
References m_a, m_b, and Nektar::EquationOfState::m_gasConstant.
|
inlineoverrideprivate |
Definition at line 91 of file VanDerWaalsEoS.h.
|
inlinestatic |
Creates an instance of this class.
Definition at line 55 of file VanDerWaalsEoS.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
inlineprivate |
Definition at line 104 of file VanDerWaalsEoS.h.
References m_a, m_b, and Nektar::EquationOfState::m_gamma.
Referenced by v_GetPressure().
|
inlineprivate |
Definition at line 96 of file VanDerWaalsEoS.h.
References m_a, Nektar::EquationOfState::m_gamma, and Nektar::EquationOfState::m_gasConstant.
Referenced by v_GetTemperature().
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 102 of file VanDerWaalsEoS.cpp.
References m_b, and Nektar::EquationOfState::m_gamma.
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 90 of file VanDerWaalsEoS.cpp.
References m_a, m_b, and Nektar::EquationOfState::m_gamma.
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 108 of file VanDerWaalsEoS.cpp.
References m_a, m_b, Nektar::EquationOfState::m_gamma, and CellMLToNektar.cellml_metadata::p.
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 81 of file VanDerWaalsEoS.cpp.
References Nektar::EquationOfState::GetTemperature(), tinysimd::log(), m_b, Nektar::EquationOfState::m_gamma, and Nektar::EquationOfState::m_gasConstant.
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 70 of file VanDerWaalsEoS.cpp.
References GetPressureKernel().
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 76 of file VanDerWaalsEoS.cpp.
References GetPressureKernel().
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 115 of file VanDerWaalsEoS.cpp.
References tinysimd::abs(), m_a, m_b, Nektar::EquationOfState::m_gasConstant, and CellMLToNektar.cellml_metadata::p.
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 59 of file VanDerWaalsEoS.cpp.
References GetTemperatureKernel().
|
finalprotectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 65 of file VanDerWaalsEoS.cpp.
References GetTemperatureKernel().
|
friend |
Definition at line 1 of file VanDerWaalsEoS.h.
|
static |
Name of the class.
Definition at line 64 of file VanDerWaalsEoS.h.
|
protected |
Definition at line 67 of file VanDerWaalsEoS.h.
Referenced by GetPressureKernel(), GetTemperatureKernel(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetRhoFromPT(), and VanDerWaalsEoS().
|
protected |
Definition at line 68 of file VanDerWaalsEoS.h.
Referenced by GetPressureKernel(), v_GetDPDe_rho(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetEntropy(), v_GetRhoFromPT(), and VanDerWaalsEoS().