41 VPSSMgr(right.m_vptp_ptr, right.m_spthermo)
48 VPSSMgr_General& VPSSMgr_General::operator=(
const VPSSMgr_General& b)
61 for (
size_t k = 0; k <
m_kk; k++) {
79 for (
size_t k = 0; k <
m_kk; k++) {
87 for (
size_t k = 0; k <
m_kk; k++) {
101 for (
size_t k = 0; k <
m_kk; k++) {
123 for (
size_t k = 0; k <
m_kk; k++) {
134 const XML_Node*
const phaseNode_ptr,
bool& doST)
145 std::string model = ss->
attrib(
"model");
146 if (model ==
"constant_incompressible") {
150 throw CanteraError(
"VPSSMgr_General::returnPDSS_ptr",
"new PDSS_ConstVol failed");
152 }
else if (model ==
"waterIAPWS" || model ==
"waterPDSS") {
156 }
else if (model ==
"HKFT") {
160 }
else if (model ==
"IonFromNeutral") {
165 "new PDSS_IonsFromNeutral failed");
168 }
else if (model ==
"constant" || model ==
"temperature_polynomial" || model ==
"density_temperature_polynomial") {
172 throw CanteraError(
"VPSSMgr_General::returnPDSS_ptr",
"new PDSS_SSVol failed");
176 "unknown standard state formulation: " + model);
182 const XML_Node*
const phaseNode_ptr)
203 "To be removed after Cantera 2.3.");
210 "To be removed after Cantera 2.3.");
vector_fp m_V0
Vector containing the species reference molar volumes.
PDSS * returnPDSS_ptr(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr, bool &doST)
Local factory routine for the creation of PDSS objects.
doublereal m_minTemp
minimum temperature for the standard state calculations
bool m_useTmpRefStateStorage
boolean indicating whether temporary reference state storage is used -> default is false ...
void initLengths()
Initialize the lengths within the object.
CTML ("Cantera Markup Language") is the variant of XML that Cantera uses to store data...
Derived class for pressure dependent standard states of an ideal gas species.
const XML_Node * findByName(const std::string &nm, int depth=100000) const
This routine carries out a recursive search for an XML node based on the name of the node...
vector_fp m_sss_R
Vector containing the species Standard State entropies at T = m_tlast and P = m_plast.
doublereal m_maxTemp
maximum temperature for the standard state calculations
Various templated functions that carry out common vector operations (see Templated Utility Functions)...
Virtual base class for the classes that manage the calculation of standard state properties for all t...
VPSSMgr & operator=(const VPSSMgr &right)
virtual doublereal entropy_R_ref() const
Return the molar entropy divided by R at reference pressure.
virtual doublereal entropy_R() const
Return the standard state entropy divided by RT.
bool m_useTmpStandardStateStorage
boolean indicating whether temporary standard state storage is used -> default is false ...
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
doublereal refPressure() const
Return the reference pressure for this phase.
Variable pressure SS calculate for phases consisting of completing general representations.
size_t m_kk
Number of species in the phase.
std::vector< PDSS * > m_PDSS_ptrs
Shallow pointers containing the PDSS objects for the species in this phase.
Declaration file for a derived class that handles the calculation of standard state thermo properties...
Class XML_Node is a tree-based representation of the contents of an XML file.
Implementation of a pressure dependent standard state virtual function for a Pure Water Phase (see Sp...
void installPDSShandler(size_t k, PDSS *PDSS_ptr, VPSSMgr *vpssmgr_ptr)
Install a PDSS object to handle the reference state thermodynamics calculation.
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
virtual doublereal cp_R() const
Return the molar const pressure heat capacity divided by RT.
doublereal maxTemp() const
return the minimum temperature
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
virtual doublereal molarVolume_ref() const
Return the molar volume at reference pressure.
VPSSMgr_General(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *spth)
Constructor.
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
Declarations for the class PDSS_IdealGas (pressure dependent standard state) which handles calculatio...
virtual doublereal molarVolume() const
Return the molar volume at standard state.
vector_fp m_cp0_R
Vector containing the species reference constant pressure heat capacities at T = m_tlast and P = p_re...
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
VPStandardStateTP * m_vptp_ptr
Variable pressure ThermoPhase object.
MultiSpeciesThermo * m_spthermo
Pointer to reference state thermo calculator.
Class for pressure dependent standard states that use a constant volume model.
virtual doublereal cp_R_ref() const
Return the molar heat capacity divided by R at reference pressure.
virtual void getGibbs_ref(doublereal *g) const
Class for the liquid water pressure dependent standard state.
doublereal m_plast
The last pressure at which the Standard State thermodynamic properties were calculated at...
PDSS_enumType
Types of PDSS's.
Declarations for the class PDSS_SSVol (pressure dependent standard state) which handles calculations ...
virtual doublereal enthalpy_RT() const
Return the standard state molar enthalpy divided by RT.
Base class for exceptions thrown by Cantera classes.
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual void _updateRefStateThermo() const
Updates the reference state thermodynamic functions at the current T of the solution and the referenc...
Class for pressure dependent standard states that uses a standard state volume model of some sort...
vector_fp m_Vss
Vector containing the species standard state volumes at T = m_tlast and P = m_plast.
vector_fp m_hss_RT
Vector containing the species Standard State enthalpies at T = m_tlast and P = m_plast.
vector_fp m_cpss_R
Vector containing the species Standard State constant pressure heat capacities at T = m_tlast and P =...
vector_fp m_h0_RT
Vector containing the species reference enthalpies at T = m_tlast and P = p_ref.
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
std::string attrib(const std::string &attr) const
Function returns the value of an attribute.
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
Virtual base class for a species with a pressure dependent standard state.
void scale(InputIter begin, InputIter end, OutputIter out, S scale_factor)
Multiply elements of an array by a scale factor.
vector_fp m_g0_RT
Vector containing the species reference Gibbs functions at T = m_tlast and P = p_ref.
doublereal m_p0
Reference pressure (Pa) must be the same for all species - defaults to 1 atm.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
doublereal minTemp() const
return the minimum temperature
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
Declarations for the class PDSS_ConstVol (pressure dependent standard state) which handles calculatio...
Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water...
virtual doublereal enthalpy_RT_ref() const
Return the molar enthalpy divided by RT at reference pressure.
A species thermodynamic property manager for a phase.
Derived class for pressure dependent standard states of an ideal gas species.
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...
doublereal m_tlast
The last temperature at which the standard state thermodynamic properties were calculated at...
Class that handles the calculation of standard state thermo properties for a set of species belonging...
Namespace for the Cantera kernel.
vector_fp m_gss_RT
Vector containing the species Standard State Gibbs functions at T = m_tlast and P = m_plast...
Declarations for the class PDSS_IonsFromNeutral ( which handles calculations for a single ion in a fl...
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Factory routine for the creation of PDSS objects that are then internally registered with this VPSSMg...
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
Declarations for the class PDSS_HKFT (pressure dependent standard state) which handles calculations f...
virtual void initThermo()
vector_fp m_s0_R
Vector containing the species reference entropies at T = m_tlast and P = p_ref.