Cantera  2.4.0
Protected Attributes | List of all members

Virtual base class for a species with a pressure dependent standard state. More...

#include <PDSS.h>

Inheritance diagram for PDSS:
[legend]

Public Member Functions

Constructors
 PDSS ()
 Default Constructor. More...
 
 PDSS (const PDSS &b)=delete
 
PDSSoperator= (const PDSS &b)=delete
 
virtual ~PDSS ()
 
Molar Thermodynamic Properties of the Species Standard State in
the Solution
virtual doublereal enthalpy_mole () const
 Return the molar enthalpy in units of J kmol-1. More...
 
virtual doublereal enthalpy_RT () const
 Return the standard state molar enthalpy divided by RT. More...
 
virtual doublereal intEnergy_mole () const
 Return the molar internal Energy in units of J kmol-1. More...
 
virtual doublereal entropy_mole () const
 Return the molar entropy in units of J kmol-1 K-1. More...
 
virtual doublereal entropy_R () const
 Return the standard state entropy divided by RT. More...
 
virtual doublereal gibbs_mole () const
 Return the molar Gibbs free energy in units of J kmol-1. More...
 
virtual doublereal gibbs_RT () const
 Return the molar Gibbs free energy divided by RT. More...
 
virtual doublereal cp_mole () const
 Return the molar const pressure heat capacity in units of J kmol-1 K-1. More...
 
virtual doublereal cp_R () const
 Return the molar const pressure heat capacity divided by RT. More...
 
virtual doublereal cv_mole () const
 Return the molar const volume heat capacity in units of J kmol-1 K-1. More...
 
virtual doublereal molarVolume () const
 Return the molar volume at standard state. More...
 
virtual doublereal density () const
 Return the standard state density at standard state. More...
 
virtual doublereal enthalpyDelp_mole () const
 Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal entropyDelp_mole () const
 Get the difference in the standard state entropy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal gibbsDelp_mole () const
 Get the difference in the standard state Gibbs free energy between the current pressure and the reference pressure, p0. More...
 
virtual doublereal cpDelp_mole () const
 Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0. More...
 
Properties of the Reference State of the Species in the Solution
doublereal refPressure () const
 Return the reference pressure for this phase. More...
 
doublereal minTemp () const
 return the minimum temperature More...
 
doublereal maxTemp () const
 return the minimum temperature More...
 
virtual doublereal gibbs_RT_ref () const
 Return the molar Gibbs free energy divided by RT at reference pressure. More...
 
virtual doublereal enthalpy_RT_ref () const
 Return the molar enthalpy divided by RT at reference pressure. More...
 
virtual doublereal entropy_R_ref () const
 Return the molar entropy divided by R at reference pressure. More...
 
virtual doublereal cp_R_ref () const
 Return the molar heat capacity divided by R at reference pressure. More...
 
virtual doublereal molarVolume_ref () const
 Return the molar volume at reference pressure. More...
 
Mechanical Equation of State Properties
virtual doublereal pressure () const
 Returns the pressure (Pa) More...
 
virtual void setPressure (doublereal pres)
 Sets the pressure in the object. More...
 
virtual doublereal thermalExpansionCoeff () const
 Return the volumetric thermal expansion coefficient. Units: 1/K. More...
 
Partial Molar Properties of the Solution
virtual void setTemperature (doublereal temp)
 Set the internal temperature. More...
 
virtual doublereal temperature () const
 Return the current stored temperature. More...
 
virtual void setState_TP (doublereal temp, doublereal pres)
 Set the internal temperature and pressure. More...
 
virtual void setState_TR (doublereal temp, doublereal rho)
 Set the internal temperature and density. More...
 
Miscellaneous properties of the standard state
virtual doublereal critTemperature () const
 critical temperature More...
 
virtual doublereal critPressure () const
 critical pressure More...
 
virtual doublereal critDensity () const
 critical density More...
 
virtual doublereal satPressure (doublereal T)
 saturation pressure More...
 
doublereal molecularWeight () const
 Return the molecular weight of the species in units of kg kmol-1. More...
 
void setMolecularWeight (doublereal mw)
 Set the molecular weight of the species. More...
 
Initialization of the Object
void setReferenceThermo (shared_ptr< SpeciesThermoInterpType > stit)
 Set the SpeciesThermoInterpType object used to calculate reference state properties. More...
 
virtual bool useSTITbyPDSS () const
 Returns 'true' if this object should be used in an STITbyPDSS object in the phase's reference thermo manager, or 'false' if a separate SpeciesThermoInterpType should be constructed. More...
 
