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 >:

## Public Types

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

## 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 of the component.
static Scalar | criticalTemperature ()
| Returns the critical temperature in of the component.
static Scalar | criticalPressure ()
| Returns the critical pressure in of the component.
static Scalar | acentricFactor ()
| Returns the acentric factor of the component.
static Scalar | criticalVolume ()
| Returns the critical volume in of the component.
static Scalar | tripleTemperature ()
| Returns the temperature in at the component's triple point.
static Scalar | triplePressure ()
| Returns the pressure in at the component's triple point.
static Evaluation | vaporPressure (const Evaluation &)
| The vapor pressure in of the component at a given temperature in .
static Evaluation | gasDensity (const Evaluation &, const Evaluation &)
| The density in of the component at a given pressure in and temperature in .
static Evaluation | liquidDensity (const Evaluation &, const Evaluation &)
| The density of the liquid component at a given pressure in and temperature in .
static Evaluation | gasEnthalpy (const Evaluation &, const Evaluation &)
| Specific enthalpy of the pure component in gas.
static Evaluation | liquidEnthalpy (const Evaluation &, const Evaluation &)
| Specific enthalpy of the pure component in liquid.
static Evaluation | gasInternalEnergy (const Evaluation &, const Evaluation &)
| Specific internal energy of the pure component in gas.
static Evaluation | liquidInternalEnergy (const Evaluation &, const Evaluation &)
| Specific internal energy of pure the pure component in liquid.
static Evaluation | gasViscosity (const Evaluation &, const Evaluation &)
| The dynamic viscosity of the pure component at a given pressure in and temperature in .
static Evaluation | liquidViscosity (const Evaluation &, const Evaluation &)
| The dynamic liquid viscosity 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, VectorWithDefaultAllocator>>
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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasDensity | ( | const Evaluation & | temperature,
|  | const Evaluation & | pressure,
|  | bool | extrapolate = false )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasEnthalpy | ( | const Evaluation & | temperature,
|  | const Evaluation & | pressure,
|  | bool | extrapolate = false )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasHeatCapacity | ( | const Evaluation & | temperature,
|  | const Evaluation & | pressure )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasHeatCapacity | ( | const Params & | params,
|  | const Evaluation & | temperature,
|  | const Evaluation & | pressure )

inline static

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

  params | Parameters to use
  temperature | Temperature of component
  pressure | Pressure of component

## gasInternalEnergy()

template<class Scalar, class ParamsT = Opm::CO2Tables<double, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasInternalEnergy | ( | const Evaluation & | temperature,
|  | const Evaluation & | pressure,
|  | bool | extrapolate = false )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasViscosity | ( | const Params & | params,
|  | Evaluation | temperature,
|  | const Evaluation & | pressure,
|  | bool | extrapolate = false )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::gasViscosity | ( | Evaluation | temperature,
|  | const Evaluation & | pressure,
|  | bool | extrapolate = false )

inline static

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, VectorWithDefaultAllocator>>
template<class Evaluation>

OPM_HOST_DEVICE Evaluation Opm::CO2< Scalar, ParamsT >::vaporPressure | ( | const Evaluation & | T | ) |

inline static

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 file:

- opm/material/components/CO2.hpp