My Project
Loading...
Searching...
No Matches
Opm::CO2< Scalar, ParamsT > Class Template Reference

A class for the CO2 fluid properties. More...

#include <CO2.hpp>

Inheritance diagram for Opm::CO2< Scalar, ParamsT >:
Opm::Component< Scalar, CO2< Scalar > >

Public Types

using Params = ParamsT
 
- Public Types inherited from Opm::Component< Scalar, CO2< Scalar > >
typedef Scalar Scalar
 

Public Member Functions

const UniformTabulated2DFunction< double > & tabulatedEnthalpy
 
const UniformTabulated2DFunction< double > & tabulatedDensity
 
const UniformTabulated2DFunction< double > & tabulatedEnthalpy
 
const UniformTabulated2DFunction< double > & tabulatedDensity
 

Static Public Member Functions

static OPM_HOST_DEVICE std::string_view name ()
 A human readable name for the CO2.
 
static OPM_HOST_DEVICE Scalar molarMass ()
 The mass in [kg] of one mole of CO2.
 
static OPM_HOST_DEVICE Scalar criticalTemperature ()
 Returns the critical temperature [K] of CO2.
 
static OPM_HOST_DEVICE Scalar criticalPressure ()
 Returns the critical pressure [Pa] of CO2.
 
static OPM_HOST_DEVICE Scalar tripleTemperature ()
 Returns the temperature [K]at CO2's triple point.
 
static OPM_HOST_DEVICE Scalar triplePressure ()
 Returns the pressure [Pa] at CO2's triple point.
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation vaporPressure (const Evaluation &T)
 Returns the pressure [Pa] at CO2's triple point.
 
static OPM_HOST_DEVICE bool gasIsCompressible ()
 Returns true iff the gas phase is assumed to be compressible.
 
