Opm::WetHumidGasPvt< Scalar > Class Template Reference

This class represents the Pressure-Volume-Temperature relations of the gas phase with vaporized oil and vaporized water. More...

#include <WetHumidGasPvt.hpp>

Public Types

using TabulatedTwoDFunction = UniformXTabulated2DFunction< Scalar >
 
using TabulatedOneDFunction = Tabulated1DFunction< Scalar >
 

Public Member Functions

 WetHumidGasPvt ()
 
 WetHumidGasPvt (const std::vector< Scalar > &gasReferenceDensity, const std::vector< Scalar > &oilReferenceDensity, const std::vector< Scalar > &waterReferenceDensity, const std::vector< TabulatedTwoDFunction > &inverseGasBRvwSat, const std::vector< TabulatedTwoDFunction > &inverseGasBRvSat, const std::vector< TabulatedOneDFunction > &inverseSaturatedGasB, const std::vector< TabulatedTwoDFunction > &gasMuRvwSat, const std::vector< TabulatedTwoDFunction > &gasMuRvSat, const std::vector< TabulatedTwoDFunction > &inverseGasBMuRvwSat, const std::vector< TabulatedTwoDFunction > &inverseGasBMuRvSat, const std::vector< TabulatedOneDFunction > &inverseSaturatedGasBMu, const std::vector< TabulatedOneDFunction > &saturatedWaterVaporizationFactorTable, const std::vector< TabulatedTwoDFunction > &saturatedWaterVaporizationSaltFactorTable, const std::vector< TabulatedOneDFunction > &saturatedOilVaporizationFactorTable, const std::vector< TabulatedOneDFunction > &saturationPressure, Scalar vapPar1)
 
void setNumRegions (size_t numRegions)
 
void setReferenceDensities (unsigned regionIdx, Scalar rhoRefOil, Scalar rhoRefGas, Scalar rhoRefWater)
 Initialize the reference densities of all fluids for a given PVT region. More...
 
void setSaturatedGasWaterVaporizationFactor (unsigned regionIdx, const SamplingPoints &samplePoints)
 Initialize the function for the water vaporization factor $R_v$. More...
 
void setSaturatedGasOilVaporizationFactor (unsigned regionIdx, const SamplingPoints &samplePoints)
 Initialize the function for the oil vaporization factor $R_v$. More...
 
void initEnd ()
 Finish initializing the gas phase PVT properties. More...
 
unsigned numRegions () const
 Return the number of PVT regions which are considered by this PVT-object. More...
 
template<class Evaluation >
Evaluation internalEnergy (unsigned, const Evaluation &, const Evaluation &, const Evaluation &) const
 Returns the specific enthalpy [J/kg] of gas given a set of parameters. More...
 
template<class Evaluation >
Evaluation viscosity (unsigned regionIdx, const Evaluation &, 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 &, const Evaluation &pressure) const
 Returns the dynamic viscosity [Pa s] of oil saturated gas at a given pressure. More...
 
template<class Evaluation >
Evaluation inverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure, const Evaluation &Rv, const Evaluation &Rvw) const
 Returns the formation volume factor [-] of the fluid phase. More...
 
template<class Evaluation >
Evaluation saturatedInverseFormationVolumeFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure) const
 Returns the formation volume factor [-] of water saturated gas at a given pressure. More...
 
template<class Evaluation >
Evaluation saturatedWaterVaporizationFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure) const
 Returns the water vaporization factor $R_vw$ [m^3/m^3] of the water phase. More...
 
template<class Evaluation >
Evaluation saturatedWaterVaporizationFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure, const Evaluation &saltConcentration) const
 Returns the water vaporization factor $R_vw$ [m^3/m^3] of the water phase. More...
 
template<class Evaluation >
Evaluation saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure) const
 
template<class Evaluation >
Evaluation saturatedOilVaporizationFactor (unsigned regionIdx, const Evaluation &, const Evaluation &pressure, const Evaluation &oilSaturation, 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 &, const Evaluation &Rw) const
 Returns the saturation pressure of the gas phase [Pa] depending on its mass fraction of the water component. More...
 
template<class Evaluation >
Evaluation diffusionCoefficient (const Evaluation &, const Evaluation &, unsigned) const
 
const Scalar gasReferenceDensity (unsigned regionIdx) const
 
const Scalar oilReferenceDensity (unsigned regionIdx) const
 
const Scalar waterReferenceDensity (unsigned regionIdx) const
 
const std::vector< TabulatedTwoDFunction > & inverseGasB () const
 
