Opm::SimpleHuDuanH2O< Scalar > Class Template Reference

A simple version of pure water with density from Hu et al. More...

#include <SimpleHuDuanH2O.hpp>

Inheritance diagram for Opm::SimpleHuDuanH2O< Scalar >:
Inheritance graph

Public Types

typedef Scalar Scalar
 

Static Public Member Functions

static const char * name ()
 A human readable name for the water. More...
 
static bool gasIsCompressible ()
 Returns true iff the gas phase is assumed to be compressible. More...
 
static bool liquidIsCompressible ()
 Returns true iff the liquid phase is assumed to be compressible. More...
 
static bool gasIsIdeal ()
 Returns true iff the gas phase is assumed to be ideal. More...
 
static Scalar molarMass ()
 The molar mass in $\mathrm{[kg/mol]}$ of water. More...
 
static Scalar criticalTemperature ()
 Returns the critical temperature $\mathrm{[K]}$ of water. More...
 
static Scalar criticalPressure ()
 Returns the critical pressure $\mathrm{[Pa]}$ of water. More...
 
static Scalar tripleTemperature ()
 Returns the temperature $\mathrm{[K]}$ at water's triple point. More...
 
static Scalar triplePressure ()
 Returns the pressure $\mathrm{[Pa]}$ at water's triple point. More...
 
template<class Evaluation >
static Evaluation vaporPressure (const Evaluation &T)
 The vapor pressure in $\mathrm{[Pa]}$ of pure water at a given temperature. More...
 
template<class Evaluation >
static Evaluation gasEnthalpy (const Evaluation &temperature, const Evaluation &)
 Specific enthalpy of water steam $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation gasHeatCapacity (const Evaluation &, const Evaluation &)
 Specific isobaric heat capacity of the component [J/kg] as a gas. More...
 
template<class Evaluation >
static Evaluation liquidEnthalpy (const Evaluation &temperature, const Evaluation &)
 Specific enthalpy of liquid water $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation liquidHeatCapacity (const Evaluation &, const Evaluation &)
 Specific isobaric heat capacity of the component [J/kg] as a liquid. More...
 
template<class Evaluation >
static Evaluation gasInternalEnergy (const Evaluation &temperature, const Evaluation &pressure)
 Specific internal energy of steam $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation liquidInternalEnergy (const Evaluation &temperature, const Evaluation &pressure)
 Specific internal energy of liquid water $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation liquidThermalConductivity (const Evaluation &, const Evaluation &)
 Specific heat conductivity of liquid water $\mathrm{[W/(m K)]}$. More...
 
template<class Evaluation >
static Evaluation gasThermalConductivity (const Evaluation &, const Evaluation &)
 Specific heat conductivity of steam $\mathrm{[W/(m K)]}$. More...
 
template<class Evaluation >
static Evaluation gasDensity (const Evaluation &temperature, const Evaluation &pressure)
 The density $\mathrm{[kg/m^3]}$ of steam at a given pressure and temperature. More...
 
template<class Evaluation >
static Evaluation gasPressure (const Evaluation &temperature, const Evaluation &density)
 The pressure of steam in $\mathrm{[Pa]}$ at a given density and temperature. More...
 
template<class Evaluation >
static Evaluation liquidDensity (const Evaluation &temperature, const Evaluation &pressure, bool extrapolate)
 The density of pure water at a given pressure and temperature $\mathrm{[kg/m^3]}$. More...
 
template<class Evaluation >
static Evaluation liquidPressure (const Evaluation &, const Evaluation &)
 The pressure of water in $\mathrm{[Pa]}$ at a given density and temperature. More...
 
template<class Evaluation >
static Evaluation gasViscosity (const Evaluation &, const Evaluation &)
 The dynamic viscosity $\mathrm{[Pa*s]}$ of steam. More...
 
template<class Evaluation >
static Evaluation liquidViscosity (const Evaluation &temperature, const Evaluation &pressure, bool extrapolate)
 The dynamic viscosity $\mathrm{[Pa*s]}$ of pure water. More...
 
static void init (Scalar, Scalar, unsigned, Scalar, Scalar, unsigned)
 A default routine for initialization, not needed for components and must not be called. More...
 
static Scalar acentricFactor ()
 Returns the acentric factor of the component. More...
 
static Scalar criticalVolume ()
 Returns the critical volume in $\mathrm{[m2/kmol]}$ of the component. More...
 
static Evaluation liquidDensity (const Evaluation &, const Evaluation &)
 The density $\mathrm{[kg/m^3]}$ of the liquid component at a given pressure in $\mathrm{[Pa]}$ and temperature in $\mathrm{[K]}$. More...
 
static Evaluation liquidViscosity (const Evaluation &, const Evaluation &)
 The dynamic liquid viscosity $\mathrm{[Pa*s]}$ of the pure component. More...
 

Static Public Attributes

static const bool isTabulated
 

Detailed Description

template<class Scalar>
class Opm::SimpleHuDuanH2O< Scalar >

