Opm::Co2BrineFluidSystem< Scalar > Class Template Reference

A two phase two component system, co2 brine. More...

#include <Co2BrineFluidSystem.hh>

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

Public Types

using Comp0 = Opm::SimpleCO2< Scalar >
 
using Comp1 = Opm::Brine< Scalar, Opm::H2O< Scalar > >
 
template<class ValueType >
using ParameterCache = Opm::PTFlashParameterCache< ValueType, Co2BrineFluidSystem< Scalar > >
 
using ViscosityModel = typename Opm::ViscosityModels< Scalar, Co2BrineFluidSystem< Scalar > >
 
using PengRobinsonMixture = typename Opm::PengRobinsonMixture< Scalar, Co2BrineFluidSystem< Scalar > >
 
typedef Scalar Scalar
 The type used for scalar quantities. More...
 

Static Public Member Functions

static Scalar acentricFactor (unsigned compIdx)
 The acentric factor of a component []. More...
 
static Scalar criticalTemperature (unsigned compIdx)
 Critical temperature of a component [K]. More...
 
static Scalar criticalPressure (unsigned compIdx)
 Critical pressure of a component [Pa]. More...
 
static Scalar criticalVolume (unsigned compIdx)
 Critical volume of a component [m3]. More...
 
static Scalar molarMass (unsigned compIdx)
 Return the molar mass of a component in [kg/mol]. More...
 
static Scalar interactionCoefficient (unsigned, unsigned)
 Returns the interaction coefficient for two components. More...
 
static const char * phaseName (unsigned phaseIdx)
 Return the human readable name of a fluid phase. More...
 
static const char * componentName (unsigned compIdx)
 Return the human readable name of a component. More...
 
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval density (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &paramCache, unsigned phaseIdx)
 Calculate the density [kg/m^3] of a fluid phase. More...
 
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval viscosity (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &paramCache, unsigned phaseIdx)
 Calculate the dynamic viscosity of a fluid phase [Pa*s]. More...
 
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval fugacityCoefficient (const FluidState &fluidState, const ParameterCache< ParamCacheEval > &paramCache, unsigned phaseIdx, unsigned compIdx)
 Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase. More...
 
static bool isLiquid (unsigned)
 Return whether a phase is liquid. More...
 
static bool isIdealMixture (unsigned)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture. More...
 
static bool isCompressible (unsigned)
 Returns true if and only if a fluid phase is assumed to be compressible. More...
 
static bool isIdealGas (unsigned)
 Returns true if and only if a fluid phase is assumed to be an ideal gas. More...
 
static void init ()
 Initialize the fluid system's static parameters. More...
 
static LhsEval density (const FluidState &, const ParamCache &, unsigned)
 Calculate the density [kg/m^3] of a fluid phase. More...
 
static LhsEval fugacityCoefficient (const FluidState &, ParamCache &, unsigned, unsigned)
 Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase. More...
 
static LhsEval viscosity (const FluidState &, ParamCache &, unsigned)
 Calculate the dynamic viscosity of a fluid phase [Pa*s]. More...
 
static LhsEval diffusionCoefficient (const FluidState &, ParamCache &, unsigned, unsigned)
 Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)]. More...
 
static LhsEval enthalpy (const FluidState &, ParamCache &, unsigned)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg]. More...
 
static LhsEval thermalConductivity (const FluidState &, ParamCache &, unsigned)
 Thermal conductivity of a fluid phase [W/(m K)]. More...
 
static LhsEval heatCapacity (const FluidState &, ParamCache &, unsigned)
 Specific isobaric heat capacity of a fluid phase [J/kg]. More...
 
static unsigned phaseIsActive (unsigned)
 Returns whether a fluid phase is active. More...
 

Static Public Attributes

static constexpr int numPhases =2
 
static constexpr int numComponents = 2
 
static constexpr int numMisciblePhases =2
 
static constexpr int numMiscibleComponents = 2
 
static constexpr int oilPhaseIdx = 0
 
static constexpr int gasPhaseIdx = 1
 
static constexpr int Comp0Idx = 0
 
static constexpr int Comp1Idx = 1
 

Detailed Description

