38 VPSSMgr(right.m_vptp_ptr, right.m_spthermo),
47 VPSSMgr_Water_HKFT& VPSSMgr_Water_HKFT::operator=(
const VPSSMgr_Water_HKFT& b)
78 for (
size_t k = 0; k <
m_kk; k++) {
147 for (
size_t k = 1; k <
m_kk; k++) {
158 for (
size_t k = 1; k <
m_kk; k++) {
174 for (
size_t k = 1; k <
m_kk; k++) {
186 const std::string&
id)
195 for (
size_t k = 1; k <
m_kk; k++) {
200 "No species Node for species " + name);
205 "No standardState Node for species " + name);
207 if (!ba::iequals(ss->
attrib(
"model"),
"hkft")) {
209 "Standard state model for a solute species isn't " 210 "the HKFT standard state model: " + name);
221 throw CanteraError(
"VPSSMgr_Water_HKFT::installSpecies",
222 "No standardState Node for species " + speciesNode[
"name"]);
228 if (speciesNode[
"name"] !=
"H2O(L)") {
229 throw CanteraError(
"VPSSMgr_Water_HKFT::installSpecies",
230 "h2o wrong name: " + speciesNode[
"name"]);
233 std::string model = ss->
attrib(
"model");
234 if (model !=
"waterIAPWS" && model !=
"waterPDSS") {
235 throw CanteraError(
"VPSSMgr_Water_HKFT::installSpecies",
236 "wrong SS mode: " + model);
243 if (ss->
attrib(
"model") !=
"HKFT") {
245 "standardState model for species isn't " 246 "HKFT: " + speciesNode[
"name"]);
261 throw CanteraError(
"VPSSMgr_Water_ConstVol::initAllPtrs",
269 "To be removed after Cantera 2.3.");
276 "To be removed after Cantera 2.3.");
vector_fp m_V0
Vector containing the species reference molar volumes.
Header for a general species thermodynamic property manager for a phase (see MultiSpeciesThermo).
virtual void getCp_R_ref(doublereal *cpr) const
virtual void setState_T(doublereal T)
Set the temperature (K)
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
doublereal m_tlastRef
Last reference temperature calculated.
bool m_useTmpRefStateStorage
boolean indicating whether temporary reference state storage is used -> default is false ...
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
virtual void getGibbs_ref(doublereal *g) const
virtual PDSS * createInstallPDSS(size_t k, const XML_Node &speciesNode, const XML_Node *const phaseNode_ptr)
Install specific content for species k in the standard-state thermodynamic calculator and also create...
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...
const doublereal OneAtm
One atmosphere [Pa].
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...
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
VPSSMgr & operator=(const VPSSMgr &right)
Variable pressure SS calculate for phases consisting of real water as the first species and species o...
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 initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
PDSS_Water * m_waterSS
Shallow pointer to the water object.
size_t m_kk
Number of species in the phase.
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, MultiSpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
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 void _updateRefStateThermo() const
Updates the reference state thermodynamic functions at the current T of the solution and the referenc...
virtual doublereal cp_R() const
Return the molar const pressure heat capacity divided by RT.
virtual void getEnthalpy_RT_ref(doublereal *hrt) 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...
VPSSMgr_enumType
enum for VPSSMgr types that are responsible for calculating the species standard state and reference-...
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
virtual doublereal molarVolume() const
Return the molar volume at standard state.
virtual void setState_P(doublereal P)
Set the pressure (Pa)
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.
MultiSpeciesThermo * m_spthermo
Pointer to reference state thermo calculator.
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
std::string speciesName(size_t k) const
Name of the species with index k.
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.
Classes providing support for XML data files.
VPSSMgr_Water_HKFT(VPStandardStateTP *vptp_ptr, MultiSpeciesThermo *spth)
Constructor.
virtual void getEntropy_R_ref(doublereal *er) const
Base class for exceptions thrown by Cantera classes.
Manages standard state thermo properties for real water and a set of species which have the HKFT equa...
virtual doublereal entropy_mole() const
Return the molar entropy in units of J kmol-1 K-1.
doublereal pref_safe(doublereal temp) const
Returns a reference pressure value that can be safely calculated by the underlying real equation of s...
virtual void getGibbs_RT_ref(doublereal *grt) const
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
virtual doublereal cp_mole() const
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
virtual doublereal gibbs_RT() const
Return the molar Gibbs free energy divided by RT.
vector_fp m_Vss
Vector containing the species standard state volumes at T = m_tlast and P = m_plast.
XML_Node & child(const size_t n) const
Return a changeable reference to the n'th child of the current node.
XML_Node & root() const
Return the root of the current XML_Node tree.
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_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.
virtual void updateRefStateThermo() const
Updates the internal reference state thermodynamic vectors at the current T of the solution and the r...
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 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.
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].
Contains declarations for string manipulation functions within Cantera.
Class for pressure dependent standard states corresponding to ionic solutes in electrolyte water...
virtual doublereal density() const
Return the standard state density at standard state.
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...
A species thermodynamic property manager for a phase.
doublereal molecularWeight(size_t k) const
Molecular weight of species k.
doublereal m_tlast
The last temperature at which the standard state thermodynamic properties were calculated at...
virtual void setState_TP(doublereal T, doublereal P)
Set the temperature (K) and pressure (Pa)
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...
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
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 ...
Declarations for the class PDSS_HKFT (pressure dependent standard state) which handles calculations f...
Declaration file for a derived class that handles the calculation of standard state thermo properties...
vector_fp m_s0_R
Vector containing the species reference entropies at T = m_tlast and P = p_ref.
virtual doublereal enthalpy_mole() const
Return the molar enthalpy in units of J kmol-1.