Cantera  3.1.0
Loading...
Searching...
No Matches

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

#include <PDSS_Water.h>

Inheritance diagram for PDSS_Water:
[legend]

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.

Public Member Functions

 PDSS_Water ()
 Default constructor.
 
Molar Thermodynamic Properties of the Species Standard State
double enthalpy_mole () const override
 Return the molar enthalpy in units of J kmol-1.
 
double intEnergy_mole () const override
 Return the molar internal Energy in units of J kmol-1.
 
double entropy_mole () const override
 Return the molar entropy in units of J kmol-1 K-1.
 
double gibbs_mole () const override
 Return the molar Gibbs free energy in units of J kmol-1.
 
double cp_mole () const override
 Return the molar const pressure heat capacity in units of J kmol-1 K-1.
 
double cv_mole () const override
 Return the molar const volume heat capacity in units of J kmol-1 K-1.
 
double molarVolume () const override
 Return the molar volume at standard state.
 
double density () const override
 Return the standard state density at standard state.
 
Properties of the Reference State of the Species in the Solution
double pref_safe (double temp) const
 Returns a reference pressure value that can be safely calculated by the underlying real equation of state for water.
 
double gibbs_RT_ref () const override
 Return the molar Gibbs free energy divided by RT at reference pressure.
 
double enthalpy_RT_ref () const override
 Return the molar enthalpy divided by RT at reference pressure.
 
double entropy_R_ref () const override
 Return the molar entropy divided by R at reference pressure.
 
double cp_R_ref () const override
 Return the molar heat capacity divided by R at reference pressure.
 
double molarVolume_ref () const override
 Return the molar volume at reference pressure.
 
Mechanical Equation of State Properties
double pressure () const override
 Returns the pressure (Pa)
 
void setPressure (double pres) override
 Sets the pressure in the object.
 
void setTemperature (double temp) override
 Set the internal temperature.
 
void setState_TP (double temp, double pres) override
 Set the internal temperature and pressure.
 
void setDensity (double dens)
 Set the density of the water phase.
 
double thermalExpansionCoeff () const override
 Return the volumetric thermal expansion coefficient. Units: 1/K.
 
double dthermalExpansionCoeffdT () const
 Return the derivative of the volumetric thermal expansion coefficient.
 
double isothermalCompressibility () const
 Returns the isothermal compressibility. Units: 1/Pa.
 
Miscellaneous properties of the standard state
double critTemperature () const override
 critical temperature
 
double critPressure () const override
 critical pressure
 
double critDensity () const override
 critical density
 
double satPressure (double t) override
 saturation pressure
 
WaterPropsIAPWSgetWater ()
 Get a pointer to a changeable WaterPropsIAPWS object.
 
WaterPropsgetWaterProps ()
 Get a pointer to a changeable WaterPropsIAPWS object.
 
void getParameters (AnyMap &eosNode) const override
 Store the parameters needed to reconstruct a copy of this PDSS object.
 
- Public Member Functions inherited from PDSS_Molar
double enthalpy_RT () const override
 Return the standard state molar enthalpy divided by RT.
 
double entropy_R () const override
 Return the standard state entropy divided by RT.
 
double gibbs_RT () const override
 Return the molar Gibbs free energy divided by RT.
 
double cp_R () const override
 Return the molar const pressure heat capacity divided by RT.
 
- Public Member Functions inherited from PDSS
virtual void setTemperature (double temp)
 Set the internal temperature.
 
virtual double temperature () const
 Return the current stored temperature.
 
virtual void setState_TP (double temp, double pres)
 Set the internal temperature and pressure.
 
virtual double critTemperature () const
 critical temperature
 
virtual double critPressure () const
 critical pressure
 
virtual double critDensity () const
 critical density
 
virtual double satPressure (double T)
 saturation pressure
 
double molecularWeight () const
 Return the molecular weight of the species in units of kg kmol-1.
 
void setMolecularWeight (double mw)
 Set the molecular weight of the species.
 
 PDSS ()=default
 Default Constructor.
 
 PDSS (const PDSS &b)=delete
 
PDSSoperator= (const PDSS &b)=delete
 
double refPressure () const
 Return the reference pressure for this phase.
 
double minTemp () const
 return the minimum temperature
 
double maxTemp () const
 return the minimum temperature
 
void setReferenceThermo (shared_ptr< SpeciesThermoInterpType > stit)
 Set the SpeciesThermoInterpType object used to calculate reference state properties.
 
virtual void setParent (VPStandardStateTP *phase, size_t k)
 Set the parent VPStandardStateTP object of this PDSS object.
 
virtual void initThermo ()
 Initialization routine.
 
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.
 

Public Attributes

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

Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from PDSS
double m_temp = -1.0
 Current temperature used by the PDSS object.
 
double m_pres = -1.0
 State of the system - pressure.
 
double m_p0 = -1.0
 Reference state pressure of the species.
 
double m_minTemp = -1.0
 Minimum temperature.
 
double m_maxTemp = 10000.0
 Maximum temperature.
 
double m_mw = 0.0
 Molecular Weight of the species.
 
AnyMap m_input
 Input data supplied via setParameters.
 
shared_ptr< SpeciesThermoInterpTypem_spthermo
 Pointer to the species thermodynamic property manager.
 

Constructor & Destructor Documentation

◆ PDSS_Water()

Default constructor.

Definition at line 16 of file PDSS_Water.cpp.

