Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure > Class Template Reference

A generic class which tabulates all thermodynamic properties of a given component. More...

#include <TabulatedComponent.hpp>

Public Types

typedef ScalarT Scalar
 

Static Public Member Functions

static void init (Scalar tempMin, Scalar tempMax, unsigned nTemp, Scalar pressMin, Scalar pressMax, unsigned nPress)
 Initialize the tables. More...
 
static const char * name ()
 A human readable name for the component. More...
 
static Scalar molarMass ()
 The molar mass in $\mathrm{[kg/mol]}$ of the component. More...
 
static Scalar criticalTemperature ()
 Returns the critical temperature in $\mathrm{[K]}$ of the component. More...
 
static Scalar criticalPressure ()
 Returns the critical pressure in $\mathrm{[Pa]}$ of the component. 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 Scalar tripleTemperature ()
 Returns the temperature in $\mathrm{[K]}$ at the component's triple point. More...
 
static Scalar triplePressure ()
 Returns the pressure in $\mathrm{[Pa]}$ at the component's triple point. More...
 
template<class Evaluation >
static Evaluation vaporPressure (const Evaluation &temperature)
 The vapor pressure in $\mathrm{[Pa]}$ of the component at a given temperature. More...
 
template<class Evaluation >
static Evaluation gasEnthalpy (const Evaluation &temperature, const Evaluation &pressure)
 Specific enthalpy of the gas $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation liquidEnthalpy (const Evaluation &temperature, const Evaluation &pressure)
 Specific enthalpy of the liquid $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation gasHeatCapacity (const Evaluation &temperature, const Evaluation &pressure)
 Specific isobaric heat capacity of the gas $\mathrm{[J/(kg K)]}$. More...
 
template<class Evaluation >
static Evaluation liquidHeatCapacity (const Evaluation &temperature, const Evaluation &pressure)
 Specific isobaric heat capacity of the liquid $\mathrm{[J/(kg K)]}$. More...
 
template<class Evaluation >
static Evaluation gasInternalEnergy (const Evaluation &temperature, const Evaluation &pressure)
 Specific internal energy of the gas $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation liquidInternalEnergy (const Evaluation &temperature, const Evaluation &pressure)
 Specific internal energy of the liquid $\mathrm{[J/kg]}$. More...
 
template<class Evaluation >
static Evaluation gasPressure (const Evaluation &temperature, Scalar density)
 The pressure of gas in $\mathrm{[Pa]}$ at a given density and temperature. More...
 
template<class Evaluation >
static Evaluation liquidPressure (const Evaluation &temperature, Scalar density)
 The pressure of liquid in $\mathrm{[Pa]}$ at a given density and temperature. 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...
 
template<class Evaluation >
static Evaluation gasDensity (const Evaluation &temperature, const Evaluation &pressure)
 The density of gas at a given pressure and temperature $\mathrm{[kg/m^3]}$. More...
 
template<class Evaluation >
static Evaluation liquidDensity (const Evaluation &temperature, const Evaluation &pressure)
 The density of liquid at a given pressure and temperature $\mathrm{[kg/m^3]}$. More...
 
template<class Evaluation >
static Evaluation gasViscosity (const Evaluation &temperature, const Evaluation &pressure)
 The dynamic viscosity $\mathrm{[Pa*s]}$ of gas. More...
 
template<class Evaluation >
static Evaluation liquidViscosity (const Evaluation &temperature, const Evaluation &pressure)
 The dynamic viscosity $\mathrm{[Pa*s]}$ of liquid. More...
 
template<class Evaluation >
static Evaluation gasThermalConductivity (const Evaluation &temperature, const Evaluation &pressure)
 The thermal conductivity of gaseous water $\mathrm{[W / (m K)]}$. More...
 
template<class Evaluation >
static Evaluation liquidThermalConductivity (const Evaluation &temperature, const Evaluation &pressure)
 The thermal conductivity of liquid water $\mathrm{[W / (m K)]}$. More...
 

Static Public Attributes

static const bool isTabulated = true
 

Detailed Description

template<class ScalarT, class RawComponent, bool useVaporPressure = true>
class Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >

A generic class which tabulates all thermodynamic properties of a given component.

At the moment, this class can only handle the sub-critical fluids since it tabulates along the vapor pressure curve.

Template Parameters
ScalarThe type used for scalar values
RawComponentThe component which ought to be tabulated
useVaporPressureIf true, tabulate all quantities along the vapor pressure curve, if false use the pressure range [p_min, p_max]

Member Typedef Documentation

◆ Scalar

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
typedef ScalarT Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::Scalar

Member Function Documentation

◆ acentricFactor()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::acentricFactor ( )
inlinestatic

◆ criticalPressure()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::criticalPressure ( )
inlinestatic

