Cantera 2.6.0

Public Member Functions | Public Attributes | Private Attributes | List of all members
PDSS_Water Class Reference
Models of Phases of Matter » Thermodynamic Properties » Species Standard-State Thermodynamic Properties

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...
WaterPropsIAPWS * | getWater ()
| Get a pointer to a changeable WaterPropsIAPWS object. More...
WaterProps * | getWaterProps ()
| Get a pointer to a changeable WaterPropsIAPWS object. More...
virtual void | getParameters (AnyMap &eosNode) const
| Store the parameters needed to reconstruct a copy of this PDSS 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
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...
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...
| PDSS ()
| Default Constructor. More...
| PDSS (const PDSS &b)=delete
PDSS & | operator= (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...
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, for example from the `equation-of-state` field of a species definition. 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< SpeciesThermoInterpType > | m_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()

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

  temp | Temperature (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

  pres | Pressure 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

  temp | Temperature (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

  temp | Temperature (Kelvin)
  pres | pressure (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

  temp | Temperature (Kelvin)
  rho | Density (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

  dens | Density 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

  T | Temperature (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.

## ◆ getParameters()

void getParameters | ( | AnyMap & | eosNode | ) | const
| virtual

Store the parameters needed to reconstruct a copy of this PDSS object.

Reimplemented from PDSS.

Definition at line 262 of file PDSS_Water.cpp.

## Member Data Documentation

## ◆ m_sub

WaterPropsIAPWS m_sub
| mutable private

Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state.

This object owns m_sub

Definition at line 161 of file PDSS_Water.h.

Referenced by PDSS_Water::cp_mole(), PDSS_Water::critDensity(), PDSS_Water::critPressure(), PDSS_Water::critTemperature(), PDSS_Water::cv_mole(), PDSS_Water::dthermalExpansionCoeffdT(), PDSS_Water::enthalpy_mole(), PDSS_Water::entropy_mole(), PDSS_Water::getWater(), PDSS_Water::gibbs_mole(), PDSS_Water::intEnergy_mole(), PDSS_Water::isothermalCompressibility(), PDSS_Water::molarVolume(), PDSS_Water::pref_safe(), PDSS_Water::pressure(), PDSS_Water::satPressure(), PDSS_Water::setDensity(), PDSS_Water::setState_TR(), PDSS_Water::setTemperature(), and PDSS_Water::thermalExpansionCoeff().

## ◆ 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 171 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 178 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 190 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 197 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 204 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 213 of file PDSS_Water.h.

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

- PDSS_Water.h
- PDSS_Water.cpp