static OPM_HOST_DEVICE bool gasIsIdeal ()
 Returns true iff the gas phase is assumed to be ideal.
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasEnthalpy (const Params &params, const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 Specific enthalpy of gaseous CO2 [J/kg].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasEnthalpy (const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 Specific enthalpy of gaseous CO2 [J/kg].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasInternalEnergy (const Params &params, const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 Specific internal energy of CO2 [J/kg].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasInternalEnergy (const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 Specific internal energy of CO2 [J/kg].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasDensity (const Params &params, const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 The density of CO2 at a given pressure and temperature [kg/m^3].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasDensity (const Evaluation &temperature, const Evaluation &pressure, bool extrapolate=false)
 The density of CO2 at a given pressure and temperature [kg/m^3].
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasViscosity (const Params &params, Evaluation temperature, const Evaluation &pressure, bool extrapolate=false)
 The dynamic viscosity [Pa s] of CO2.
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasViscosity (Evaluation temperature, const Evaluation &pressure, bool extrapolate=false)
 The dynamic viscosity [Pa s] of CO2.
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasHeatCapacity (const Params &params, const Evaluation &temperature, const Evaluation &pressure)
 Specific isobaric heat capacity of the component [J/kg] as a liquid.
 
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation gasHeatCapacity (const Evaluation &temperature, const Evaluation &pressure)
 Specific isobaric heat capacity of the component [J/kg] as a liquid.
 
- Static Public Member Functions inherited from Opm::Component< Scalar, CO2< Scalar > >
static void init (Scalar, Scalar, unsigned, Scalar, Scalar, unsigned)
 A default routine for initialization, not needed for components and must not be called.
 
static bool gasIsCompressible ()
 Returns true iff the gas phase is assumed to be compressible.
 
static bool gasIsIdeal ()
 Returns true iff the gas phase is assumed to be ideal.
 
static bool liquidIsCompressible ()
 Returns true iff the liquid phase is assumed to be compressible.
 
static std::string_view name ()
 A human readable name for the component.
 
static Scalar molarMass ()
 The molar mass in $\mathrm{[kg]}$ of the component.
 
static Scalar criticalTemperature ()
 Returns the critical temperature in $\mathrm{[K]}$ of the component.
 
static Scalar criticalPressure ()
 Returns the critical pressure in $\mathrm{[Pa]}$ of the component.
 
static Scalar acentricFactor ()
 Returns the acentric factor of the component.
 
static Scalar criticalVolume ()
 Returns the critical volume in $\mathrm{[m2/kmol]}$ of the component.
 
static Scalar tripleTemperature ()
 Returns the temperature in $\mathrm{[K]}$ at the component's triple point.
 
static Scalar triplePressure ()
 Returns the pressure in $\mathrm{[Pa]}$ at the component's triple point.
 
static Evaluation vaporPressure (const Evaluation &)
 The vapor pressure in $\mathrm{[Pa]}$ of the component at a given temperature in $\mathrm{[K]}$.
 
static Evaluation gasDensity (const Evaluation &, const Evaluation &)
 The density in $\mathrm{[kg/m^3]}$ of the component at a given pressure in $\mathrm{[Pa]}$ and temperature in $\mathrm{[K]}$.
 
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]}$.
 
static Evaluation gasEnthalpy (const Evaluation &, const Evaluation &)
 Specific enthalpy $\mathrm{[J/kg]}$ of the pure component in gas.
 
static Evaluation liquidEnthalpy (const Evaluation &, const Evaluation &)
 Specific enthalpy $\mathrm{[J/kg]}$ of the pure component in liquid.
 
static Evaluation gasInternalEnergy (const Evaluation &, const Evaluation &)
 Specific internal energy $\mathrm{[J/kg]}$ of the pure component in gas.
 
static Evaluation liquidInternalEnergy (const Evaluation &, const Evaluation &)
 Specific internal energy $\mathrm{[J/kg]}$ of pure the pure component in liquid.
 
static Evaluation gasViscosity (const Evaluation &, const Evaluation &)
 The dynamic viscosity $\mathrm{[Pa*s]}$ of the pure component at a given pressure in $\mathrm{[Pa]}$ and temperature in $\mathrm{[K]}$.
 
static Evaluation liquidViscosity (const Evaluation &, const Evaluation &)
 The dynamic liquid viscosity $\mathrm{[Pa*s]}$ of the pure component.
 
static Evaluation gasThermalConductivity (const Evaluation &, const Evaluation &)
 Thermal conductivity of the component [W/(m^2 K/m)] as a gas.
 
static Evaluation liquidThermalConductivity (const Evaluation &, const Evaluation &)
 Thermal conductivity of the component [W/(m^2 K/m)] as a liquid.
 
static Evaluation gasHeatCapacity (const Evaluation &, const Evaluation &)
 Specific isobaric heat capacity of the component [J/kg] as a gas.
 
static Evaluation liquidHeatCapacity (const Evaluation &, const Evaluation &)
 Specific isobaric heat capacity of the component [J/kg] as a liquid.
 

Static Public Attributes

static constexpr const Scalar brineSalinity = 1.000000000000000e-01
 
- Static Public Attributes inherited from Opm::Component< Scalar, CO2< Scalar > >
static constexpr bool isTabulated
 

Detailed Description

template<class Scalar, class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
class Opm::CO2< Scalar, ParamsT >

A class for the CO2 fluid properties.

Under reservoir conditions, CO2 is typically in supercritical state. These properties can be provided in tabulated form, which is necessary for this component. The template is used by the fluidsystem BrineCO2FluidSystem. If thermodynamic precision is not a top priority, the much simpler component Opm::SimpleCO2 can be used instead

Member Function Documentation

◆ gasDensity()

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasDensity ( const Evaluation &  temperature,
const Evaluation &  pressure,
bool  extrapolate = false 
)
inlinestatic

The density of CO2 at a given pressure and temperature [kg/m^3].

this is only here so that the API is valid

◆ gasEnthalpy()

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasEnthalpy ( const Evaluation &  temperature,
const Evaluation &  pressure,
bool  extrapolate = false 
)
inlinestatic

Specific enthalpy of gaseous CO2 [J/kg].

this is only here so that the API is valid

◆ gasHeatCapacity() [1/2]

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasHeatCapacity ( const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

This is only here so that the API is valid

◆ gasHeatCapacity() [2/2]

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasHeatCapacity ( const Params &  params,
const Evaluation &  temperature,
const Evaluation &  pressure 
)
inlinestatic

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

This function uses the fact that heat capacity is the partial derivative of enthalpy function with respect to temperature.

Parameters
temperatureTemperature of component $\mathrm{[K]}$
pressurePressure of component $\mathrm{[Pa]}$

◆ gasInternalEnergy()

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasInternalEnergy ( const Evaluation &  temperature,
const Evaluation &  pressure,
bool  extrapolate = false 
)
inlinestatic

Specific internal energy of CO2 [J/kg].

this is only here so that the API is valid

◆ gasViscosity() [1/2]

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasViscosity ( const Params &  params,
Evaluation  temperature,
const Evaluation &  pressure,
bool  extrapolate = false 
)
inlinestatic

The dynamic viscosity [Pa s] of CO2.

Equations given in: - Vesovic et al., 1990

  • Fenhour etl al., 1998

◆ gasViscosity() [2/2]

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasViscosity ( Evaluation  temperature,
const Evaluation &  pressure,
bool  extrapolate = false 
)
inlinestatic

The dynamic viscosity [Pa s] of CO2.

This is only here so that the API is valid

◆ vaporPressure()

template<class Scalar , class ParamsT = Opm::CO2Tables<double, std::vector<double>>>
template<class Evaluation >
static OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::vaporPressure ( const Evaluation &  T)
inlinestatic

Returns the pressure [Pa] at CO2's triple point.

Returns the pressure [Pa] at CO2's triple point.

Returns the pressure [Pa] at CO2's triple point.

Returns the pressure [Pa] at CO2's triple point.

The vapor pressure in [N/m^2] of pure CO2 at a given temperature.

See:

R. Span and W. Wagner: A New Equation of State for Carbon Dioxide Covering the Fluid Region from the Triple‐Point Temperature to 1100 K at Pressures up to 800 MPa. Journal of Physical and Chemical Reference Data, 25 (6), pp. 1509-1596, 1996


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