template<class Scalar>
class Opm::Co2BrineFluidSystem< Scalar >

A two phase two component system, co2 brine.

Member Typedef Documentation

◆ Comp0

template<class Scalar >
using Opm::Co2BrineFluidSystem< Scalar >::Comp0 = Opm::SimpleCO2<Scalar>

◆ Comp1

template<class Scalar >
using Opm::Co2BrineFluidSystem< Scalar >::Comp1 = Opm::Brine<Scalar, Opm::H2O<Scalar> >

◆ ParameterCache

template<class Scalar >
template<class ValueType >
using Opm::Co2BrineFluidSystem< Scalar >::ParameterCache = Opm::PTFlashParameterCache<ValueType, Co2BrineFluidSystem<Scalar> >

◆ PengRobinsonMixture

template<class Scalar >
using Opm::Co2BrineFluidSystem< Scalar >::PengRobinsonMixture = typename Opm::PengRobinsonMixture<Scalar, Co2BrineFluidSystem<Scalar> >

◆ Scalar

typedef Scalar Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::Scalar
inherited

The type used for scalar quantities.

◆ ViscosityModel

template<class Scalar >
using Opm::Co2BrineFluidSystem< Scalar >::ViscosityModel = typename Opm::ViscosityModels<Scalar, Co2BrineFluidSystem<Scalar> >

Member Function Documentation

◆ acentricFactor()

template<class Scalar >
static Scalar Opm::Co2BrineFluidSystem< Scalar >::acentricFactor ( unsigned  compIdx)
inlinestatic

◆ componentName()

template<class Scalar >
static const char * Opm::Co2BrineFluidSystem< Scalar >::componentName ( unsigned  compIdx)
inlinestatic

Return the human readable name of a component.

References Opm::Brine< Scalar, H2O >::name(), and Opm::SimpleCO2< Scalar >::name().

◆ criticalPressure()

template<class Scalar >
static Scalar Opm::Co2BrineFluidSystem< Scalar >::criticalPressure ( unsigned  compIdx)
inlinestatic

◆ criticalTemperature()

template<class Scalar >
static Scalar Opm::Co2BrineFluidSystem< Scalar >::criticalTemperature ( unsigned  compIdx)
inlinestatic

◆ criticalVolume()

◆ density() [1/2]

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::density ( const FluidState &  ,
const ParamCache &  ,
unsigned   
)
inlinestaticinherited

Calculate the density [kg/m^3] of a fluid phase.

◆ density() [2/2]

template<class Scalar >
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::Co2BrineFluidSystem< Scalar >::density ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  paramCache,
unsigned  phaseIdx 
)
inlinestatic

◆ diffusionCoefficient()

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::diffusionCoefficient ( const FluidState &  ,
ParamCache &  ,
unsigned  ,
unsigned   
)
inlinestaticinherited

Calculate the binary molecular diffusion coefficient for a component in a fluid phase [mol^2 * s / (kg*m^3)].

Molecular diffusion of a compoent $\kappa$ is caused by a gradient of the mole fraction and follows the law

\[ J = - D \mathbf{grad} x^\kappa_\alpha \]

where $x_\alpha^\kappa$ is the component's mole fraction in phase $\alpha$, $D$ is the diffusion coefficient and $J$ is the diffusive flux.

◆ enthalpy()

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::enthalpy ( const FluidState &  ,
ParamCache &  ,
unsigned   
)
inlinestaticinherited

Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].

◆ fugacityCoefficient() [1/2]

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::fugacityCoefficient ( const FluidState &  ,
ParamCache &  ,
unsigned  ,
unsigned   
)
inlinestaticinherited

Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.

The fugacity coefficient $\phi_\kappa$ is connected to the fugacity $f_\kappa$ and the component's molarity $x_\kappa$ by means of the relation

\[ f_\kappa = \phi_\kappa\,x_{\kappa} \]

◆ fugacityCoefficient() [2/2]

template<class Scalar >
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::Co2BrineFluidSystem< Scalar >::fugacityCoefficient ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  paramCache,
unsigned  phaseIdx,
unsigned  compIdx 
)
inlinestatic

Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.

