Opm::OilPvtMultiplexer< Scalar > Singleton Reference

This class represents the Pressure-Volume-Temperature relations of the oil phase in the black-oil model. More...

#include <DryGasPvt.hpp>

Public Types

enum  OilPvtApproach { NoOilPvt, LiveOilPvt, DeadOilPvt, ConstantCompressibilityOilPvt }
 

Public Member Functions

 OilPvtMultiplexer ()
 
 ~OilPvtMultiplexer ()
 
void initEnd (const GasPvtMultiplexer *gasPvt)
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &XoG) const
 Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation formationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &XoG) const
 Returns the formation volume factor [-] of the fluid phase. More...
 
template<class Evaluation >
Evaluation density (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &XoG) const
 Returns the density [kg/m^3] of the fluid phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation fugacityCoefficientOil (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the fugacity coefficient [-] of the oil component in the oil phase given a pressure and a temperature. More...
 
template<class Evaluation >
Evaluation fugacityCoefficientGas (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the fugacity coefficient [-] of the gas component in the oil phase given a pressure and a temperature. More...
 
template<class Evaluation >
Evaluation fugacityCoefficientWater (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the fugacity coefficient [-] of the water component in the oil phase given a pressure and a temperature. More...
 
template<class Evaluation >
Evaluation gasDissolutionFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the gas dissolution factor $R_s$ [m^3/m^3] of saturated oil. More...
 
template<class Evaluation >
Evaluation oilSaturationPressure (unsigned regionIdx, const Evaluation &temperature, const Evaluation &XoG) const
 Returns the saturation pressure [Pa] of oil given the mass fraction of the gas component in the oil phase. More...
 
template<class Evaluation >
Evaluation saturatedOilGasMassFraction (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the gas mass fraction of gas-saturated oil at a given temperatire and pressure [-]. More...
 
template<class Evaluation >
Evaluation saturatedOilGasMoleFraction (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the gas mole fraction of gas-saturated oil at a given temperatire and pressure [-]. More...
 
void setApproach (OilPvtApproach oilPvtApproach)
 
OilPvtApproach oilPvtApproach () const
 
template<OilPvtApproach approachV>
std::enable_if< approachV==LiveOilPvt,
Opm::LiveOilPvt< Scalar >
>::type & 
getRealOilPvt ()
 
template<OilPvtApproach approachV>
std::enable_if< approachV==LiveOilPvt,
const Opm::LiveOilPvt< Scalar >
>::type & 
getRealOilPvt () const
 
template<OilPvtApproach approachV>
std::enable_if< approachV==DeadOilPvt,
Opm::DeadOilPvt< Scalar >
>::type & 
getRealOilPvt ()
 
template<OilPvtApproach approachV>
std::enable_if< approachV==DeadOilPvt,
const Opm::DeadOilPvt< Scalar >
>::type & 
getRealOilPvt () const
 
template<OilPvtApproach approachV>
std::enable_if< approachV==ConstantCompressibilityOilPvt,
Opm::ConstantCompressibilityOilPvt
< Scalar > >::type & 
getRealOilPvt ()
 
template<OilPvtApproach approachV>
std::enable_if< approachV==ConstantCompressibilityOilPvt,
const
Opm::ConstantCompressibilityOilPvt
< Scalar > >::type & 
getRealOilPvt () const
 

Detailed Description

template<class Scalar>
singleton Opm::OilPvtMultiplexer< Scalar >

This class represents the Pressure-Volume-Temperature relations of the oil phase in the black-oil model.

This is the base class which which provides an API for the actual PVT implementation classes which based on dynamic polymorphism. The rationale to use dynamic polymorphism here is that this enables the fluid system to easily switch the used PVT relations for the individual fluid phases.

Note that, since the application for this class is the black-oil fluid system, the API exposed by this class is pretty specific to the black-oil model.

Member Enumeration Documentation

template<class Scalar >
enum Opm::OilPvtMultiplexer::OilPvtApproach
Enumerator
NoOilPvt 
LiveOilPvt 
DeadOilPvt 
ConstantCompressibilityOilPvt 

Constructor & Destructor Documentation

template<class Scalar >
Opm::OilPvtMultiplexer< Scalar >::OilPvtMultiplexer ( )
inline
template<class Scalar >
Opm::OilPvtMultiplexer< Scalar >::~OilPvtMultiplexer ( )
inline

Member Function Documentation

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::density ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  XoG 
) const
inline

Returns the density [kg/m^3] of the fluid phase given a set of parameters.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::formationVolumeFactor ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  XoG 
) const
inline

Returns the formation volume factor [-] of the fluid phase.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::fugacityCoefficientGas ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the fugacity coefficient [-] of the gas component in the oil phase given a pressure and a temperature.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::fugacityCoefficientOil ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the fugacity coefficient [-] of the oil component in the oil phase given a pressure and a temperature.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

Referenced by Opm::WetGasPvt< Scalar >::fugacityCoefficientOil().

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::fugacityCoefficientWater ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the fugacity coefficient [-] of the water component in the oil phase given a pressure and a temperature.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::gasDissolutionFactor ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the gas dissolution factor $R_s$ [m^3/m^3] of saturated oil.

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == LiveOilPvt, Opm::LiveOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( )
inline
template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == LiveOilPvt, const Opm::LiveOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( ) const
inline
template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == DeadOilPvt, Opm::DeadOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( )
inline
template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == DeadOilPvt, const Opm::DeadOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( ) const
inline
template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == ConstantCompressibilityOilPvt, Opm::ConstantCompressibilityOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( )
inline
template<class Scalar >
template<OilPvtApproach approachV>
std::enable_if<approachV == ConstantCompressibilityOilPvt, const Opm::ConstantCompressibilityOilPvt<Scalar> >::type& Opm::OilPvtMultiplexer< Scalar >::getRealOilPvt ( ) const
inline
template<class Scalar >
void Opm::OilPvtMultiplexer< Scalar >::initEnd ( const GasPvtMultiplexer gasPvt)
inline
template<class Scalar >
OilPvtApproach Opm::OilPvtMultiplexer< Scalar >::oilPvtApproach ( ) const
inline
template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::oilSaturationPressure ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  XoG 
) const
inline

Returns the saturation pressure [Pa] of oil given the mass fraction of the gas component in the oil phase.

Calling this method only makes sense for live oil. All other implementations of the black-oil PVT interface will just throw an exception...

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::saturatedOilGasMassFraction ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the gas mass fraction of gas-saturated oil at a given temperatire and pressure [-].

Calling this method only makes sense for oil. For all other phases an exception will be thrown...

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::saturatedOilGasMoleFraction ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure 
) const
inline

Returns the gas mole fraction of gas-saturated oil at a given temperatire and pressure [-].

Calling this method only makes sense for oil. For all other phases an exception will be thrown...

References OPM_OIL_PVT_MULTIPLEXER_CALL.

template<class Scalar >
void Opm::OilPvtMultiplexer< Scalar >::setApproach ( OilPvtApproach  oilPvtApproach)
inline
template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtMultiplexer< Scalar >::viscosity ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  XoG 
) const
inline

Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters.

References OPM_OIL_PVT_MULTIPLEXER_CALL.


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