virtual void setParent (VPStandardStateTP *phase, size_t k)
 Set the parent VPStandardStateTP object of this PDSS object. More...
 
virtual void initThermo ()
 Initialization routine. More...
 
virtual void setParametersFromXML (const XML_Node &speciesNode)
 Initialization routine for the PDSS object based on the speciesNode. More...
 
virtual void reportParams (size_t &kindex, int &type, doublereal *const c, doublereal &minTemp, doublereal &maxTemp, doublereal &refPressure) const
 This utility function reports back the type of parameterization and all of the parameters for the species, index. More...
 

Protected Attributes

doublereal m_temp
 Current temperature used by the PDSS object. More...
 
doublereal m_pres
 State of the system - pressure. More...
 
doublereal m_p0
 Reference state pressure of the species. More...
 
doublereal m_minTemp
 Minimum temperature. More...
 
doublereal m_maxTemp
 Maximum temperature. More...
 
doublereal m_mw
 Molecular Weight of the species. More...
 
shared_ptr< SpeciesThermoInterpTypem_spthermo
 Pointer to the species thermodynamic property manager. More...
 

Detailed Description

Virtual base class for a species with a pressure dependent standard state.

Virtual base class for calculation of the pressure dependent standard state for a single species

Class PDSS is the base class for a family of classes that compute properties of a set of species in their standard states at a range of temperatures and pressures. The independent variables for this object are temperature and pressure. The class may have a reference to a MultiSpeciesThermo object which handles the calculation of the reference state temperature behavior of a subset of species.

This class is analogous to the SpeciesThermoInterpType class, except that the standard state inherently incorporates the pressure dependence.

The class operates on a setState temperature and pressure basis. It only recalculates the standard state when the setState functions for temperature and pressure are called.

Thread Safety

These classes are designed such that they are not thread safe when called by themselves. The reason for this is that they sometimes use shared MultiSpeciesThermo resources where they set the states. This condition may be remedied in the future if we get serious about employing multithreaded capabilities by adding mutex locks to the MultiSpeciesThermo resources.

However, in many other respects they can be thread safe. They use separate memory and hold intermediate data.

Definition at line 165 of file PDSS.h.

Constructor & Destructor Documentation

◆ PDSS()

PDSS ( )

Default Constructor.

Definition at line 17 of file PDSS.cpp.

Member Function Documentation

◆ enthalpy_mole()

doublereal enthalpy_mole ( ) const
virtual

Return the molar enthalpy in units of J kmol-1.

Returns
the species standard state enthalpy in J kmol-1 at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Water, and PDSS_HKFT.

Definition at line 27 of file PDSS.cpp.

Referenced by PDSS_Molar::enthalpy_RT(), and PDSS::enthalpyDelp_mole().

◆ enthalpy_RT()

doublereal enthalpy_RT ( ) const
virtual

Return the standard state molar enthalpy divided by RT.

Returns
The dimensionless species standard state enthalpy divided at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Molar, and PDSS_IonsFromNeutral.

Definition at line 32 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo().

◆ intEnergy_mole()

doublereal intEnergy_mole ( ) const
virtual

Return the molar internal Energy in units of J kmol-1.

Returns
The species standard state internal Energy in J kmol-1 at the current temperature and pressure.

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_HKFT, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 37 of file PDSS.cpp.

◆ entropy_mole()

doublereal entropy_mole ( ) const
virtual

Return the molar entropy in units of J kmol-1 K-1.

Returns
The species standard state entropy in J kmol-1 K-1 at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Water, and PDSS_HKFT.

Definition at line 42 of file PDSS.cpp.

Referenced by PDSS_Molar::entropy_R(), and PDSS::entropyDelp_mole().

◆ entropy_R()

doublereal entropy_R ( ) const
virtual

Return the standard state entropy divided by RT.

Returns
The species standard state entropy divided by RT at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Molar, and PDSS_IonsFromNeutral.

Definition at line 47 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo().

◆ gibbs_mole()

doublereal gibbs_mole ( ) const
virtual

Return the molar Gibbs free energy in units of J kmol-1.

Returns
The species standard state Gibbs free energy in J kmol-1 at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Water, and PDSS_HKFT.

Definition at line 52 of file PDSS.cpp.

Referenced by PDSS_Molar::gibbs_RT(), and PDSS::gibbsDelp_mole().

◆ gibbs_RT()

