36 m_useTmpRefStateStorage(false),
37 m_useTmpStandardStateStorage(false)
41 "null pointer for VPStandardStateTP is not permissible");
60 m_useTmpRefStateStorage(false),
61 m_useTmpStandardStateStorage(false)
136 for (
size_t k = 0; k <
m_kk; k++) {
140 PDSS* PDSS_ptr = vp_ptr->providePDSS(k);
158 err(
"getStandardChemPotentials");
178 err(
"getEnthalpy_RT");
188 err(
"getEntropy_RT");
198 for (
size_t k = 0; k <
m_kk; k++) {
199 urt[k] -= pRT *
m_Vss[k];
202 err(
"getEntropy_RT");
217 VPSSMgr::getStandardVolumes(doublereal* vol)
const
222 err(
"getStandardVolumes");
226 VPSSMgr::getStandardVolumes()
const
231 err(
"getStandardVolumes");
242 err(
"getEnthalpy_RT_ref");
252 err(
"getGibbs_RT_ref");
274 err(
"getEntropy_R_ref");
339 for (
size_t k = 0; k <
m_kk; k++) {
343 err(
"_updateStandardStateThermo()");
350 for (
size_t k = 0; k <
m_kk; k++) {
397 for (
size_t i = 0; i <
m_kk; i++) {
399 doublereal mint = kPDSS->
minTemp();
412 for (
size_t k = 0; k <
m_kk; k++) {
414 if (
m_p0 != m_p0_k) {
425 for (
size_t k = 0; k <
m_kk; k++) {
428 if (
m_p0 != m_p0_k) {
454 err(
"VPSSMgr::createInstallPDSS");
488 err(
"reportPDSSType()");
495 err(
"reportVPSSType()");
496 return cVPSSMGR_UNDEF;
vector_fp m_V0
Vector containing the species reference molar volumes.
Factory to build instances of classes that manage the standard-state thermodynamic properties of a se...
void err(const std::string &msg) const
Error message to indicate an unimplemented feature.
vector_fp mPDSS_s0_R
species reference entropies - used by individual PDSS objects
SpeciesThermoInterpType * provideSTIT(size_t k)
Provide the SpeciesthermoInterpType object.
doublereal m_minTemp
minimum temperature for the standard state calculations
Pure Virtual Base class for the thermodynamic manager for an individual species' reference state...
bool m_useTmpRefStateStorage
void initLengths()
Initialize the lengths within the object.
vector_fp mPDSS_V0
species reference state molar Volumes - used by individual PDSS objects
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
virtual void getEnthalpy_RT_ref(doublereal *hrt) const
doublereal maxTemp() const
return the minimum temperature
Virtual base class for the classes that manage the calculation of standard state properties for all t...
Declaration file for a virtual base class that manages the calculation of standard state properties f...
virtual void getIntEnergy_RT(doublereal *urt) const
Returns the vector of nondimensional internal Energies of the standard state at the current temperatu...
VPSSMgr & operator=(const VPSSMgr &right)
Assignment operator.
virtual void updateRefStateThermo() const
Updates the internal reference state thermodynamic vectors at the current T of the solution and the r...
const size_t npos
index returned by functions to indicate "no position"
virtual doublereal maxTemp(size_t k=npos) const
Maximum temperature.
bool m_useTmpStandardStateStorage
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...
virtual void initThermoXML(XML_Node &phaseNode, const std::string &id)
Finalize the thermo after all species have been entered.
static SpeciesThermoFactory * factory()
Static method to return an instance of this class.
size_t m_kk
Number of species in the phase.
vector_fp mPDSS_cpss_R
species standard state heat capacities - used by individual PDSS objects
Class XML_Node is a tree-based representation of the contents of an XML file.
doublereal refPressure() const
Return the reference pressure for this phase.
virtual void initThermo()
doublereal minTemp() const
return the minimum temperature
void initAllPtrs(size_t speciesIndex, VPSSMgr *vpssmgr_ptr, PDSS *PDSS_ptr)
Initialize and/or Reinitialize all the pointers for this object.
void installThermoForSpecies(size_t k, const XML_Node &speciesNode, ThermoPhase *th_ptr, SpeciesThermo &spthermo, const XML_Node *phaseNode_ptr=0) const
Install a species thermodynamic property parameterization for the reference state for one species int...
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-...
virtual void getStandardChemPotentials(doublereal *mu) const
Get the array of chemical potentials at unit activity.
virtual void _updateStandardStateThermo()
Updates the standard state thermodynamic functions at the current T and P of the solution.
vector_fp mPDSS_cp0_R
species reference heat capacities - used by individual PDSS objects
virtual void getCp_R_ref(doublereal *cpr) const
vector_fp m_cp0_R
Vector containing the species reference constant pressure heat capacities at T = m_tlast and P = p_re...
Declarations for the virtual base class PDSS (pressure dependent standard state) which handles calcul...
A species thermodynamic property manager for a phase.
VPStandardStateTP * m_vptp_ptr
Variable pressure ThermoPhase object.
virtual void initAllPtrs(VPStandardStateTP *vp_ptr, SpeciesThermo *sp_ptr)
Initialize the internal shallow pointers in this object.
virtual VPSSMgr_enumType reportVPSSMgrType() const
This utility function reports the type of manager for the calculation of ss properties.
virtual void getEnthalpy_RT(doublereal *hrt) const
Get the nondimensional Enthalpy functions for the species at their standard states at the current T a...
virtual VPSSMgr * duplMyselfAsVPSSMgr() const
Duplication routine for objects which derive from VPSSMgr.
doublereal m_plast
The last pressure at which the Standard State thermodynamic properties were calculated at...
PDSS_enumType
Types of PDSS's.
vector_fp mPDSS_g0_RT
species reference gibbs free energies - used by individual PDSS objects
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 setState_T(doublereal T)
Set the temperature (K)
virtual void getEntropy_R(doublereal *sr) const
Get the array of nondimensional Enthalpy functions for the standard state species at the current T an...
Class for the thermodynamic manager for an individual species' reference state which uses the PDSS ba...
virtual doublereal refPressure(size_t k=npos) const
The reference-state pressure for the standard state.
virtual doublereal refPressure(size_t k=npos) const =0
The reference-state pressure for species k.
Base class for exceptions thrown by Cantera classes.
virtual void getGibbs_RT(doublereal *grt) const
Get the nondimensional Gibbs functions for the species at their standard states of solution at the cu...
This is a filter class for ThermoPhase that implements some prepatory steps for efficiently handling ...
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 mPDSS_sss_R
species standard state entropies - used by individual PDSS objects
virtual void _updateRefStateThermo() const
Updates the reference state thermodynamic functions at the current T of the solution and the referenc...
vector_fp mPDSS_Vss
species standard state molar Volumes - used by individual PDSS objects
virtual doublereal minTemp(size_t k=npos) const
Minimum temperature.
vector_fp m_Vss
Vector containing the species standard state volumes at T = m_tlast and P = m_plast.
vector_fp mPDSS_gss_RT
species standard state gibbs free energies - used by individual PDSS objects
size_t nSpecies() const
Returns the number of species in the phase.
virtual void updateStandardStateThermo()
Updates the internal standard state thermodynamic vectors at the current T and P of the solution...
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...
Headers for a completely general species thermodynamic property manager for a phase (see Managers for...
Header file for a derived class of ThermoPhase that handles variable pressure standard state methods ...
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Virtual base class for a species with a pressure dependent standard state.
vector_fp mPDSS_hss_RT
species standard state enthalpies - used by individual PDSS objects
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.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
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...
virtual void getCp_R(doublereal *cpr) const
Get the nondimensional Heat Capacities at constant pressure for the standard state of the species at ...
virtual void getEntropy_R_ref(doublereal *er) const
SpeciesThermo * m_spthermo
Pointer to reference state thermo calculator.
virtual void update(doublereal T, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const =0
Compute the reference-state properties for all species.
vector_fp mPDSS_h0_RT
species reference enthalpies - used by individual PDSS objects
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...
virtual void setState_TP(doublereal T, doublereal P)
Set the temperature (K) and pressure (Pa)
vector_fp m_gss_RT
Vector containing the species Standard State Gibbs functions at T = m_tlast and P = m_plast...
VPSSMgr(VPStandardStateTP *vptp_ptr, SpeciesThermo *spth=0)
Constructor.
virtual ~VPSSMgr()
Destructor.
virtual void getGibbs_RT_ref(doublereal *grt) const
virtual void setState_P(doublereal P)
Set the pressure (Pa)
virtual void setState_TP(doublereal temp, doublereal pres)
Set the internal temperature and pressure.
virtual void getGibbs_ref(doublereal *g) const
vector_fp m_s0_R
Vector containing the species reference entropies at T = m_tlast and P = p_ref.