Cantera  2.5.1
Public Member Functions | Public Attributes | Private Attributes | List of all members

Class for the liquid water pressure dependent standard state. More...

#include <PDSS_Water.h>

Inheritance diagram for PDSS_Water:
[legend]
Collaboration diagram for PDSS_Water:
[legend]

Public Member Functions

 PDSS_Water ()
 Default constructor. More...
 
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 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 gibbs_mole () const
 Return the molar Gibbs free energy in units of J kmol-1. More...
 
virtual doublereal cp_mole () const
 Return the molar const pressure heat capacity in units of J kmol-1 K-1. 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...
 
Properties of the Reference State of the Species in the Solution
doublereal pref_safe (doublereal temp) const
 Returns a reference pressure value that can be safely calculated by the underlying real equation of state for water. 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 void setTemperature (doublereal temp)
 Set the internal 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...
 
void setDensity (doublereal dens)
 Set the density of the water phase. More...
 
virtual doublereal thermalExpansionCoeff () const
 Return the volumetric thermal expansion coefficient. Units: 1/K. More...
 
virtual doublereal dthermalExpansionCoeffdT () const
 Return the derivative of the volumetric thermal expansion coefficient. More...
 
virtual doublereal isothermalCompressibility () const
 Returns the isothermal compressibility. Units: 1/Pa. 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...
 
WaterPropsIAPWSgetWater ()
 Get a pointer to a changeable WaterPropsIAPWS object. More...
 
WaterPropsgetWaterProps ()
 Get a pointer to a changeable WaterPropsIAPWS object. More...
 
- Public Member Functions inherited from PDSS_Molar
virtual doublereal enthalpy_RT () const
 Return the standard state molar enthalpy divided by RT. More...
 
virtual doublereal entropy_R () const
 Return the standard state entropy divided by RT. More...
 
virtual doublereal gibbs_RT () const
 Return the molar Gibbs free energy divided by RT. More...
 
virtual doublereal cp_R () const
 Return the molar const pressure heat capacity divided by RT. More...
 
- Public Member Functions inherited from PDSS
 PDSS ()
 Default Constructor. More...
 
 PDSS (const PDSS &b)=delete
 
PDSSoperator= (const PDSS &b)=delete
 
virtual ~PDSS ()
 
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...
 
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 temperature () const
 Return the current stored temperature. 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...
 
void setReferenceThermo (shared_ptr< SpeciesThermoInterpType > stit)
 Set the SpeciesThermoInterpType object used to calculate reference state properties. 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...
 
void setParameters (const AnyMap &node)
 Set model parameters from an AnyMap phase description, e.g. 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...
 

Public Attributes

bool m_allowGasPhase
 Since this phase represents a liquid phase, it's an error to return a gas-phase answer. More...
 

Private Attributes

WaterPropsIAPWS m_sub
 Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state. More...
 
WaterProps m_waterProps
 Pointer to the WaterProps object. More...
 
doublereal m_dens
 State of the system - density. More...
 
int m_iState
 state of the fluid More...
 
doublereal EW_Offset
 Offset constants used to obtain consistency with the NIST database. More...
 
doublereal SW_Offset
 Offset constant used to obtain consistency with NIST convention. More...
 

Additional Inherited Members

- Protected Attributes inherited from PDSS
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...
 
AnyMap m_input
 Input data supplied via setParameters. More...
 
shared_ptr< SpeciesThermoInterpTypem_spthermo
 Pointer to the species thermodynamic property manager. More...
 

Detailed Description

Class for the liquid water pressure dependent standard state.

Notes:

Base state for thermodynamic properties:

The thermodynamic base state for water is set to the NIST basis here by specifying constants EW_Offset and SW_Offset. These offsets are specified so that the following properties hold:

Delta_Hfo_gas(298.15) = -241.826 kJ/gmol So_gas(298.15, 1bar) = 188.835 J/gmolK

