Opm::GasPvtThermal< Scalar > Class Template Reference

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

#include <GasPvtThermal.hpp>

Public Types

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

Public Member Functions

 GasPvtThermal ()
 
 GasPvtThermal (IsothermalPvt *isothermalPvt, const std::vector< TabulatedOneDFunction > &gasvisctCurves, const std::vector< Scalar > &gasdentRefTemp, const std::vector< Scalar > &gasdentCT1, const std::vector< Scalar > &gasdentCT2, const std::vector< Scalar > &gasJTRefPres, const std::vector< Scalar > &gasJTC, const std::vector< TabulatedOneDFunction > &internalEnergyCurves, bool enableThermalDensity, bool enableJouleThomson, bool enableThermalViscosity, bool enableInternalEnergy)
 
 GasPvtThermal (const GasPvtThermal &data)
 
 ~GasPvtThermal ()
 
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 gas phase PVT properties. More...
 
size_t numRegions () const
 
bool enableThermalDensity () const
 Returns true iff the density of the gas phase is temperature dependent. More...
 
bool enableJouleThomsony () const
 Returns true iff Joule-Thomson effect for the gas phase is active. More...
 
bool enableThermalViscosity () const
 Returns true iff the viscosity of the gas phase is temperature dependent. More...
 
template<class Evaluation >
Evaluation internalEnergy (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rv) const
 Returns the specific internal energy [J/kg] of gas given a set of parameters. More...
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rv, const Evaluation &Rvw) 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 oil-saturated gas phase given a set of parameters. More...
 
template<class Evaluation >
Evaluation inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &Rv, const Evaluation &) 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 oil-saturated gas. More...
 
template<class Evaluation >
Evaluation saturatedWaterVaporizationFactor (unsigned, const Evaluation &, const Evaluation &) const
 Returns the water vaporization factor $R_v$ [m^3/m^3] of the water phase. More...
 
template<class Evaluation = Scalar>
Evaluation saturatedWaterVaporizationFactor (unsigned, const Evaluation &, const Evaluation &, const Evaluation &) const
 Returns the water vaporization factor $R_vw$ [m^3/m^3] of water saturated gas. More...
 
template<class Evaluation >
Evaluation saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the oil vaporization factor $R_v$ [m^3/m^3] of the gas phase. More...
 
template<class Evaluation >
Evaluation saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure, const Evaluation &oilSaturation, const Evaluation &maxOilSaturation) const
 Returns the oil vaporization factor $R_v$ [m^3/m^3] of the gas phase. More...
 
template<class Evaluation >
Evaluation saturationPressure (unsigned regionIdx, const Evaluation &temperature, const Evaluation &pressure) const
 Returns the saturation pressure of the gas phase [Pa]. More...
 
template<class Evaluation >
Evaluation diffusionCoefficient (const Evaluation &temperature, const Evaluation &pressure, unsigned compIdx) const
 
const IsothermalPvtisoThermalPvt () const
 
const Scalar gasReferenceDensity (unsigned regionIdx) const
 
const std::vector< TabulatedOneDFunction > & gasvisctCurves () const
 
const std::vector< Scalar > & gasdentRefTemp () const
 
const std::vector< Scalar > & gasdentCT1 () const
 
const std::vector< Scalar > & gasdentCT2 () const
 
const std::vector< TabulatedOneDFunction > & internalEnergyCurves () const
 
bool enableInternalEnergy () const
 
const std::vector< Scalar > & gasJTRefPres () const
 
const std::vector< Scalar > & gasJTC () const
 
bool operator== (const GasPvtThermal< Scalar > &data) const
 
GasPvtThermal< Scalar > & operator= (const GasPvtThermal< Scalar > &data)
 

Detailed Description

template<class Scalar>
class Opm::GasPvtThermal< Scalar >

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

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::GasPvtThermal< Scalar >::IsothermalPvt = GasPvtMultiplexer<Scalar, false>

◆ TabulatedOneDFunction

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

Constructor & Destructor Documentation

◆ GasPvtThermal() [1/3]

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

◆ GasPvtThermal() [2/3]

template<class Scalar >
Opm::GasPvtThermal< Scalar >::GasPvtThermal ( IsothermalPvt isothermalPvt,
const std::vector< TabulatedOneDFunction > &  gasvisctCurves,
const std::vector< Scalar > &  gasdentRefTemp,
const std::vector< Scalar > &  gasdentCT1,
const std::vector< Scalar > &  gasdentCT2,
const std::vector< Scalar > &  gasJTRefPres,
const std::vector< Scalar > &  gasJTC,
const std::vector< TabulatedOneDFunction > &  internalEnergyCurves,
bool  enableThermalDensity,
bool  enableJouleThomson,
bool  enableThermalViscosity,
bool  enableInternalEnergy 
)
inline