doublereal gibbs_RT ( ) const
virtual

Return the molar Gibbs free energy divided by RT.

Returns
The species standard state Gibbs free energy divided by RT at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Molar, and PDSS_IonsFromNeutral.

Definition at line 57 of file PDSS.cpp.

◆ cp_mole()

doublereal cp_mole ( ) const
virtual

Return the molar const pressure heat capacity in units of J kmol-1 K-1.

Returns
The species standard state Cp in J kmol-1 K-1 at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Water, and PDSS_HKFT.

Definition at line 62 of file PDSS.cpp.

Referenced by PDSS_Molar::cp_R(), and PDSS::cpDelp_mole().

◆ cp_R()

doublereal cp_R ( ) const
virtual

Return the molar const pressure heat capacity divided by RT.

Returns
The species standard state Cp divided by RT at the current temperature and pressure.

Reimplemented in PDSS_Nondimensional, PDSS_Molar, and PDSS_IonsFromNeutral.

Definition at line 67 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo().

◆ cv_mole()

doublereal cv_mole ( ) const
virtual

Return the molar const volume heat capacity in units of J kmol-1 K-1.

Returns
The species standard state Cv in J kmol-1 K-1 at the current temperature and pressure.

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 82 of file PDSS.cpp.

◆ molarVolume()

doublereal molarVolume ( ) const
virtual

Return the molar volume at standard state.

Returns
The standard state molar volume at the current temperature and pressure. Units are m**3 kmol-1.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 72 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo(), IdealMolalSoln::initThermo(), and DebyeHuckel::standardConcentration().

◆ density()

doublereal density ( ) const
virtual

Return the standard state density at standard state.

Returns
The standard state density at the current temperature and pressure. units are kg m-3

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 77 of file PDSS.cpp.

◆ enthalpyDelp_mole()

doublereal enthalpyDelp_mole ( ) const
virtual

Get the difference in the standard state enthalpy between the current pressure and the reference pressure, p0.

Definition at line 112 of file PDSS.cpp.

References PDSS::enthalpy_mole(), PDSS::enthalpy_RT_ref(), Cantera::GasConstant, and PDSS::m_temp.

◆ entropyDelp_mole()

doublereal entropyDelp_mole ( ) const
virtual

Get the difference in the standard state entropy between the current pressure and the reference pressure, p0.

Definition at line 117 of file PDSS.cpp.

References PDSS::entropy_mole(), PDSS::entropy_R_ref(), and Cantera::GasConstant.

◆ gibbsDelp_mole()

doublereal gibbsDelp_mole ( ) const
virtual

Get the difference in the standard state Gibbs free energy between the current pressure and the reference pressure, p0.

Definition at line 122 of file PDSS.cpp.

References Cantera::GasConstant, PDSS::gibbs_mole(), PDSS::gibbs_RT_ref(), and PDSS::m_temp.

◆ cpDelp_mole()

doublereal cpDelp_mole ( ) const
virtual

Get the difference in standard state heat capacity between the current pressure and the reference pressure, p0.

Definition at line 127 of file PDSS.cpp.

References PDSS::cp_mole(), PDSS::cp_R_ref(), and Cantera::GasConstant.

◆ refPressure()

doublereal refPressure ( ) const
inline

Return the reference pressure for this phase.

Definition at line 293 of file PDSS.h.

References PDSS::m_p0.

Referenced by STITbyPDSS::refPressure().

◆ minTemp()

doublereal minTemp ( ) const
inline

return the minimum temperature

Definition at line 298 of file PDSS.h.

References PDSS::m_minTemp.

Referenced by STITbyPDSS::minTemp().

◆ maxTemp()

doublereal maxTemp ( ) const
inline

return the minimum temperature

Definition at line 303 of file PDSS.h.

References PDSS::m_maxTemp.

Referenced by STITbyPDSS::maxTemp().

◆ gibbs_RT_ref()

doublereal gibbs_RT_ref ( ) const
virtual

Return the molar Gibbs free energy divided by RT at reference pressure.

Returns
The reference state Gibbs free energy at the current temperature, divided by RT.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 87 of file PDSS.cpp.

Referenced by PDSS::gibbsDelp_mole().

◆ enthalpy_RT_ref()

doublereal enthalpy_RT_ref ( ) const
virtual

Return the molar enthalpy divided by RT at reference pressure.

Returns
The species reference state enthalpy at the current temperature, divided by RT.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 92 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo(), PDSS::enthalpyDelp_mole(), and STITbyPDSS::updatePropertiesTemp().

