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

A two phase system that can contain NumComp components. More...

#include <GenericOilGasFluidSystem.hpp>

Inheritance diagram for Opm::GenericOilGasFluidSystem< Scalar, NumComp >:
Opm::BaseFluidSystem< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >

Classes

struct  ComponentParam
 

Public Types

template<class ValueType >
using ParameterCache = Opm::PTFlashParameterCache< ValueType, GenericOilGasFluidSystem< Scalar, NumComp > >
 
using ViscosityModel = Opm::ViscosityModels< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >
 
using PengRobinsonMixture = Opm::PengRobinsonMixture< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >
 
- Public Types inherited from Opm::BaseFluidSystem< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >
typedef Scalar Scalar
 The type used for scalar quantities.
 

Static Public Member Functions

template<typename Param >
static void addComponent (const Param &param)
 
static void init ()
 
static Scalar acentricFactor (unsigned compIdx)
 The acentric factor of a component [].
 
static Scalar criticalTemperature (unsigned compIdx)
 Critical temperature of a component [K].
 
static Scalar criticalPressure (unsigned compIdx)
 Critical pressure of a component [Pa].
 
static Scalar criticalVolume (unsigned compIdx)
 Critical volume of a component [m3].
 
static Scalar molarMass (unsigned compIdx)
 Return the molar mass of a component in [kg/mol].
 
static Scalar interactionCoefficient (unsigned, unsigned)
 Returns the interaction coefficient for two components.
 
static std::string_view phaseName (unsigned phaseIdx)
 Return the human readable name of a fluid phase.
 
static std::string_view componentName (unsigned compIdx)
 Return the human readable name of a component.
 
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.
 
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].
 
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.
 
static bool isCompressible (unsigned phaseIdx)
 Returns true if and only if a fluid phase is assumed to be compressible.
 
static bool isIdealMixture (unsigned phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture.
 
static bool isLiquid (unsigned phaseIdx)
 Return whether a phase is liquid.
 
static bool isIdealGas (unsigned phaseIdx)
 Returns true if and only if a fluid phase is assumed to be an ideal gas.
 
- Static Public Member Functions inherited from Opm::BaseFluidSystem< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >
static std::string_view phaseName (unsigned)
 Return the human readable name of a fluid phase.
 
static bool isLiquid (unsigned)
 Return whether a phase is liquid.
 
static bool isIdealMixture (unsigned)
 Returns true if and only if a fluid phase is assumed to be an ideal mixture.
 
static bool isCompressible (unsigned)
 Returns true if and only if a fluid phase is assumed to be compressible.
 
static bool isIdealGas (unsigned)
 Returns true if and only if a fluid phase is assumed to be an ideal gas.
 
static std::string_view componentName (unsigned)
 Return the human readable name of a component.
 
static Scalar molarMass (unsigned)
 Return the molar mass of a component in [kg/mol].
 
static Scalar acentricFactor (unsigned)
 Return the acetntric factor of a component.
 
static void init ()
 Initialize the fluid system's static parameters.
 
static LhsEval density (const FluidState &, const ParamCache &, unsigned)
 Calculate the density [kg/m^3] of a fluid phase.
 
static LhsEval fugacityCoefficient (const FluidState &, ParamCache &, unsigned, unsigned)
 Calculate the fugacity coefficient [Pa] of an individual component in a fluid phase.
 
static LhsEval viscosity (const FluidState &, ParamCache &, unsigned)
 Calculate the dynamic viscosity of a fluid phase [Pa*s].
 
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)].
 
static LhsEval enthalpy (const FluidState &, ParamCache &, unsigned)
 Given a phase's composition, temperature, pressure and density, calculate its specific enthalpy [J/kg].
 
static LhsEval thermalConductivity (const FluidState &, ParamCache &, unsigned)
 Thermal conductivity of a fluid phase [W/(m K)].
 
static LhsEval heatCapacity (const FluidState &, ParamCache &, unsigned)
 Specific isobaric heat capacity of a fluid phase [J/kg].
 
static bool phaseIsActive (unsigned)
 Returns whether a fluid phase is active.
 

Static Public Attributes

static const int numPhases =2
 
static const int numComponents = NumComp
 
static const int numMisciblePhases =2
 
static const int numMiscibleComponents = NumComp
 
static constexpr int oilPhaseIdx = 0
 
static constexpr int gasPhaseIdx = 1
 
- Static Public Attributes inherited from Opm::BaseFluidSystem< Scalar, GenericOilGasFluidSystem< Scalar, NumComp > >
static const int numComponents
 Number of chemical species in the fluid system.
 
static const int numPhases
 Number of fluid phases in the fluid system.
 

Detailed Description

template<class Scalar, int NumComp>
class Opm::GenericOilGasFluidSystem< Scalar, NumComp >

A two phase system that can contain NumComp components.

Template Parameters
ScalarThe floating-point type that specifies the precision of the numerical operations.
NumCompThe number of the components in the fluid system.

Member Function Documentation

◆ acentricFactor()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::acentricFactor ( unsigned  compIdx)
inlinestatic

The acentric factor of a component [].

◆ componentName()

template<class Scalar , int NumComp>
static std::string_view Opm::GenericOilGasFluidSystem< Scalar, NumComp >::componentName ( unsigned  compIdx)
inlinestatic

Return the human readable name of a component.

◆ criticalPressure()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::criticalPressure ( unsigned  compIdx)
inlinestatic

Critical pressure of a component [Pa].

◆ criticalTemperature()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::criticalTemperature ( unsigned  compIdx)
inlinestatic

Critical temperature of a component [K].

◆ criticalVolume()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::criticalVolume ( unsigned  compIdx)
inlinestatic

Critical volume of a component [m3].

◆ density()

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

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

◆ fugacityCoefficient()

template<class Scalar , int NumComp>
template<class FluidState , class LhsEval = typename FluidState::Scalar, class ParamCacheEval = LhsEval>
static LhsEval Opm::GenericOilGasFluidSystem< Scalar, NumComp >::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} \]

◆ interactionCoefficient()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::interactionCoefficient ( unsigned  ,
unsigned   
)
inlinestatic

Returns the interaction coefficient for two components.

◆ isCompressible()

template<class Scalar , int NumComp>
static bool Opm::GenericOilGasFluidSystem< Scalar, NumComp >::isCompressible ( unsigned  phaseIdx)
inlinestatic

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()

template<class Scalar , int NumComp>
static bool Opm::GenericOilGasFluidSystem< Scalar, NumComp >::isIdealGas ( unsigned  phaseIdx)
inlinestatic

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

◆ isIdealMixture()

template<class Scalar , int NumComp>
static bool Opm::GenericOilGasFluidSystem< Scalar, NumComp >::isIdealMixture ( unsigned  phaseIdx)
inlinestatic

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()

template<class Scalar , int NumComp>
static bool Opm::GenericOilGasFluidSystem< Scalar, NumComp >::isLiquid ( unsigned  phaseIdx)
inlinestatic

Return whether a phase is liquid.

◆ molarMass()

template<class Scalar , int NumComp>
static Scalar Opm::GenericOilGasFluidSystem< Scalar, NumComp >::molarMass ( unsigned  compIdx)
inlinestatic

Return the molar mass of a component in [kg/mol].

◆ phaseName()

template<class Scalar , int NumComp>
static std::string_view Opm::GenericOilGasFluidSystem< Scalar, NumComp >::phaseName ( unsigned  phaseIdx)
inlinestatic

Return the human readable name of a fluid phase.

◆ viscosity()

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

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


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