Opm::OilPvtThermal< Scalar > Class Template Reference

This class implements temperature dependence of the PVT properties of oil. More...

#include <OilPvtThermal.hpp>

Public Types

using TabulatedOneDFunction = Tabulated1DFunction< Scalar >
 
using IsothermalPvt = OilPvtMultiplexer< Scalar, false >
 

Public Member Functions

 OilPvtThermal ()
 
 OilPvtThermal (IsothermalPvt *isothermalPvt, const std::vector< TabulatedOneDFunction > &oilvisctCurves, const std::vector< Scalar > &viscrefPress, const std::vector< Scalar > &viscrefRs, const std::vector< Scalar > &viscRef, const std::vector< Scalar > &oildentRefTemp, const std::vector< Scalar > &oildentCT1, const std::vector< Scalar > &oildentCT2, const std::vector< Scalar > &oilJTRefPres, const std::vector< Scalar > &oilJTC, const std::vector< TabulatedOneDFunction > &internalEnergyCurves, bool enableThermalDensity, bool enableJouleThomson, bool enableThermalViscosity, bool enableInternalEnergy)
 
 OilPvtThermal (const OilPvtThermal &data)
 
 ~OilPvtThermal ()
 
void setNumRegions (size_t numRegions)
 Set the number of PVT-regions considered by this object. More...
 
void initEnd ()
 Finish initializing the thermal part of the oil phase PVT properties. More...
 
bool enableThermalDensity () const
 Returns true iff the density of the oil phase is temperature dependent. More...
 
bool enableJouleThomsony () const
 Returns true iff Joule-Thomson effect for the oil phase is active. More...
 
bool enableThermalViscosity () const
 Returns true iff the viscosity of the oil phase is temperature dependent. More...
 
size_t numRegions () const
 
template<class Evaluation >
Evaluation internalEnergy (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rs) const
 Returns the specific internal energy [J/kg] of oil given a set of parameters. More...
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rs) const
 Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation saturatedViscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the dynamic viscosity [Pa s] of the fluid phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rs) const
 Returns the formation volume factor [-] of the fluid phase. More...
 
template<class Evaluation >
Evaluation saturatedInverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the formation volume factor [-] of gas-saturated oil phase. More...
 
template<class Evaluation >
Evaluation saturatedGasDissolutionFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the gas dissolution factor $R_s$ [m^3/m^3] of the oil phase. More...
 
template<class Evaluation >
Evaluation saturatedGasDissolutionFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &oilSaturation, const Evaluation &maxOilSaturation) const
 Returns the gas dissolution factor $R_s$ [m^3/m^3] of the oil phase. More...
 
template<class Evaluation >
Evaluation saturationPressure (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the saturation pressure of the oil phase [Pa]. More...
 
template<class Evaluation >
Evaluation diffusionCoefficient (const Evaluation &temperature, const Evaluation &pressure, unsigned compIdx) const
 
const IsothermalPvtisoThermalPvt () const
 
const Scalar oilReferenceDensity (unsigned regionIdx) const
 
const std::vector< TabulatedOneDFunction > & oilvisctCurves () const
 
const std::vector< Scalar > & viscrefPress () const
 
const std::vector< Scalar > & viscrefRs () const
 
const std::vector< Scalar > & viscRef () const
 
const std::vector< Scalar > & oildentRefTemp () const
 
const std::vector< Scalar > & oildentCT1 () const
 
const std::vector< Scalar > & oildentCT2 () const
 
const std::vector< TabulatedOneDFunctioninternalEnergyCurves () const
 
bool enableInternalEnergy () const
 
const std::vector< Scalar > & oilJTRefPres () const
 
const std::vector< Scalar > & oilJTC () const
 
bool operator== (const OilPvtThermal< Scalar > &data) const
 
OilPvtThermal< Scalar > & operator= (const OilPvtThermal< Scalar > &data)
 

Detailed Description

template<class Scalar>
class Opm::OilPvtThermal< Scalar >

This class implements temperature dependence of the PVT properties of oil.

Note that this only implements the temperature part, i.e., it requires the isothermal properties as input.

Member Typedef Documentation

◆ IsothermalPvt

template<class Scalar >
using Opm::OilPvtThermal< Scalar >::IsothermalPvt = OilPvtMultiplexer<Scalar, false>

◆ TabulatedOneDFunction

template<class Scalar >
using Opm::OilPvtThermal< Scalar >::TabulatedOneDFunction = Tabulated1DFunction<Scalar>

Constructor & Destructor Documentation

◆ OilPvtThermal() [1/3]

template<class Scalar >
Opm::OilPvtThermal< Scalar >::OilPvtThermal ( )
inline

◆ OilPvtThermal() [2/3]

template<class Scalar >
Opm::OilPvtThermal< Scalar >::OilPvtThermal ( IsothermalPvt isothermalPvt,
const std::vector< TabulatedOneDFunction > &  oilvisctCurves,
const std::vector< Scalar > &  viscrefPress,
const std::vector< Scalar > &  viscrefRs,
const std::vector< Scalar > &  viscRef,
const std::vector< Scalar > &  oildentRefTemp,
const std::vector< Scalar > &  oildentCT1,
const std::vector< Scalar > &  oildentCT2,
const std::vector< Scalar > &  oilJTRefPres,
const std::vector< Scalar > &  oilJTC,
const std::vector< TabulatedOneDFunction > &  internalEnergyCurves,
bool  enableThermalDensity,
bool  enableJouleThomson,
bool  enableThermalViscosity,
bool  enableInternalEnergy 
)
inline

◆ OilPvtThermal() [3/3]

template<class Scalar >
Opm::OilPvtThermal< Scalar >::OilPvtThermal ( const OilPvtThermal< Scalar > &  data)
inline

◆ ~OilPvtThermal()

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

Member Function Documentation

◆ diffusionCoefficient()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtThermal< Scalar >::diffusionCoefficient ( const Evaluation &  temperature,
const Evaluation &  pressure,
unsigned  compIdx 
) const
inline

◆ enableInternalEnergy()

template<class Scalar >
bool Opm::OilPvtThermal< Scalar >::enableInternalEnergy ( ) const
inline

◆ enableJouleThomsony()

template<class Scalar >
bool Opm::OilPvtThermal< Scalar >::enableJouleThomsony ( ) const
inline

Returns true iff Joule-Thomson effect for the oil phase is active.

◆ enableThermalDensity()

template<class Scalar >
bool Opm::OilPvtThermal< Scalar >::enableThermalDensity ( ) const
inline

◆ enableThermalViscosity()

template<class Scalar >
bool Opm::OilPvtThermal< Scalar >::enableThermalViscosity ( ) const
inline

Returns true iff the viscosity of the oil phase is temperature dependent.

Referenced by Opm::OilPvtThermal< Scalar >::operator==(), Opm::OilPvtThermal< Scalar >::saturatedViscosity(), and Opm::OilPvtThermal< Scalar >::viscosity().

◆ initEnd()

template<class Scalar >
void Opm::OilPvtThermal< Scalar >::initEnd ( )
inline

Finish initializing the thermal part of the oil phase PVT properties.

◆ internalEnergy()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtThermal< Scalar >::internalEnergy ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  Rs 
) const
inline