(http://webbook.nist.gov)

The "o" here refers to a hypothetical ideal gas state. The way we achieve this in practice is to evaluate at a very low pressure and then use the theoretical ideal gas results to scale up to higher pressures:

Ho(1bar) = H(P0)

So(1bar) = S(P0) + RT ln(1bar/P0)

The offsets used in the steam tables are different than NIST's. They assume u_liq(TP) = 0.0, s_liq(TP) = 0.0, where TP is the triple point conditions.

Definition at line 49 of file PDSS_Water.h.

Constructor & Destructor Documentation

◆ PDSS_Water()

Default constructor.

Definition at line 16 of file PDSS_Water.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 from PDSS.

Definition at line 57 of file PDSS_Water.cpp.

References WaterPropsIAPWS::enthalpy(), PDSS_Water::EW_Offset, and PDSS_Water::m_sub.

◆ 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 from PDSS.

Definition at line 62 of file PDSS_Water.cpp.

References PDSS_Water::EW_Offset, WaterPropsIAPWS::intEnergy(), and PDSS_Water::m_sub.

◆ 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 from PDSS.

Definition at line 67 of file PDSS_Water.cpp.

References WaterPropsIAPWS::entropy(), PDSS_Water::m_sub, and PDSS_Water::SW_Offset.

◆ 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 from PDSS.

Definition at line 72 of file PDSS_Water.cpp.

References PDSS_Water::EW_Offset, WaterPropsIAPWS::Gibbs(), PDSS_Water::m_sub, PDSS::m_temp, and PDSS_Water::SW_Offset.

◆ 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 from PDSS.

Definition at line 77 of file PDSS_Water.cpp.

References WaterPropsIAPWS::cp(), and PDSS_Water::m_sub.

◆ 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 from PDSS.

Definition at line 82 of file PDSS_Water.cpp.

References WaterPropsIAPWS::cv(), and PDSS_Water::m_sub.

◆ 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 from PDSS.

Definition at line 87 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, and WaterPropsIAPWS::molarVolume().

◆ 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 from PDSS.

Definition at line 217 of file PDSS_Water.cpp.

References PDSS_Water::m_dens.

Referenced by DebyeHuckel::calcDensity(), PDSS_HKFT::g(), and PDSS_HKFT::initThermo().

◆ pref_safe()

doublereal pref_safe ( doublereal  temp) const

Returns a reference pressure value that can be safely calculated by the underlying real equation of state for water.

Note, this function is needed because trying to calculate a one atm value around the critical point will cause a crash

Parameters
tempTemperature (Kelvin)

Definition at line 241 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, Cantera::OneAtm, WaterPropsIAPWS::Pcrit(), WaterPropsIAPWS::psat_est(), and WaterPropsIAPWS::Tcrit().

Referenced by PDSS_HKFT::cp_R_ref(), PDSS_HKFT::enthalpy_RT_ref(), PDSS_HKFT::entropy_R_ref(), PDSS_HKFT::gibbs_RT_ref(), and PDSS_HKFT::molarVolume_ref().

◆ 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 from PDSS.

Definition at line 92 of file PDSS_Water.cpp.

◆ 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 from PDSS.

Definition at line 101 of file PDSS_Water.cpp.

◆ 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 from PDSS.

Definition at line 110 of file PDSS_Water.cpp.

◆ 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 from PDSS.

Definition at line 119 of file PDSS_Water.cpp.

◆ 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 from PDSS.

Definition at line 128 of file PDSS_Water.cpp.

◆ pressure()

doublereal pressure ( ) const
virtual

Returns the pressure (Pa)

Reimplemented from PDSS.

Definition at line 137 of file PDSS_Water.cpp.

References PDSS::m_pres, PDSS_Water::m_sub, and WaterPropsIAPWS::pressure().

Referenced by PDSS_Water::dthermalExpansionCoeffdT().

◆ 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 from PDSS.

Definition at line 143 of file PDSS_Water.cpp.

Referenced by PDSS_Water::setState_TP().

◆ setTemperature()

void setTemperature ( doublereal  temp)
virtual

Set the internal temperature.

Parameters
tempTemperature (Kelvin)

Reimplemented from PDSS.

Definition at line 222 of file PDSS_Water.cpp.

References PDSS_Water::m_dens, PDSS_Water::m_sub, PDSS::m_temp, and WaterPropsIAPWS::setState_TR().

◆ setState_TP()

void setState_TP ( doublereal  temp,
doublereal  pres 
)
virtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented from PDSS.

Definition at line 228 of file PDSS_Water.cpp.

References PDSS::m_temp, and PDSS_Water::setPressure().

Referenced by PDSS_HKFT::g(), and PDSS_HKFT::initThermo().

◆ setState_TR()

void setState_TR ( doublereal  temp,
doublereal  rho 
)
virtual

Set the internal temperature and density.

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

Reimplemented from PDSS.

Definition at line 234 of file PDSS_Water.cpp.

References PDSS_Water::m_dens, PDSS_Water::m_sub, PDSS::m_temp, and WaterPropsIAPWS::setState_TR().

◆ setDensity()

void setDensity ( doublereal  dens)

Set the density of the water phase.

This is a non-virtual function because it specific to this object.

Parameters
densDensity of the water (kg/m3)

Definition at line 211 of file PDSS_Water.cpp.

References PDSS_Water::m_dens, PDSS_Water::m_sub, PDSS::m_temp, and WaterPropsIAPWS::setState_TR().

◆ 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 from PDSS.

Definition at line 170 of file PDSS_Water.cpp.

References WaterPropsIAPWS::coeffThermExp(), and PDSS_Water::m_sub.

◆ dthermalExpansionCoeffdT()

doublereal dthermalExpansionCoeffdT ( ) const
virtual

Return the derivative of the volumetric thermal expansion coefficient.

Units: 1/K2.

The thermal expansion coefficient is defined as

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

Definition at line 175 of file PDSS_Water.cpp.

References WaterPropsIAPWS::coeffThermExp(), WaterPropsIAPWS::density(), PDSS_Water::m_dens, PDSS_Water::m_iState, PDSS_Water::m_sub, PDSS::m_temp, PDSS_Water::pressure(), and WaterPropsIAPWS::setState_TR().

◆ isothermalCompressibility()

doublereal isothermalCompressibility ( ) const
virtual

Returns the isothermal compressibility. Units: 1/Pa.

The isothermal compressibility is defined as

\[ \kappa_T = -\frac{1}{v}\left(\frac{\partial v}{\partial P}\right)_T \]

or

\[ \kappa_T = \frac{1}{\rho}\left(\frac{\partial \rho}{\partial P}\right)_T \]

Definition at line 191 of file PDSS_Water.cpp.

References WaterPropsIAPWS::isothermalCompressibility(), and PDSS_Water::m_sub.

◆ critTemperature()

doublereal critTemperature ( ) const
virtual

critical temperature

Reimplemented from PDSS.

Definition at line 196 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, and WaterPropsIAPWS::Tcrit().

◆ critPressure()

doublereal critPressure ( ) const
virtual

critical pressure

Reimplemented from PDSS.

Definition at line 201 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, and WaterPropsIAPWS::Pcrit().

◆ critDensity()

doublereal critDensity ( ) const
virtual

critical density

Reimplemented from PDSS.

Definition at line 206 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, and WaterPropsIAPWS::Rhocrit().

◆ satPressure()

doublereal satPressure ( doublereal  T)
virtual

saturation pressure

Parameters
TTemperature (Kelvin)

Reimplemented from PDSS.

Definition at line 254 of file PDSS_Water.cpp.

References PDSS_Water::m_sub, and WaterPropsIAPWS::psat().

◆ getWater()

WaterPropsIAPWS* getWater ( )
inline

Get a pointer to a changeable WaterPropsIAPWS object.

Definition at line 142 of file PDSS_Water.h.

References PDSS_Water::m_sub.

Referenced by WaterProps::WaterProps().

◆ getWaterProps()

WaterProps* getWaterProps ( )
inline

Get a pointer to a changeable WaterPropsIAPWS object.

Definition at line 147 of file PDSS_Water.h.

References PDSS_Water::m_waterProps.

Member Data Documentation

◆ m_sub

WaterPropsIAPWS m_sub
mutableprivate

◆ m_waterProps

WaterProps m_waterProps
private

Pointer to the WaterProps object.

This class is used to house several approximation routines for properties of water.

This object owns m_waterProps, and the WaterPropsIAPWS object used by WaterProps is m_sub, which is defined above.

Definition at line 169 of file PDSS_Water.h.

Referenced by PDSS_Water::getWaterProps().

◆ m_dens

doublereal m_dens
private

State of the system - density.

Density is the independent variable here, but it's hidden behind the object's interface.

Definition at line 176 of file PDSS_Water.h.

Referenced by PDSS_Water::density(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_Water::setDensity(), PDSS_Water::setState_TR(), and PDSS_Water::setTemperature().

◆ m_iState

int m_iState
private

state of the fluid

0 WATER_GAS
1 WATER_LIQUID
2 WATER_SUPERCRIT
3 WATER_UNSTABLELIQUID
4 WATER_UNSTABLEGAS

Definition at line 188 of file PDSS_Water.h.

Referenced by PDSS_Water::dthermalExpansionCoeffdT().

◆ EW_Offset

doublereal EW_Offset
private

Offset constants used to obtain consistency with the NIST database.

This is added to all internal energy and enthalpy results. units = J kmol-1.

Definition at line 195 of file PDSS_Water.h.

Referenced by PDSS_Water::enthalpy_mole(), PDSS_Water::gibbs_mole(), and PDSS_Water::intEnergy_mole().

◆ SW_Offset

doublereal SW_Offset
private

Offset constant used to obtain consistency with NIST convention.

This is added to all internal entropy results. units = J kmol-1 K-1.

Definition at line 202 of file PDSS_Water.h.

Referenced by PDSS_Water::entropy_mole(), and PDSS_Water::gibbs_mole().

◆ m_allowGasPhase

bool m_allowGasPhase

Since this phase represents a liquid phase, it's an error to return a gas-phase answer.

However, if the below is true, then a gas-phase answer is allowed. This is used to check the thermodynamic consistency with ideal-gas thermo functions for example.

Definition at line 211 of file PDSS_Water.h.


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