Member Function Documentation

◆ enthalpy_mole()

double enthalpy_mole ( ) const
overridevirtual

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 52 of file PDSS_Water.cpp.

◆ intEnergy_mole()

double intEnergy_mole ( ) const
overridevirtual

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 57 of file PDSS_Water.cpp.

◆ entropy_mole()

double entropy_mole ( ) const
overridevirtual

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 62 of file PDSS_Water.cpp.

◆ gibbs_mole()

double gibbs_mole ( ) const
overridevirtual

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 67 of file PDSS_Water.cpp.

◆ cp_mole()

double cp_mole ( ) const
overridevirtual

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 72 of file PDSS_Water.cpp.

◆ cv_mole()

double cv_mole ( ) const
overridevirtual

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 77 of file PDSS_Water.cpp.

◆ molarVolume()

double molarVolume ( ) const
overridevirtual

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 82 of file PDSS_Water.cpp.

◆ density()

double density ( ) const
overridevirtual

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 207 of file PDSS_Water.cpp.

◆ pref_safe()

double pref_safe ( double  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 224 of file PDSS_Water.cpp.

◆ gibbs_RT_ref()

double gibbs_RT_ref ( ) const
overridevirtual

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 87 of file PDSS_Water.cpp.

◆ enthalpy_RT_ref()

double enthalpy_RT_ref ( ) const
overridevirtual

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 95 of file PDSS_Water.cpp.

◆ entropy_R_ref()

double entropy_R_ref ( ) const
overridevirtual

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 103 of file PDSS_Water.cpp.

◆ cp_R_ref()

double cp_R_ref ( ) const
overridevirtual

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 111 of file PDSS_Water.cpp.

◆ molarVolume_ref()

double molarVolume_ref ( ) const
overridevirtual

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 119 of file PDSS_Water.cpp.

◆ pressure()

double pressure ( ) const
overridevirtual

Returns the pressure (Pa)

Reimplemented from PDSS.

Definition at line 127 of file PDSS_Water.cpp.

◆ setPressure()

void setPressure ( double  pres)
overridevirtual

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 133 of file PDSS_Water.cpp.

◆ setTemperature()

void setTemperature ( double  temp)
overridevirtual

Set the internal temperature.

Parameters
tempTemperature (Kelvin)

Reimplemented from PDSS.

Definition at line 212 of file PDSS_Water.cpp.

◆ setState_TP()

void setState_TP ( double  temp,
double  pres 
)
overridevirtual

Set the internal temperature and pressure.

Parameters
tempTemperature (Kelvin)
prespressure (Pascals)

Reimplemented from PDSS.

Definition at line 218 of file PDSS_Water.cpp.

◆ setDensity()

void setDensity ( double  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 201 of file PDSS_Water.cpp.

◆ thermalExpansionCoeff()

double thermalExpansionCoeff ( ) const
overridevirtual

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 160 of file PDSS_Water.cpp.

◆ dthermalExpansionCoeffdT()

double dthermalExpansionCoeffdT ( ) const

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 165 of file PDSS_Water.cpp.

◆ isothermalCompressibility()

double isothermalCompressibility ( ) const

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 181 of file PDSS_Water.cpp.

◆ critTemperature()

double critTemperature ( ) const
overridevirtual

critical temperature

Reimplemented from PDSS.

Definition at line 186 of file PDSS_Water.cpp.

◆ critPressure()

double critPressure ( ) const
overridevirtual

critical pressure

Reimplemented from PDSS.

Definition at line 191 of file PDSS_Water.cpp.

◆ critDensity()

double critDensity ( ) const
overridevirtual

critical density

Reimplemented from PDSS.

Definition at line 196 of file PDSS_Water.cpp.

◆ satPressure()

double satPressure ( double  T)
overridevirtual

saturation pressure

Parameters
TTemperature (Kelvin)

Reimplemented from PDSS.

Definition at line 237 of file PDSS_Water.cpp.

◆ getWater()

WaterPropsIAPWS * getWater ( )
inline

Get a pointer to a changeable WaterPropsIAPWS object.

Definition at line 141 of file PDSS_Water.h.

◆ getWaterProps()

WaterProps * getWaterProps ( )
inline

Get a pointer to a changeable WaterPropsIAPWS object.

Definition at line 146 of file PDSS_Water.h.

◆ getParameters()

void getParameters ( AnyMap eosNode) const
overridevirtual

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

Reimplemented from PDSS.

Definition at line 245 of file PDSS_Water.cpp.

Member Data Documentation

◆ m_sub

WaterPropsIAPWS m_sub
mutableprivate

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

This object owns m_sub

Definition at line 160 of file PDSS_Water.h.

◆ 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 170 of file PDSS_Water.h.

◆ m_dens

double 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 177 of file PDSS_Water.h.

◆ m_iState

int m_iState = WATER_LIQUID
private

state of the fluid

0 WATER_GAS
1 WATER_LIQUID
2 WATER_SUPERCRIT
3 WATER_UNSTABLELIQUID
4 WATER_UNSTABLEGAS

Definition at line 189 of file PDSS_Water.h.

◆ EW_Offset

double EW_Offset = 0.0
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 196 of file PDSS_Water.h.

◆ SW_Offset

double SW_Offset = 0.0
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 203 of file PDSS_Water.h.

◆ m_allowGasPhase

bool m_allowGasPhase = false

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 212 of file PDSS_Water.h.


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