Returns the specific internal energy [J/kg] of oil given a set of parameters.

References Opm::OilPvtThermal< Scalar >::inverseFormationVolumeFactor(), and Opm::OilPvtThermal< Scalar >::oilReferenceDensity().

◆ internalEnergyCurves()

template<class Scalar >
const std::vector< TabulatedOneDFunction > Opm::OilPvtThermal< Scalar >::internalEnergyCurves ( ) const
inline

◆ inverseFormationVolumeFactor()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtThermal< Scalar >::inverseFormationVolumeFactor ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  Rs 
) const
inline

◆ isoThermalPvt()

template<class Scalar >
const IsothermalPvt * Opm::OilPvtThermal< Scalar >::isoThermalPvt ( ) const
inline

◆ numRegions()

template<class Scalar >
size_t Opm::OilPvtThermal< Scalar >::numRegions ( ) const
inline

◆ oildentCT1()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::oildentCT1 ( ) const
inline

◆ oildentCT2()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::oildentCT2 ( ) const
inline

◆ oildentRefTemp()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::oildentRefTemp ( ) const
inline

◆ oilJTC()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::oilJTC ( ) const
inline

◆ oilJTRefPres()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::oilJTRefPres ( ) const
inline

◆ oilReferenceDensity()

template<class Scalar >
const Scalar Opm::OilPvtThermal< Scalar >::oilReferenceDensity ( unsigned  regionIdx) const
inline

◆ oilvisctCurves()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::OilPvtThermal< Scalar >::oilvisctCurves ( ) const
inline

◆ operator=()

template<class Scalar >
OilPvtThermal< Scalar > & Opm::OilPvtThermal< Scalar >::operator= ( const OilPvtThermal< Scalar > &  data)
inline

◆ operator==()

◆ saturatedGasDissolutionFactor() [1/2]

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

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

This method implements temperature dependence and requires the isothermal gas dissolution factor for gas saturated oil and temperature as inputs. Currently it is just a dummy method which passes through the isothermal gas dissolution factor.

References Opm::OilPvtMultiplexer< Scalar, enableThermal >::saturatedGasDissolutionFactor().

◆ saturatedGasDissolutionFactor() [2/2]

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtThermal< Scalar >::saturatedGasDissolutionFactor ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  oilSaturation,
const Evaluation &  maxOilSaturation 
) const
inline

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

This method implements temperature dependence and requires the isothermal gas dissolution factor for gas saturated oil and temperature as inputs. Currently it is just a dummy method which passes through the isothermal gas dissolution factor.

References Opm::OilPvtMultiplexer< Scalar, enableThermal >::saturatedGasDissolutionFactor().

◆ saturatedInverseFormationVolumeFactor()

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

◆ saturatedViscosity()

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

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

References Opm::OilPvtThermal< Scalar >::enableThermalViscosity(), and Opm::OilPvtMultiplexer< Scalar, enableThermal >::saturatedViscosity().

◆ saturationPressure()

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

Returns the saturation pressure of the oil phase [Pa].

This method implements temperature dependence and requires isothermal satuation pressure and temperature as inputs. Currently it is just a dummy method which passes through the isothermal saturation pressure.

References Opm::OilPvtMultiplexer< Scalar, enableThermal >::saturationPressure().

◆ setNumRegions()

template<class Scalar >
void Opm::OilPvtThermal< Scalar >::setNumRegions ( size_t  numRegions)
inline

Set the number of PVT-regions considered by this object.

References Opm::OilPvtThermal< Scalar >::numRegions().

◆ viscosity()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::OilPvtThermal< Scalar >::viscosity ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  Rs 
) const
inline

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

References Opm::OilPvtThermal< Scalar >::enableThermalViscosity(), and Opm::OilPvtMultiplexer< Scalar, enableThermal >::viscosity().

◆ viscRef()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::viscRef ( ) const
inline

◆ viscrefPress()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::viscrefPress ( ) const
inline

◆ viscrefRs()

template<class Scalar >
const std::vector< Scalar > & Opm::OilPvtThermal< Scalar >::viscrefRs ( ) const
inline

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