const std::vector< TabulatedOneDFunction > & inverseSaturatedGasB () const
 
const std::vector< TabulatedTwoDFunction > & gasMu () const
 
const std::vector< TabulatedTwoDFunction > & inverseGasBMu () const
 
const std::vector< TabulatedOneDFunction > & inverseSaturatedGasBMu () const
 
const std::vector< TabulatedOneDFunction > & saturatedWaterVaporizationFactorTable () const
 
const std::vector< TabulatedTwoDFunction > & saturatedWaterVaporizationSaltFactorTable () const
 
const std::vector< TabulatedOneDFunction > & saturatedOilVaporizationFactorTable () const
 
const std::vector< TabulatedOneDFunction > & saturationPressure () const
 
Scalar vapPar1 () const
 
bool operator== (const WetHumidGasPvt< Scalar > &data) const
 

Detailed Description

template<class Scalar>
class Opm::WetHumidGasPvt< Scalar >

This class represents the Pressure-Volume-Temperature relations of the gas phase with vaporized oil and vaporized water.

Member Typedef Documentation

◆ TabulatedOneDFunction

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

◆ TabulatedTwoDFunction

template<class Scalar >
using Opm::WetHumidGasPvt< Scalar >::TabulatedTwoDFunction = UniformXTabulated2DFunction<Scalar>

Constructor & Destructor Documentation

◆ WetHumidGasPvt() [1/2]

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

◆ WetHumidGasPvt() [2/2]

template<class Scalar >
Opm::WetHumidGasPvt< Scalar >::WetHumidGasPvt ( const std::vector< Scalar > &  gasReferenceDensity,
const std::vector< Scalar > &  oilReferenceDensity,
const std::vector< Scalar > &  waterReferenceDensity,
const std::vector< TabulatedTwoDFunction > &  inverseGasBRvwSat,
const std::vector< TabulatedTwoDFunction > &  inverseGasBRvSat,
const std::vector< TabulatedOneDFunction > &  inverseSaturatedGasB,
const std::vector< TabulatedTwoDFunction > &  gasMuRvwSat,
const std::vector< TabulatedTwoDFunction > &  gasMuRvSat,
const std::vector< TabulatedTwoDFunction > &  inverseGasBMuRvwSat,
const std::vector< TabulatedTwoDFunction > &  inverseGasBMuRvSat,
const std::vector< TabulatedOneDFunction > &  inverseSaturatedGasBMu,
const std::vector< TabulatedOneDFunction > &  saturatedWaterVaporizationFactorTable,
const std::vector< TabulatedTwoDFunction > &  saturatedWaterVaporizationSaltFactorTable,
const std::vector< TabulatedOneDFunction > &  saturatedOilVaporizationFactorTable,
const std::vector< TabulatedOneDFunction > &  saturationPressure,
Scalar  vapPar1 
)
inline

Member Function Documentation

◆ diffusionCoefficient()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::WetHumidGasPvt< Scalar >::diffusionCoefficient ( const Evaluation &  ,
const Evaluation &  ,
unsigned   
) const
inline

◆ gasMu()

template<class Scalar >
const std::vector< TabulatedTwoDFunction > & Opm::WetHumidGasPvt< Scalar >::gasMu ( ) const
inline

◆ gasReferenceDensity()

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

◆ initEnd()

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

Finish initializing the gas phase PVT properties.

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

◆ internalEnergy()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::WetHumidGasPvt< Scalar >::internalEnergy ( unsigned  ,
const Evaluation &  ,
const Evaluation &  ,
const Evaluation &   
) const
inline

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

◆ inverseFormationVolumeFactor()

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

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

References Opm::WetHumidGasPvt< Scalar >::saturatedOilVaporizationFactor().

◆ inverseGasB()

template<class Scalar >
const std::vector< TabulatedTwoDFunction > & Opm::WetHumidGasPvt< Scalar >::inverseGasB ( ) const
inline

◆ inverseGasBMu()

template<class Scalar >
const std::vector< TabulatedTwoDFunction > & Opm::WetHumidGasPvt< Scalar >::inverseGasBMu ( ) const
inline

◆ inverseSaturatedGasB()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::WetHumidGasPvt< Scalar >::inverseSaturatedGasB ( ) const
inline

◆ inverseSaturatedGasBMu()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::WetHumidGasPvt< Scalar >::inverseSaturatedGasBMu ( ) const
inline

◆ numRegions()

template<class Scalar >
unsigned Opm::WetHumidGasPvt< Scalar >::numRegions ( ) const
inline