A simple version of pure water with density from Hu et al.

Compared to the water formulation of IAPWS'97, this class provides a much simpler component that represents the thermodynamic properties of pure water. This implies that the likelyhood for bugs in this class is reduced and the numerical performance is increased. (At the cost of accuracy for the representation of the physical quantities, of course.)

Density from Hu, Duan, Zhu and Chou: PVTx properties of the CO2-H2O and CO2-H2O-NaCl systems below 647 K: Assessment of experimental data and thermodynamics models, Chemical Geology, 2007.

Template Parameters
ScalarThe type used for representing scalar values

Member Typedef Documentation

◆ Scalar

typedef Scalar Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::Scalar
inherited

Member Function Documentation

◆ acentricFactor()

static Scalar Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::acentricFactor ( )
inlinestaticinherited

Returns the acentric factor of the component.

◆ criticalPressure()

template<class Scalar >
static Scalar Opm::SimpleHuDuanH2O< Scalar >::criticalPressure ( )
inlinestatic

Returns the critical pressure $\mathrm{[Pa]}$ of water.

Referenced by Opm::SimpleHuDuanH2O< Scalar >::vaporPressure().

◆ criticalTemperature()

template<class Scalar >
static Scalar Opm::SimpleHuDuanH2O< Scalar >::criticalTemperature ( )
inlinestatic

Returns the critical temperature $\mathrm{[K]}$ of water.

Referenced by Opm::SimpleHuDuanH2O< Scalar >::vaporPressure().

◆ criticalVolume()

static Scalar Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::criticalVolume ( )
inlinestaticinherited

Returns the critical volume in $\mathrm{[m2/kmol]}$ of the component.

◆ gasDensity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasDensity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

The density $\mathrm{[kg/m^3]}$ of steam at a given pressure and temperature.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

References Opm::IdealGas< Scalar >::molarDensity(), and Opm::SimpleHuDuanH2O< Scalar >::molarMass().

◆ gasEnthalpy()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasEnthalpy ( const Evaluation &  temperature,
const Evaluation &   
)
inlinestatic