◆ criticalTemperature()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::criticalTemperature ( )
inlinestatic

◆ criticalVolume()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::criticalVolume ( )
inlinestatic

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

◆ gasDensity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasDensity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2OAirMesityleneFluidSystem< Scalar >::density(), Opm::H2ON2FluidSystem< Scalar >::density(), and Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasInternalEnergy().

◆ gasEnthalpy()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasEnthalpy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

◆ gasHeatCapacity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasHeatCapacity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

Specific isobaric heat capacity of the gas $\mathrm{[J/(kg K)]}$.

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2ON2FluidSystem< Scalar >::heatCapacity().

◆ gasInternalEnergy()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasInternalEnergy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasDensity(), and Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasEnthalpy().

◆ gasIsCompressible()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static bool Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasIsCompressible ( )
inlinestatic

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

◆ gasIsIdeal()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static bool Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasIsIdeal ( )
inlinestatic

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

Referenced by Opm::H2OAirMesityleneFluidSystem< Scalar >::isIdealGas(), and Opm::H2ON2FluidSystem< Scalar >::isIdealGas().

◆ gasPressure()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasPressure ( const Evaluation &  temperature,
Scalar  density 
)
inlinestatic

The pressure of gas 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::isnan(), and Opm::scalarValue().

◆ gasThermalConductivity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasThermalConductivity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

The thermal conductivity of gaseous water $\mathrm{[W / (m K)]}$.

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2ON2FluidSystem< Scalar >::thermalConductivity().

◆ gasViscosity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::gasViscosity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2OAirMesityleneFluidSystem< Scalar >::viscosity(), and Opm::H2ON2FluidSystem< Scalar >::viscosity().

◆ init()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static void Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::init ( Scalar  tempMin,
Scalar  tempMax,
unsigned  nTemp,
Scalar  pressMin,
Scalar  pressMax,
unsigned  nPress 
)
inlinestatic

Initialize the tables.

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

Referenced by Opm::BrineCO2FluidSystem< Scalar, CO2Tables >::init(), Opm::H2OAirMesityleneFluidSystem< Scalar >::init(), Opm::H2ON2FluidSystem< Scalar >::init(), and Opm::H2ON2LiquidPhaseFluidSystem< Scalar >::init().

◆ liquidDensity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidDensity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2OAirMesityleneFluidSystem< Scalar >::density(), Opm::H2ON2FluidSystem< Scalar >::density(), Opm::H2ON2LiquidPhaseFluidSystem< Scalar >::density(), and Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidInternalEnergy().

◆ liquidEnthalpy()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidEnthalpy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

◆ liquidHeatCapacity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidHeatCapacity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

Specific isobaric heat capacity of the liquid $\mathrm{[J/(kg K)]}$.

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::BrineCO2FluidSystem< Scalar, CO2Tables >::heatCapacity(), Opm::H2ON2FluidSystem< Scalar >::heatCapacity(), and Opm::H2ON2LiquidPhaseFluidSystem< Scalar >::heatCapacity().

◆ liquidInternalEnergy()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidInternalEnergy ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidDensity(), and Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidEnthalpy().

◆ liquidIsCompressible()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static bool Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidIsCompressible ( )
inlinestatic

◆ liquidPressure()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidPressure ( const Evaluation &  temperature,
Scalar  density 
)
inlinestatic

The pressure of liquid 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::isnan(), and Opm::scalarValue().

◆ liquidThermalConductivity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidThermalConductivity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::H2ON2LiquidPhaseFluidSystem< Scalar >::thermalConductivity(), Opm::H2OAirMesityleneFluidSystem< Scalar >::thermalConductivity(), and Opm::H2ON2FluidSystem< Scalar >::thermalConductivity().

◆ liquidViscosity()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::liquidViscosity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

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

References Opm::isnan(), and Opm::scalarValue().

Referenced by Opm::BrineCO2FluidSystem< Scalar, CO2Tables >::viscosity(), Opm::H2OAirMesityleneFluidSystem< Scalar >::viscosity(), Opm::H2ON2FluidSystem< Scalar >::viscosity(), and Opm::H2ON2LiquidPhaseFluidSystem< Scalar >::viscosity().

◆ molarMass()

◆ name()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static const char * Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::name ( )
inlinestatic

◆ triplePressure()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::triplePressure ( )
inlinestatic

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

◆ tripleTemperature()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
static Scalar Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::tripleTemperature ( )
inlinestatic

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

◆ vaporPressure()

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
template<class Evaluation >
static Evaluation Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::vaporPressure ( const Evaluation &  temperature)
inlinestatic

Member Data Documentation

◆ isTabulated

template<class ScalarT , class RawComponent , bool useVaporPressure = true>
const bool Opm::TabulatedComponent< ScalarT, RawComponent, useVaporPressure >::isTabulated = true
static

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