34 VPSSMgr(right.m_vptp_ptr, right.m_spthermo)
66 for (
size_t k = 0; k <
m_kk; k++) {
81 "unimplemented without m_useTmpRefStateStorage");
90 throw CanteraError(
"VPSSMgr_ConstVol::getStandardVolumes_ref",
91 "unimplemented without m_useTmpRefStateStorage");
110 for (
size_t k = 0; k <
m_kk; k++) {
114 "no species Node for species " + sss[k]);
119 "no standardState Node for species " + s->
name());
121 std::string model = (*ss)[
"model"];
122 if (model !=
"constant_incompressible" && model !=
"constantVolume") {
124 "standardState model for species isn't constant_incompressible: " + s->
name());
132 const XML_Node*
const phaseNode_ptr)
138 "no standardState Node for species " + speciesNode.
name());
140 std::string model = (*ss)[
"model"];
141 if (model !=
"constant_incompressible" && model !=
"constantVolume") {
143 "standardState model for species isn't "
144 "constant_incompressible: " + speciesNode.
name());
146 if (
m_Vss.size() < k+1) {
147 m_Vss.resize(k+1, 0.0);
155 *phaseNode_ptr,
true);
161 return cPDSS_CONSTVOL;
XML_Node * findByAttr(const std::string &attr, const std::string &val, int depth=100000) const
This routine carries out a recursive search for an XML node based on an attribute of each XML node...
bool m_useTmpRefStateStorage
virtual PDSS_enumType reportPDSSType(int index=-1) const
This utility function reports the type of parameterization used for the species with index number ind...
vector_fp m_sss_R
Vector containing the species Standard State entropies at T = m_tlast and P = m_plast.
Virtual base class for the classes that manage the calculation of standard state properties for all t...
VPSSMgr & operator=(const VPSSMgr &right)
Assignment operator.
bool m_useTmpStandardStateStorage
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...
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
VPSSMgr_ConstVol & operator=(const VPSSMgr_ConstVol &right)
Assignment operator.
size_t m_kk
Number of species in the phase.
Class XML_Node is a tree-based representation of the contents of an XML file.
VPSSMgr_ConstVol(VPStandardStateTP *vp_ptr, SpeciesThermo *spth)
Constructor.
doublereal getFloat(const Cantera::XML_Node &parent, const std::string &name, const std::string &type)
Get a floating-point value from a child element.
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Create and install a constant volume pressure dependent standard state for one species within this ob...
virtual void initThermo()
Constant Molar Volume e VPSS species thermo manager class.
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
Pure Virtual base class for the species thermo manager classes.
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
XML_Node & child(const size_t n) const
Return a changeable reference to the n'th child of the current node.
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_cp0_R
Vector containing the species reference constant pressure heat capacities at T = m_tlast and P = p_re...
VPStandardStateTP * m_vptp_ptr
Variable pressure ThermoPhase object.
Class for pressure dependent standard states that use a constant volume model.
virtual void getGibbs_RT_ref(doublereal *grt) const
doublereal m_plast
The last pressure at which the Standard State thermodynamic properties were calculated at...
PDSS_enumType
Types of PDSS's.
Variable pressure SS calculate for phases consisting all species having a constant molar volume prope...
std::string name() const
Returns the name of the XML node.
Classes providing support for XML data files.
Base class for exceptions thrown by Cantera classes.
virtual void initThermo()
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
vector_fp m_Vss
Vector containing the species standard state volumes at T = m_tlast and P = m_plast.
const std::vector< std::string > & speciesNames() const
Return a const reference to the vector of species names.
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 =...
Header for factory to build instances of classes that manage the standard-state thermodynamic propert...
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
Virtual base class for a species with a pressure dependent standard state.
vector_fp m_g0_RT
Vector containing the species reference Gibbs functions at T = m_tlast and P = p_ref.
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
Declarations for a derived class for the calculation of multiple-species thermodynamic property manag...
Declarations for the class PDSS_ConstVol (pressure dependent standard state) which handles calculatio...
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...
XML_Node & root() const
Return the root of the current XML_Node tree.
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
vector_fp m_gss_RT
Vector containing the species Standard State Gibbs functions at T = m_tlast and P = m_plast...
XML_Node * get_XML_NameID(const std::string &nameTarget, const std::string &file_ID, XML_Node *root)
This routine will locate an XML node in either the input XML tree or in another input file specified ...
vector_fp m_s0_R
Vector containing the species reference entropies at T = m_tlast and P = p_ref.