◆ entropy_R_ref()

doublereal entropy_R_ref ( ) const
virtual

Return the molar entropy divided by R at reference pressure.

Returns
The species reference state entropy at the current temperature, divided by R.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 97 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo(), PDSS::entropyDelp_mole(), and STITbyPDSS::updatePropertiesTemp().

◆ cp_R_ref()

doublereal cp_R_ref ( ) const
virtual

Return the molar heat capacity divided by R at reference pressure.

Returns
The species reference state heat capacity divided by R at the current temperature.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 102 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo(), PDSS::cpDelp_mole(), and STITbyPDSS::updatePropertiesTemp().

◆ molarVolume_ref()

doublereal molarVolume_ref ( ) const
virtual

Return the molar volume at reference pressure.

Returns
The reference state molar volume. units are m**3 kmol-1.

Reimplemented in PDSS_Nondimensional, PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 107 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo().

◆ pressure()

doublereal pressure ( ) const
virtual

Returns the pressure (Pa)

Reimplemented in PDSS_Water, and PDSS_IdealGas.

Definition at line 132 of file PDSS.cpp.

References PDSS::m_pres.

◆ setPressure()

void setPressure ( doublereal  pres)
virtual

Sets the pressure in the object.

Currently, this sets the pressure in the PDSS object. It is indeterminant what happens to the owning VPStandardStateTP object.

Parameters
presPressure to be set (Pascal)

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 157 of file PDSS.cpp.

References PDSS::m_pres.

Referenced by PDSS_HKFT::setState_TP().

◆ thermalExpansionCoeff()

doublereal thermalExpansionCoeff ( ) const
virtual

Return the volumetric thermal expansion coefficient. Units: 1/K.

The thermal expansion coefficient is defined as

\[ \beta = \frac{1}{v}\left(\frac{\partial v}{\partial T}\right)_P \]

Reimplemented in PDSS_Water.

Definition at line 137 of file PDSS.cpp.

◆ setTemperature()

void setTemperature ( doublereal  temp)
virtual

Set the internal temperature.

Parameters
tempTemperature (Kelvin)

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 167 of file PDSS.cpp.

References PDSS::m_temp.

Referenced by PDSS_HKFT::setState_TP(), and STITbyPDSS::updatePropertiesTemp().

◆ temperature()

doublereal temperature ( ) const
virtual

Return the current stored temperature.

Definition at line 162 of file PDSS.cpp.

References PDSS::m_temp.

Referenced by PDSS_Nondimensional::enthalpy_mole(), PDSS_Molar::enthalpy_RT(), PDSS_Nondimensional::gibbs_mole(), and PDSS_Molar::gibbs_RT().

◆ setState_TP()

void setState_TP ( doublereal  temp,
doublereal  pres 
)
virtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IonsFromNeutral, PDSS_HKFT, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 181 of file PDSS.cpp.

Referenced by VPStandardStateTP::_updateStandardStateThermo(), and HMWSoln::satPressure().

◆ setState_TR()

void setState_TR ( doublereal  temp,
doublereal  rho 
)
virtual

Set the internal temperature and density.

Parameters
tempTemperature (Kelvin)
rhoDensity (kg m-3)

Reimplemented in PDSS_SSVol, PDSS_Water, PDSS_IonsFromNeutral, PDSS_IdealGas, and PDSS_ConstVol.

Definition at line 186 of file PDSS.cpp.

◆ critTemperature()

doublereal critTemperature ( ) const
virtual

critical temperature

Reimplemented in PDSS_Water.

Definition at line 142 of file PDSS.cpp.

◆ critPressure()

doublereal critPressure ( ) const
virtual

critical pressure

Reimplemented in PDSS_Water.

Definition at line 147 of file PDSS.cpp.

◆ critDensity()

doublereal critDensity ( ) const
virtual

critical density

Reimplemented in PDSS_Water.

Definition at line 152 of file PDSS.cpp.

◆ satPressure()

doublereal satPressure ( doublereal  T)
virtual

saturation pressure

Parameters
TTemperature (Kelvin)

Reimplemented in PDSS_SSVol, PDSS_Water, and PDSS_ConstVol.

Definition at line 191 of file PDSS.cpp.

Referenced by HMWSoln::satPressure().

◆ molecularWeight()

doublereal molecularWeight ( ) const

Return the molecular weight of the species in units of kg kmol-1.