The fugacity coefficient $\phi_\kappa$ is connected to the fugacity $f_\kappa$ and the component's molarity $x_\kappa$ by means of the relation

\[ f_\kappa = \phi_\kappa\,x_{\kappa} \]

References Opm::PengRobinsonMixture< Scalar, StaticParameters >::computeFugacityCoefficient(), Opm::Co2BrineFluidSystem< Scalar >::numComponents, and Opm::Co2BrineFluidSystem< Scalar >::numPhases.

◆ heatCapacity()

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::heatCapacity ( const FluidState &  ,
ParamCache &  ,
unsigned   
)
inlinestaticinherited

Specific isobaric heat capacity of a fluid phase [J/kg].

◆ init()

static void Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::init ( )
inlinestaticinherited

Initialize the fluid system's static parameters.

◆ interactionCoefficient()

template<class Scalar >
static Scalar Opm::Co2BrineFluidSystem< Scalar >::interactionCoefficient ( unsigned  ,
unsigned   
)
inlinestatic

Returns the interaction coefficient for two components.

◆ isCompressible()

static bool Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::isCompressible ( unsigned  )
inlinestaticinherited

Returns true if and only if a fluid phase is assumed to be compressible.

Compressible means that the partial derivative of the density to the fluid pressure is always larger than zero.

◆ isIdealGas()

static bool Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::isIdealGas ( unsigned  )
inlinestaticinherited

Returns true if and only if a fluid phase is assumed to be an ideal gas.

◆ isIdealMixture()

static bool Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::isIdealMixture ( unsigned  )
inlinestaticinherited

Returns true if and only if a fluid phase is assumed to be an ideal mixture.

We define an ideal mixture as a fluid phase where the fugacity coefficients of all components times the pressure of the phase are independent on the fluid composition. This assumption is true if Henry's law and Rault's law apply. If you are unsure what this function should return, it is safe to return false. The only damage done will be (slightly) increased computation times in some cases.

◆ isLiquid()

static bool Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::isLiquid ( unsigned  )
inlinestaticinherited

Return whether a phase is liquid.

◆ molarMass()

template<class Scalar >
static Scalar Opm::Co2BrineFluidSystem< Scalar >::molarMass ( unsigned  compIdx)
inlinestatic

◆ phaseIsActive()

static unsigned Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::phaseIsActive ( unsigned  )
inlinestaticinherited

Returns whether a fluid phase is active.

◆ phaseName()

template<class Scalar >
static const char * Opm::Co2BrineFluidSystem< Scalar >::phaseName ( unsigned  phaseIdx)
inlinestatic

Return the human readable name of a fluid phase.

◆ thermalConductivity()

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::thermalConductivity ( const FluidState &  ,
ParamCache &  ,
unsigned   
)
inlinestaticinherited

Thermal conductivity of a fluid phase [W/(m K)].

◆ viscosity() [1/2]

static LhsEval Opm::BaseFluidSystem< Scalar , Co2BrineFluidSystem< Scalar > >::viscosity ( const FluidState &  ,
ParamCache &  ,
unsigned   
)
inlinestaticinherited

Calculate the dynamic viscosity of a fluid phase [Pa*s].

◆ viscosity() [2/2]

template<class Scalar >
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::Co2BrineFluidSystem< Scalar >::viscosity ( const FluidState &  fluidState,
const ParameterCache< ParamCacheEval > &  paramCache,
unsigned  phaseIdx 
)
inlinestatic

Calculate the dynamic viscosity of a fluid phase [Pa*s].

Member Data Documentation

◆ Comp0Idx

◆ Comp1Idx

◆ gasPhaseIdx

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::gasPhaseIdx = 1
staticconstexpr

◆ numComponents

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::numComponents = 2
staticconstexpr

◆ numMiscibleComponents

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::numMiscibleComponents = 2
staticconstexpr

◆ numMisciblePhases

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::numMisciblePhases =2
staticconstexpr

◆ numPhases

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::numPhases =2
staticconstexpr

◆ oilPhaseIdx

template<class Scalar >
constexpr int Opm::Co2BrineFluidSystem< Scalar >::oilPhaseIdx = 0
staticconstexpr

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