Class for the liquid water pressure dependent standard state. More...
#include <PDSS_Water.h>
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
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   | |
| WaterPropsIAPWS * | getWater () | 
| Get a pointer to a changeable WaterPropsIAPWS object.   | |
| WaterProps * | getWaterProps () | 
| 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 | |
| PDSS & | operator= (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< SpeciesThermoInterpType > | m_spthermo | 
| Pointer to the species thermodynamic property manager.   | |
| PDSS_Water | ( | ) | 
Default constructor.
Definition at line 16 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar enthalpy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 52 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar internal Energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 57 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar entropy in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 62 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar Gibbs free energy in units of J kmol-1.
Reimplemented from PDSS.
Definition at line 67 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar const pressure heat capacity in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 72 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar const volume heat capacity in units of J kmol-1 K-1.
Reimplemented from PDSS.
Definition at line 77 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar volume at standard state.
Reimplemented from PDSS.
Definition at line 82 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the standard state density at standard state.
Reimplemented from PDSS.
Definition at line 207 of file PDSS_Water.cpp.
| 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
| temp | Temperature (Kelvin) | 
Definition at line 224 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar Gibbs free energy divided by RT at reference pressure.
Reimplemented from PDSS.
Definition at line 87 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar enthalpy divided by RT at reference pressure.
Reimplemented from PDSS.
Definition at line 95 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar entropy divided by R at reference pressure.
Reimplemented from PDSS.
Definition at line 103 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar heat capacity divided by R at reference pressure.
Reimplemented from PDSS.
Definition at line 111 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Return the molar volume at reference pressure.
Reimplemented from PDSS.
Definition at line 119 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
      
  | 
  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.
| pres | Pressure to be set (Pascal) | 
Reimplemented from PDSS.
Definition at line 133 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Set the internal temperature.
| temp | Temperature (Kelvin) | 
Reimplemented from PDSS.
Definition at line 212 of file PDSS_Water.cpp.
      
  | 
  overridevirtual | 
Set the internal temperature and pressure.
| temp | Temperature (Kelvin) | 
| pres | pressure (Pascals) | 
Reimplemented from PDSS.
Definition at line 218 of file PDSS_Water.cpp.
| void setDensity | ( | double | dens | ) | 
Set the density of the water phase.
This is a non-virtual function because it specific to this object.
| dens | Density of the water (kg/m3) | 
Definition at line 201 of file PDSS_Water.cpp.
      
  | 
  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.
| 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.
| 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.
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
      
  | 
  overridevirtual | 
saturation pressure
| T | Temperature (Kelvin) | 
Reimplemented from PDSS.
Definition at line 237 of file PDSS_Water.cpp.
      
  | 
  inline | 
Get a pointer to a changeable WaterPropsIAPWS object.
Definition at line 141 of file PDSS_Water.h.
      
  | 
  inline | 
Get a pointer to a changeable WaterPropsIAPWS object.
Definition at line 146 of file PDSS_Water.h.
      
  | 
  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.
      
  | 
  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.
      
  | 
  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.
      
  | 
  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.
      
  | 
  private | 
state of the fluid
Definition at line 189 of file PDSS_Water.h.
      
  | 
  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.
      
  | 
  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.
| 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.