Specific enthalpy of water steam $\mathrm{[J/kg]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

References Opm::SimpleHuDuanH2O< Scalar >::molarMass().

Referenced by Opm::SimpleHuDuanH2O< Scalar >::gasInternalEnergy().

◆ gasHeatCapacity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasHeatCapacity ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

Specific isobaric heat capacity of the component [J/kg] as a gas.

◆ gasInternalEnergy()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasInternalEnergy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

Specific internal energy of steam $\mathrm{[J/kg]}$.

   Definition of enthalpy: \f$h= u + pv = u + p / \rho\f$.

   Rearranging for internal energy yields: \f$u = h - pv\f$.

   Exploiting the Ideal Gas assumption (\f$pv = R_{\textnormal{specific}} T\f$)gives: \f$u = h - R / M T \f$.

   The universal gas constant can only be used in the case of molar formulations.
Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

References Opm::SimpleHuDuanH2O< Scalar >::gasEnthalpy(), Opm::SimpleHuDuanH2O< Scalar >::molarMass(), and Opm::IdealGas< Scalar >::R.

◆ gasIsCompressible()

template<class Scalar >
static bool Opm::SimpleHuDuanH2O< Scalar >::gasIsCompressible ( )
inlinestatic

Returns true iff the gas phase is assumed to be compressible.

◆ gasIsIdeal()

template<class Scalar >
static bool Opm::SimpleHuDuanH2O< Scalar >::gasIsIdeal ( )
inlinestatic

Returns true iff the gas phase is assumed to be ideal.

◆ gasPressure()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasPressure ( const Evaluation &  temperature,
const Evaluation &  density 
)
inlinestatic

The pressure of steam in $\mathrm{[Pa]}$ at a given density and temperature.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
densitydensity of component in $\mathrm{[kg/m^3]}$

References Opm::SimpleHuDuanH2O< Scalar >::molarMass(), and Opm::IdealGas< Scalar >::pressure().

◆ gasThermalConductivity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasThermalConductivity ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

Specific heat conductivity of steam $\mathrm{[W/(m K)]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

◆ gasViscosity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::gasViscosity ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

The dynamic viscosity $\mathrm{[Pa*s]}$ of steam.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$
regularizedefines, if the functions is regularized or not, set to true by default

◆ init()

static void Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::init ( Scalar  ,
Scalar  ,
unsigned  ,
Scalar  ,
Scalar  ,
unsigned   
)
inlinestaticinherited

A default routine for initialization, not needed for components and must not be called.

Parameters
tempMinThe minimum of the temperature range in $\mathrm{[K]}$
tempMaxThe maximum of the temperature range in $\mathrm{[K]}$
nTempThe number of entries/steps within the temperature range
pressMinThe minimum of the pressure range in $\mathrm{[Pa]}$
pressMaxThe maximum of the pressure range in $\mathrm{[Pa]}$
nPressThe number of entries/steps within the pressure range

This function throws a warning when called: "No init routine defined - make sure that this is not necessary!"

◆ liquidDensity() [1/2]

static Evaluation Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::liquidDensity ( const Evaluation &  ,
const Evaluation &   
)
inlinestaticinherited

The density $\mathrm{[kg/m^3]}$ of the liquid component at a given pressure in $\mathrm{[Pa]}$ and temperature in $\mathrm{[K]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

◆ liquidDensity() [2/2]

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidDensity ( const Evaluation &  temperature,
const Evaluation &  pressure,
bool  extrapolate 
)
inlinestatic

The density of pure water at a given pressure and temperature $\mathrm{[kg/m^3]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$
extrapolateWhether to extrapolate for untabulated/unreasonable values. If false an exception might be thrown.

Referenced by Opm::SimpleHuDuanH2O< Scalar >::liquidInternalEnergy(), and Opm::SimpleHuDuanH2O< Scalar >::liquidViscosity().

◆ liquidEnthalpy()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidEnthalpy ( const Evaluation &  temperature,
const Evaluation &   
)
inlinestatic

Specific enthalpy of liquid water $\mathrm{[J/kg]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

Referenced by Opm::SimpleHuDuanH2O< Scalar >::liquidInternalEnergy().

◆ liquidHeatCapacity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidHeatCapacity ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

Specific isobaric heat capacity of the component [J/kg] as a liquid.

◆ liquidInternalEnergy()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidInternalEnergy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

Specific internal energy of liquid water $\mathrm{[J/kg]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

References Opm::SimpleHuDuanH2O< Scalar >::liquidDensity(), and Opm::SimpleHuDuanH2O< Scalar >::liquidEnthalpy().

◆ liquidIsCompressible()

template<class Scalar >
static bool Opm::SimpleHuDuanH2O< Scalar >::liquidIsCompressible ( )
inlinestatic

Returns true iff the liquid phase is assumed to be compressible.

◆ liquidPressure()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidPressure ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

The pressure of water in $\mathrm{[Pa]}$ at a given density and temperature.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
densitydensity of component in $\mathrm{[kg/m^3]}$

◆ liquidThermalConductivity()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidThermalConductivity ( const Evaluation &  ,
const Evaluation &   
)
inlinestatic

Specific heat conductivity of liquid water $\mathrm{[W/(m K)]}$.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

◆ liquidViscosity() [1/2]

static Evaluation Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::liquidViscosity ( const Evaluation &  ,
const Evaluation &   
)
inlinestaticinherited

The dynamic liquid viscosity $\mathrm{[Pa*s]}$ of the pure component.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$

◆ liquidViscosity() [2/2]

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::liquidViscosity ( const Evaluation &  temperature,
const Evaluation &  pressure,
bool  extrapolate 
)
inlinestatic

The dynamic viscosity $\mathrm{[Pa*s]}$ of pure water.

Parameters
temperaturetemperature of component in $\mathrm{[K]}$
pressurepressure of component in $\mathrm{[Pa]}$
extrapolateWhether to extrapolate for untabulated/unreasonable values. If false an exception might be thrown.

References Opm::SimpleHuDuanH2O< Scalar >::liquidDensity(), and Opm::IAPWS::Common< Scalar >::viscosity().

Referenced by Opm::BrineCo2Pvt< Scalar >::diffusionCoefficient().

◆ molarMass()

◆ name()

template<class Scalar >
static const char * Opm::SimpleHuDuanH2O< Scalar >::name ( )
inlinestatic

A human readable name for the water.

◆ triplePressure()

template<class Scalar >
static Scalar Opm::SimpleHuDuanH2O< Scalar >::triplePressure ( )
inlinestatic

Returns the pressure $\mathrm{[Pa]}$ at water's triple point.

◆ tripleTemperature()

template<class Scalar >
static Scalar Opm::SimpleHuDuanH2O< Scalar >::tripleTemperature ( )
inlinestatic

Returns the temperature $\mathrm{[K]}$ at water's triple point.

Referenced by Opm::SimpleHuDuanH2O< Scalar >::vaporPressure().

◆ vaporPressure()

template<class Scalar >
template<class Evaluation >
static Evaluation Opm::SimpleHuDuanH2O< Scalar >::vaporPressure ( const Evaluation &  T)
inlinestatic

The vapor pressure in $\mathrm{[Pa]}$ of pure water at a given temperature.

Parameters
Ttemperature of component in $\mathrm{[K]}$

See:

IAPWS: "Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam", http://www.iapws.org/relguide/IF97-Rev.pdf

References Opm::SimpleHuDuanH2O< Scalar >::criticalPressure(), Opm::SimpleHuDuanH2O< Scalar >::criticalTemperature(), Opm::sqrt(), and Opm::SimpleHuDuanH2O< Scalar >::tripleTemperature().

Member Data Documentation

◆ isTabulated

const bool Opm::Component< Scalar , SimpleHuDuanH2O< Scalar > >::isTabulated
staticinherited

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