Return the number of PVT regions which are considered by this PVT-object.

Referenced by Opm::WetHumidGasPvt< Scalar >::initEnd(), and Opm::WetHumidGasPvt< Scalar >::setNumRegions().

◆ oilReferenceDensity()

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

◆ operator==()

◆ saturatedInverseFormationVolumeFactor()

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

Returns the formation volume factor [-] of water saturated gas at a given pressure.

◆ saturatedOilVaporizationFactor() [1/2]

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

◆ saturatedOilVaporizationFactor() [2/2]

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

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

This variant of the method prevents all the oil to be vaporized even if the gas phase is still not saturated. This is physically quite dubious but it corresponds to how the Eclipse 100 simulator handles this. (cf the VAPPARS keyword.)

References Opm::max(), Opm::min(), and Opm::pow().

◆ saturatedOilVaporizationFactorTable()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::WetHumidGasPvt< Scalar >::saturatedOilVaporizationFactorTable ( ) const
inline

◆ saturatedViscosity()

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

Returns the dynamic viscosity [Pa s] of oil saturated gas at a given pressure.

◆ saturatedWaterVaporizationFactor() [1/2]

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

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

◆ saturatedWaterVaporizationFactor() [2/2]

template<class Scalar >
template<class Evaluation >
Evaluation Opm::WetHumidGasPvt< Scalar >::saturatedWaterVaporizationFactor ( unsigned  regionIdx,
const Evaluation &  ,
const Evaluation &  pressure,
const Evaluation &  saltConcentration 
) const
inline

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

◆ saturatedWaterVaporizationFactorTable()

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::WetHumidGasPvt< Scalar >::saturatedWaterVaporizationFactorTable ( ) const
inline

◆ saturatedWaterVaporizationSaltFactorTable()

template<class Scalar >
const std::vector< TabulatedTwoDFunction > & Opm::WetHumidGasPvt< Scalar >::saturatedWaterVaporizationSaltFactorTable ( ) const
inline

◆ saturationPressure() [1/2]

template<class Scalar >
const std::vector< TabulatedOneDFunction > & Opm::WetHumidGasPvt< Scalar >::saturationPressure ( ) const
inline

◆ saturationPressure() [2/2]

template<class Scalar >
template<class Evaluation >
Evaluation Opm::WetHumidGasPvt< Scalar >::saturationPressure ( unsigned  regionIdx,
const Evaluation &  ,
const Evaluation &  Rw 
) const
inline

Returns the saturation pressure of the gas phase [Pa] depending on its mass fraction of the water component.

Parameters
RwThe surface volume of water component dissolved in what will yield one cubic meter of gas at the surface [-]

References Opm::abs(), and Opm::scalarValue().

Referenced by Opm::WetHumidGasPvt< Scalar >::operator==().

◆ setNumRegions()

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

◆ setReferenceDensities()

template<class Scalar >
void Opm::WetHumidGasPvt< Scalar >::setReferenceDensities ( unsigned  regionIdx,
Scalar  rhoRefOil,
Scalar  rhoRefGas,
Scalar  rhoRefWater 
)
inline

Initialize the reference densities of all fluids for a given PVT region.

◆ setSaturatedGasOilVaporizationFactor()

template<class Scalar >
void Opm::WetHumidGasPvt< Scalar >::setSaturatedGasOilVaporizationFactor ( unsigned  regionIdx,
const SamplingPoints &  samplePoints 
)
inline

Initialize the function for the oil vaporization factor $R_v$.

Parameters
samplePointsA container of (x,y) values.

◆ setSaturatedGasWaterVaporizationFactor()

template<class Scalar >
void Opm::WetHumidGasPvt< Scalar >::setSaturatedGasWaterVaporizationFactor ( unsigned  regionIdx,
const SamplingPoints &  samplePoints 
)
inline

Initialize the function for the water vaporization factor $R_v$.

Parameters
samplePointsA container of (x,y) values.

◆ vapPar1()

template<class Scalar >
Scalar Opm::WetHumidGasPvt< Scalar >::vapPar1 ( ) const
inline

◆ viscosity()

template<class Scalar >
template<class Evaluation >
Evaluation Opm::WetHumidGasPvt< Scalar >::viscosity ( unsigned  regionIdx,
const Evaluation &  ,
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::WetHumidGasPvt< Scalar >::saturatedOilVaporizationFactor().

◆ waterReferenceDensity()

template<class Scalar >
const Scalar Opm::WetHumidGasPvt< Scalar >::waterReferenceDensity ( unsigned  regionIdx) const
inline

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