Cantera
2.1.2
|
A VPSSMgr where all species in the phase obey an ideal gas equation of state. More...
#include <VPSSMgr_IdealGas.h>
Public Member Functions | |
VPSSMgr_IdealGas (VPStandardStateTP *vp_ptr, SpeciesThermo *spth) | |
Basic constructor that initializes the object. More... | |
VPSSMgr_IdealGas (const VPSSMgr_IdealGas &right) | |
Copy Constructor. More... | |
VPSSMgr_IdealGas & | operator= (const VPSSMgr_IdealGas &right) |
Assignment operator. More... | |
virtual VPSSMgr * | duplMyselfAsVPSSMgr () const |
Duplication routine for objects which derive from VPSSMgr. More... | |
virtual PDSS * | createInstallPDSS (size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr) |
Create and install an ideal gas standard state manager for one species within this object. More... | |
virtual PDSS_enumType | reportPDSSType (int index=-1) const |
This utility function reports the type of parameterization used for the species with index number index. More... | |
virtual VPSSMgr_enumType | reportVPSSMgrType () const |
This utility function reports the type of manager for the calculation of ss properties. More... | |
Properties of the Standard State of the Species in the Solution | |
Within VPStandardStateTP, these properties are calculated via a common routine, _updateStandardStateThermo(), which must be overloaded in inherited objects. The values are cached within this object, and are not recalculated unless the temperature or pressure changes. | |
virtual void | getIntEnergy_RT (doublereal *urt) const |
Returns the vector of nondimensional internal Energies of the standard state at the current temperature and pressure of the solution for each species. More... | |
virtual void | getStandardVolumes (doublereal *vol) const |
Get the molar volumes of each species in their standard states at the current T and P of the solution. More... | |
Initialization Methods - For Internal use | |
The following methods are used in the process of constructing the phase and setting its parameters from a specification in an input file. They are not normally used in application programs. To see how they are used, see files importCTML.cpp and ThermoFactory.cpp. | |
virtual void | initThermoXML (XML_Node &phaseNode, const std::string &id) |
Finalize the thermo after all species have been entered. More... | |
Public Member Functions inherited from VPSSMgr | |
VPSSMgr (VPStandardStateTP *vptp_ptr, SpeciesThermo *spth=0) | |
Constructor. More... | |
virtual | ~VPSSMgr () |
Destructor. More... | |
VPSSMgr (const VPSSMgr &right) | |
Copy Constructor. More... | |
VPSSMgr & | operator= (const VPSSMgr &right) |
Assignment operator. More... | |
virtual void | getStandardChemPotentials (doublereal *mu) const |
Get the array of chemical potentials at unit activity. More... | |
virtual void | getGibbs_RT (doublereal *grt) const |
Get the nondimensional Gibbs functions for the species at their standard states of solution at the current T and P of the solution. More... | |
virtual void | getEnthalpy_RT (doublereal *hrt) const |
Get the nondimensional Enthalpy functions for the species at their standard states at the current T and P of the solution. More... | |
const vector_fp & | enthalpy_RT () const |
Return a reference to a vector of the molar enthalpies of the species in their standard states. More... | |
virtual void | getEntropy_R (doublereal *sr) const |
Get the array of nondimensional Enthalpy functions for the standard state species at the current T and P of the solution. More... | |
const vector_fp & | entropy_R () const |
Return a reference to a vector of the entropies of the species. More... | |
virtual void | getCp_R (doublereal *cpr) const |
Get the nondimensional Heat Capacities at constant pressure for the standard state of the species at the current T and P. More... | |
const vector_fp & | cp_R () const |
Return a reference to a vector of the constant pressure heat capacities of the species. More... | |
virtual const vector_fp & | getStandardVolumes () const |
const vector_fp & | standardVolumes () const |
Return a reference to a vector of the species standard molar volumes. More... | |
virtual void | getEnthalpy_RT_ref (doublereal *hrt) const |
virtual void | getGibbs_RT_ref (doublereal *grt) const |
const vector_fp & | Gibbs_RT_ref () const |
Return a reference to the vector of Gibbs free energies of the species. More... | |
virtual void | getGibbs_ref (doublereal *g) const |
virtual void | getEntropy_R_ref (doublereal *er) const |
virtual void | getCp_R_ref (doublereal *cpr) const |
virtual void | getStandardVolumes_ref (doublereal *vol) const |
Get the molar volumes of the species reference states at the current T and P_ref of the solution. More... | |
virtual doublereal | minTemp (size_t k=npos) const |
Minimum temperature. More... | |
virtual doublereal | maxTemp (size_t k=npos) const |
Maximum temperature. More... | |
virtual doublereal | refPressure (size_t k=npos) const |
The reference-state pressure for the standard state. More... | |
virtual void | setState_TP (doublereal T, doublereal P) |
Set the temperature (K) and pressure (Pa) More... | |
virtual void | setState_T (doublereal T) |
Set the temperature (K) More... | |
virtual void | setState_P (doublereal P) |
Set the pressure (Pa) More... | |
doublereal | temperature () const |
Return the temperature stored in the object. More... | |
doublereal | pressure () const |
Return the pressure stored in the object. More... | |
SpeciesThermo * | SpeciesThermoMgr () |
Return the pointer to the reference-state Thermo calculator SpeciesThermo object. More... | |
virtual void | updateStandardStateThermo () |
Updates the internal standard state thermodynamic vectors at the current T and P of the solution. More... | |
virtual void | updateRefStateThermo () const |
Updates the internal reference state thermodynamic vectors at the current T of the solution and the reference pressure. More... | |
virtual void | initThermo () |
void | initLengths () |
Initialize the lengths within the object. More... | |
void | installSTSpecies (size_t k, const XML_Node &speciesNode, const XML_Node *phaseNode_ptr) |
Install specific content for species k in the reference-state thermodynamic SpeciesManager object. More... | |
virtual void | initAllPtrs (VPStandardStateTP *vp_ptr, SpeciesThermo *sp_ptr) |
Initialize the internal shallow pointers in this object. More... | |
Protected Member Functions | |
virtual void | _updateStandardStateThermo () |
Updates the standard state thermodynamic functions at the current T and P of the solution. More... | |
Protected Member Functions inherited from VPSSMgr | |
virtual void | _updateRefStateThermo () const |
Updates the reference state thermodynamic functions at the current T of the solution and the reference pressure. More... | |
A VPSSMgr where all species in the phase obey an ideal gas equation of state.
Definition at line 31 of file VPSSMgr_IdealGas.h.
VPSSMgr_IdealGas | ( | VPStandardStateTP * | vp_ptr, |
SpeciesThermo * | spth | ||
) |
Basic constructor that initializes the object.
vp_ptr | Pointer to the owning ThermoPhase |
spth | Species thermo pointer. |
Definition at line 28 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::m_useTmpRefStateStorage, and VPSSMgr::m_useTmpStandardStateStorage.
Referenced by VPSSMgr_IdealGas::duplMyselfAsVPSSMgr().
VPSSMgr_IdealGas | ( | const VPSSMgr_IdealGas & | right | ) |
Copy Constructor.
Definition at line 35 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::m_useTmpRefStateStorage, and VPSSMgr::m_useTmpStandardStateStorage.
VPSSMgr_IdealGas & operator= | ( | const VPSSMgr_IdealGas & | right | ) |
Assignment operator.
Definition at line 43 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::operator=().
|
virtual |
Duplication routine for objects which derive from VPSSMgr.
This function can be used to duplicate objects derived from VPSSMgr even if the application only has a pointer to VPSSMgr to work with.
Reimplemented from VPSSMgr.
Definition at line 52 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr_IdealGas::VPSSMgr_IdealGas().
|
virtual |
Returns the vector of nondimensional internal Energies of the standard state at the current temperature and pressure of the solution for each species.
The internal energy is calculated from the enthalpy from the following formula:
\[ u^{ss}_k(T,P) = h^{ss}_k(T) - P * V^{ss}_k \]
urt | Output vector of nondimensional standard state internal energies. length = m_kk. |
Reimplemented from VPSSMgr.
Definition at line 57 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::getEnthalpy_RT(), and VPSSMgr::m_kk.
|
virtual |
Get the molar volumes of each species in their standard states at the current T and P of the solution.
units = m^3 / kmol
This is redefined here to call the internal function, _updateStandardStateThermo(), which calculates all standard state properties at the same time.
vol | Output vector of species volumes. length = m_kk. units = m^3 / kmol |
Reimplemented from VPSSMgr.
Definition at line 65 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::m_Vss.
|
protectedvirtual |
Updates the standard state thermodynamic functions at the current T and P of the solution.
If m_useTmpStandardStateStorage is true, this function must be called for every call to functions in this class. It checks to see whether the temperature or pressure has changed and thus the ss thermodynamics functions for all of the species must be recalculated.
This function is responsible for updating the following internal members, when m_useTmpStandardStateStorage is true.
If m_useTmpStandardStateStorage is not true, this function may be required to be called by child classes to update internal member data.
Note, the base class implementation will throw an error. It must be reimplemented in derived classes.
Underscore updates never check for the state of the system They just do the calculation.
Reimplemented from VPSSMgr.
Definition at line 70 of file VPSSMgr_IdealGas.cpp.
References Cantera::GasConstant, VPSSMgr::m_cp0_R, VPSSMgr::m_cpss_R, VPSSMgr::m_gss_RT, VPSSMgr::m_h0_RT, VPSSMgr::m_hss_RT, VPSSMgr::m_kk, VPSSMgr::m_p0, VPSSMgr::m_plast, VPSSMgr::m_s0_R, VPSSMgr::m_sss_R, VPSSMgr::m_Vss, and VPSSMgr::temperature().
|
virtual |
Finalize the thermo after all species have been entered.
This function is the LAST initialization routine to be called. It's called after createInstallPDSS() has been called for each species in the phase, and after initThermo() has been called. It's called via an inner-to-outer onion shell like manner.
In this routine, we currently calculate the reference pressure, the minimum and maximum temperature for the applicability of the thermo formulation.
phaseNode | Reference to the phaseNode XML node. |
id | ID of the phase. |
Reimplemented from VPSSMgr.
Definition at line 86 of file VPSSMgr_IdealGas.cpp.
References VPSSMgr::initThermoXML().
|
virtual |
Create and install an ideal gas standard state manager for one species within this object.
This function sets up the internal data within this object for handling the calculation of the standard state for the species.
k | Species index within the phase |
speciesNode | Reference to the species node in the XML tree |
phaseNode_ptr | Pointer to the phase node in the XML tree |
Reimplemented from VPSSMgr.
Definition at line 92 of file VPSSMgr_IdealGas.cpp.
References SpeciesThermoFactory::factory(), XML_Node::findByName(), SpeciesThermoFactory::installThermoForSpecies(), VPSSMgr::m_p0, VPSSMgr::m_spthermo, VPSSMgr::m_vptp_ptr, VPSSMgr::m_Vss, XML_Node::name(), and SpeciesThermo::refPressure().
|
virtual |
This utility function reports the type of parameterization used for the species with index number index.
The following methods are used in the process of reporting various states and attributes
index | Species index |
Reimplemented from VPSSMgr.
Definition at line 119 of file VPSSMgr_IdealGas.cpp.
|
virtual |
This utility function reports the type of manager for the calculation of ss properties.
Reimplemented from VPSSMgr.
Definition at line 124 of file VPSSMgr_IdealGas.cpp.
References Cantera::cVPSSMGR_IDEALGAS.