Nektar++
|
Peng-Robinson equation of state: p = RT/(1/rho - b) - a*Alpha(T/Tc) / (1/rho^2 + 2*b/rho - b^2) with a = 0.45724 * (R*Tc)^2 / Pc b = 0.0778 * (R*Tc) / Pc Alpha(T/Tc) = [1 + fw * (1 - sqrt(T/ Tc))]^2 fw = 0.37464 + 1.54226*omega - 0.2699*omega*omega. More...
#include <PengRobinsonEoS.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 Member Functions | |
virtual NekDouble | v_GetTemperature (const NekDouble &rho, const NekDouble &e) |
virtual NekDouble | v_GetPressure (const NekDouble &rho, const NekDouble &e) |
virtual NekDouble | v_GetEntropy (const NekDouble &rho, const NekDouble &e) |
virtual NekDouble | v_GetDPDrho_e (const NekDouble &rho, const NekDouble &e) |
virtual NekDouble | v_GetDPDe_rho (const NekDouble &rho, const NekDouble &e) |
virtual NekDouble | v_GetEFromRhoP (const NekDouble &rho, const NekDouble &p) |
virtual NekDouble | v_GetRhoFromPT (const NekDouble &rho, const NekDouble &p) |
![]() | |
EquationOfState (const LibUtilities::SessionReaderSharedPtr &pSession) | |
Constructor. More... | |
virtual NekDouble | v_GetSoundSpeed (const NekDouble &rho, const NekDouble &e) |
Protected Attributes | |
NekDouble | m_a |
NekDouble | m_b |
NekDouble | m_Tc |
NekDouble | m_Pc |
NekDouble | m_omega |
NekDouble | m_fw |
![]() | |
NekDouble | m_gamma |
NekDouble | m_gasConstant |
Private Member Functions | |
PengRobinsonEoS (const LibUtilities::SessionReaderSharedPtr &pSession) | |
virtual | ~PengRobinsonEoS (void) |
NekDouble | Alpha (const NekDouble &T) |
NekDouble | LogTerm (const NekDouble &rho) |
Friends | |
class | MemoryManager< PengRobinsonEoS > |
Additional Inherited Members | |
![]() | |
virtual | ~EquationOfState () |
NekDouble | GetTemperature (const NekDouble &rho, const NekDouble &e) |
Calculate the temperature. More... | |
NekDouble | GetPressure (const NekDouble &rho, const NekDouble &e) |
Calculate the pressure. More... | |
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... | |
Peng-Robinson equation of state: p = RT/(1/rho - b) - a*Alpha(T/Tc) / (1/rho^2 + 2*b/rho - b^2) with a = 0.45724 * (R*Tc)^2 / Pc b = 0.0778 * (R*Tc) / Pc Alpha(T/Tc) = [1 + fw * (1 - sqrt(T/ Tc))]^2 fw = 0.37464 + 1.54226*omega - 0.2699*omega*omega.
Definition at line 51 of file PengRobinsonEoS.h.
|
private |
Definition at line 47 of file PengRobinsonEoS.cpp.
References m_a, m_b, m_fw, Nektar::EquationOfState::m_gasConstant, m_omega, m_Pc, and m_Tc.
|
inlineprivatevirtual |
Definition at line 233 of file PengRobinsonEoS.cpp.
Referenced by v_GetDPDe_rho(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetEntropy(), v_GetPressure(), v_GetRhoFromPT(), and ~PengRobinsonEoS().
|
inlinestatic |
Creates an instance of this class.
Definition at line 57 of file PengRobinsonEoS.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
Definition at line 239 of file PengRobinsonEoS.cpp.
References m_b.
Referenced by v_GetDPDe_rho(), v_GetEFromRhoP(), v_GetEntropy(), v_GetTemperature(), and ~PengRobinsonEoS().
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 138 of file PengRobinsonEoS.cpp.
References Alpha(), Nektar::EquationOfState::GetTemperature(), LogTerm(), m_a, m_b, m_fw, Nektar::EquationOfState::m_gamma, Nektar::EquationOfState::m_gasConstant, and m_Tc.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 113 of file PengRobinsonEoS.cpp.
References Alpha(), Nektar::EquationOfState::GetDPDe_rho(), Nektar::EquationOfState::GetTemperature(), m_a, m_b, m_fw, and Nektar::EquationOfState::m_gasConstant.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 162 of file PengRobinsonEoS.cpp.
References Alpha(), LogTerm(), m_a, m_b, m_fw, Nektar::EquationOfState::m_gamma, Nektar::EquationOfState::m_gasConstant, m_Tc, and CellMLToNektar.cellml_metadata::p.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 94 of file PengRobinsonEoS.cpp.
References Alpha(), Nektar::EquationOfState::GetTemperature(), LogTerm(), m_a, m_b, m_fw, Nektar::EquationOfState::m_gamma, Nektar::EquationOfState::m_gasConstant, and m_Tc.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 82 of file PengRobinsonEoS.cpp.
References Alpha(), Nektar::EquationOfState::GetTemperature(), m_a, m_b, Nektar::EquationOfState::m_gasConstant, and CellMLToNektar.cellml_metadata::p.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 190 of file PengRobinsonEoS.cpp.
References Alpha(), m_a, m_b, and Nektar::EquationOfState::m_gasConstant.
|
protectedvirtual |
Implements Nektar::EquationOfState.
Definition at line 60 of file PengRobinsonEoS.cpp.
References LogTerm(), m_a, m_b, m_fw, Nektar::EquationOfState::m_gamma, Nektar::EquationOfState::m_gasConstant, and m_Tc.
|
friend |
Definition at line 54 of file PengRobinsonEoS.h.
|
static |
Name of the class.
Definition at line 66 of file PengRobinsonEoS.h.
|
protected |
Definition at line 69 of file PengRobinsonEoS.h.
Referenced by PengRobinsonEoS(), v_GetDPDe_rho(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetEntropy(), v_GetPressure(), v_GetRhoFromPT(), and v_GetTemperature().
|
protected |
Definition at line 70 of file PengRobinsonEoS.h.
Referenced by LogTerm(), PengRobinsonEoS(), v_GetDPDe_rho(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetEntropy(), v_GetPressure(), v_GetRhoFromPT(), and v_GetTemperature().
|
protected |
Definition at line 74 of file PengRobinsonEoS.h.
Referenced by Alpha(), PengRobinsonEoS(), v_GetDPDe_rho(), v_GetDPDrho_e(), v_GetEFromRhoP(), v_GetEntropy(), and v_GetTemperature().
|
protected |
Definition at line 73 of file PengRobinsonEoS.h.
Referenced by PengRobinsonEoS().
|
protected |
Definition at line 72 of file PengRobinsonEoS.h.
Referenced by PengRobinsonEoS().
|
protected |
Definition at line 71 of file PengRobinsonEoS.h.
Referenced by Alpha(), PengRobinsonEoS(), v_GetDPDe_rho(), v_GetEFromRhoP(), v_GetEntropy(), and v_GetTemperature().