◆ GasPvtThermal() [3/3]

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

◆ ~GasPvtThermal()

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

Member Function Documentation

◆ diffusionCoefficient()

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

◆ enableInternalEnergy()

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

◆ enableJouleThomsony()

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

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

◆ enableThermalDensity()

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

◆ enableThermalViscosity()

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

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

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

◆ gasdentCT1()

template<class Scalar >
const std::vector< Scalar > & Opm::GasPvtThermal< Scalar >::gasdentCT1 ( ) const
inline

◆ gasdentCT2()

template<class Scalar >
const std::vector< Scalar > & Opm::GasPvtThermal< Scalar >::gasdentCT2 ( ) const
inline

◆ gasdentRefTemp()

template<class Scalar >
const std::vector< Scalar > & Opm::GasPvtThermal< Scalar >::gasdentRefTemp ( ) const
inline

◆ gasJTC()

template<class Scalar >
const std::vector< Scalar > & Opm::GasPvtThermal< Scalar >::gasJTC ( ) const
inline

◆ gasJTRefPres()

template<class Scalar >
const std::vector< Scalar > & Opm::GasPvtThermal< Scalar >::gasJTRefPres ( ) const
inline

◆ gasReferenceDensity()

template<class Scalar >
const Scalar Opm::GasPvtThermal< Scalar >::gasReferenceDensity ( unsigned  regionIdx) const
inline

◆ gasvisctCurves()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::GasPvtThermal< Scalar >::gasvisctCurves ( ) const
inline

◆ initEnd()

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

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

◆ internalEnergy()

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

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

References Opm::GasPvtThermal< Scalar >::gasReferenceDensity(), and Opm::GasPvtThermal< Scalar >::inverseFormationVolumeFactor().

◆ internalEnergyCurves()

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

◆ inverseFormationVolumeFactor()

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

◆ isoThermalPvt()

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

◆ numRegions()

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

◆ operator=()

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

◆ operator==()

◆ saturatedInverseFormationVolumeFactor()

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

◆ saturatedOilVaporizationFactor() [1/2]

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

Returns the oil vaporization factor $R_v$ [m^3/m^3] of the gas phase.

This method implements temperature dependence and requires the gas pressure, temperature and the oil saturation as inputs. Currently it is just a dummy method which passes through the isothermal oil vaporization factor.

References Opm::GasPvtMultiplexer< Scalar, enableThermal >::saturatedOilVaporizationFactor().

◆ saturatedOilVaporizationFactor() [2/2]

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

Returns the oil vaporization factor $R_v$ [m^3/m^3] of the gas phase.

This method implements temperature dependence and requires the gas pressure, temperature and the oil saturation as inputs. Currently it is just a dummy method which passes through the isothermal oil vaporization factor.

References Opm::GasPvtMultiplexer< Scalar, enableThermal >::saturatedOilVaporizationFactor().

◆ saturatedViscosity()

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

Returns the dynamic viscosity [Pa s] of the oil-saturated gas phase given a set of parameters.

References Opm::GasPvtThermal< Scalar >::enableThermalViscosity(), and Opm::GasPvtMultiplexer< Scalar, enableThermal >::saturatedViscosity().

◆ saturatedWaterVaporizationFactor() [1/2]

template<class Scalar >
template<class Evaluation >
Evaluation Opm::GasPvtThermal< Scalar >::saturatedWaterVaporizationFactor ( unsigned  ,
const Evaluation &  ,
const Evaluation &   
) const
inline

Returns the water vaporization factor $R_v$ [m^3/m^3] of the water phase.

◆ saturatedWaterVaporizationFactor() [2/2]

template<class Scalar >
template<class Evaluation = Scalar>
Evaluation Opm::GasPvtThermal< Scalar >::saturatedWaterVaporizationFactor ( unsigned  ,
const Evaluation &  ,
const Evaluation &  ,
const Evaluation &   
) const
inline

Returns the water vaporization factor $R_vw$ [m^3/m^3] of water saturated gas.

◆ saturationPressure()

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

Returns the saturation pressure of the gas 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::GasPvtMultiplexer< Scalar, enableThermal >::saturationPressure().

◆ setNumRegions()

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

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

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

◆ viscosity()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::GasPvtThermal< Scalar >::viscosity ( unsigned  regionIdx,
const Evaluation &  temperature,
const Evaluation &  pressure,
const Evaluation &  Rv,
const Evaluation &  Rvw 
) const
inline

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

References Opm::GasPvtThermal< Scalar >::enableThermalViscosity(), and Opm::GasPvtMultiplexer< Scalar, enableThermal >::viscosity().


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