Definition at line 172 of file PDSS.cpp.

References PDSS::m_mw.

◆ setMolecularWeight()

void setMolecularWeight ( doublereal  mw)

Set the molecular weight of the species.

Parameters
mwMolecular Weight in kg kmol-1

Definition at line 176 of file PDSS.cpp.

References PDSS::m_mw.

◆ setReferenceThermo()

void setReferenceThermo ( shared_ptr< SpeciesThermoInterpType stit)
inline

Set the SpeciesThermoInterpType object used to calculate reference state properties.

Definition at line 428 of file PDSS.h.

References PDSS::m_spthermo.

◆ useSTITbyPDSS()

virtual bool useSTITbyPDSS ( ) const
inlinevirtual

Returns 'true' if this object should be used in an STITbyPDSS object in the phase's reference thermo manager, or 'false' if a separate SpeciesThermoInterpType should be constructed.

Reimplemented in PDSS_Water, PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 435 of file PDSS.h.

◆ setParent()

virtual void setParent ( VPStandardStateTP phase,
size_t  k 
)
inlinevirtual

Set the parent VPStandardStateTP object of this PDSS object.

This information is only used by certain PDSS subclasses

Parameters
phasePointer to the parent phase
kIndex of this species in the phase

Reimplemented in PDSS_IonsFromNeutral, and PDSS_HKFT.

Definition at line 445 of file PDSS.h.

◆ initThermo()

virtual void initThermo ( )
inlinevirtual

Initialization routine.

This is a cascading call, where each level should call the the parent level.

Reimplemented in PDSS_SSVol, PDSS_IonsFromNeutral, PDSS_HKFT, PDSS_ConstVol, and PDSS_IdealGas.

Definition at line 452 of file PDSS.h.

Referenced by PDSS_HKFT::initThermo(), PDSS_IonsFromNeutral::initThermo(), PDSS_SSVol::initThermo(), and VPStandardStateTP::initThermo().

◆ setParametersFromXML()

virtual void setParametersFromXML ( const XML_Node speciesNode)
inlinevirtual

Initialization routine for the PDSS object based on the speciesNode.

This is a cascading call, where each level should call the the parent level. This function is called before initThermo()

Reimplemented in PDSS_SSVol, PDSS_HKFT, PDSS_IonsFromNeutral, and PDSS_ConstVol.

Definition at line 459 of file PDSS.h.

Referenced by PDSS_IonsFromNeutral::setParametersFromXML(), PDSS_HKFT::setParametersFromXML(), and PDSS_SSVol::setParametersFromXML().

◆ reportParams()

void reportParams ( size_t &  kindex,
int &  type,
doublereal *const  c,
doublereal &  minTemp,
doublereal &  maxTemp,
doublereal &  refPressure 
) const
virtual

This utility function reports back the type of parameterization and all of the parameters for the species, index.

Parameters
kindexSpecies index (unused)
typeInteger type of the standard type (unused)
cVector of coefficients used to set the parameters for the standard state.
minTempoutput - Minimum temperature
maxTempoutput - Maximum temperature
refPressureoutput - reference pressure (Pa).

Reimplemented in PDSS_HKFT.

Definition at line 196 of file PDSS.cpp.

Member Data Documentation

◆ m_temp

doublereal m_temp
mutableprotected

◆ m_pres

doublereal m_pres
mutableprotected

◆ m_p0

doublereal m_p0
protected

◆ m_minTemp

doublereal m_minTemp
protected

Minimum temperature.

Definition at line 489 of file PDSS.h.

Referenced by PDSS_IonsFromNeutral::initThermo(), PDSS_SSVol::initThermo(), PDSS::minTemp(), and PDSS_HKFT::setParametersFromXML().

◆ m_maxTemp

doublereal m_maxTemp
protected

Maximum temperature.

Definition at line 492 of file PDSS.h.

Referenced by PDSS_IonsFromNeutral::initThermo(), PDSS_SSVol::initThermo(), PDSS::maxTemp(), and PDSS_HKFT::setParametersFromXML().

◆ m_mw

doublereal m_mw
protected

◆ m_spthermo

shared_ptr<SpeciesThermoInterpType> m_spthermo
protected

Pointer to the species thermodynamic property manager.

Not used in all PDSS models.

Definition at line 499 of file PDSS.h.

Referenced by PDSS_SSVol::initThermo(), PDSS::setReferenceThermo(), and PDSS_SSVol::setTemperature().


The documentation for this class was generated from the following files: