#include <ThermalOilPvtWrapper.hpp>

Inheritance diagram for Opm::ThermalOilPvtWrapper:
Inheritance graph

Public Types

enum  PhaseIndex { Aqua = 0, Liquid = 1, Vapour = 2 }
 

Public Member Functions

 ThermalOilPvtWrapper ()
 
void initFromDeck (std::shared_ptr< const PvtInterface > isothermalPvt, Opm::DeckConstPtr deck, Opm::EclipseStateConstPtr eclipseState)
 set the tables which specify the temperature dependence of the oil viscosity More...
 
virtual void mu (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *z, double *output_mu) const
 Viscosity as a function of p, T and z. More...
 
virtual void mu (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *r, double *output_mu, double *output_dmudp, double *output_dmudr) const
 
virtual void mu (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *r, const PhasePresence *cond, double *output_mu, double *output_dmudp, double *output_dmudr) const
 
virtual void B (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *z, double *output_B) const
 Formation volume factor as a function of p, T and z. More...
 
virtual void dBdp (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *z, double *output_B, double *output_dBdp) const
 Formation volume factor and p-derivative as functions of p and z. More...
 
virtual void b (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *r, double *output_b, double *output_dbdp, double *output_dbdr) const
 
virtual void b (const int n, const int *pvtRegionIdx, const double *p, const double *T, const double *r, const PhasePresence *cond, double *output_b, double *output_dbdp, double *output_dbdr) const
 
virtual void rsSat (const int n, const int *pvtRegionIdx, const double *p, double *output_rsSat, double *output_drsSatdp) const
 Solution gas/oil ratio and its derivatives at saturated conditions as a function of p. More...
 
virtual void rvSat (const int n, const int *pvtRegionIdx, const double *p, double *output_rvSat, double *output_drvSatdp) const
 Vapor oil/gas ratio and its derivatives at saturated conditions as a function of p. More...
 
virtual void R (const int n, const int *pvtRegionIdx, const double *p, const double *z, double *output_R) const
 Solution factor as a function of p and z. More...
 
virtual void dRdp (const int n, const int *pvtRegionIdx, const double *p, const double *z, double *output_R, double *output_dRdp) const
 Solution factor and p-derivative as functions of p and z. More...
 
void setPhaseConfiguration (const int num_phases, const int *phase_pos)
 

Static Public Attributes

static const int MaxNumPhases = 3
 

Protected Attributes

int num_phases_
 
int phase_pos_ [MaxNumPhases]
 

Detailed Description

Class which wraps another (i.e., isothermal) PVT object into one which adds temperature dependence of oil

Member Enumeration Documentation

Enumerator
Aqua 
Liquid 
Vapour 

Constructor & Destructor Documentation

Opm::ThermalOilPvtWrapper::ThermalOilPvtWrapper ( )
inline

Member Function Documentation

virtual void Opm::ThermalOilPvtWrapper::B ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  z,
double *  output_B 
) const
inlinevirtual

Formation volume factor as a function of p, T and z.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::b ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  r,
double *  output_b,
double *  output_dbdp,
double *  output_dpdr 
) const
inlinevirtual

The inverse of the volume factor b = 1 / B as a function of p, T and r. The fluid is considered saturated if r >= rsSat(p).

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::b ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  r,
const PhasePresence cond,
double *  output_b,
double *  output_dbdp,
double *  output_dpdr 
) const
inlinevirtual

The inverse of the volume factor b = 1 / B as a function of p, T and r. State condition determined by 'cond'.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::dBdp ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  z,
double *  output_B,
double *  output_dBdp 
) const
inlinevirtual

Formation volume factor and p-derivative as functions of p and z.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::dRdp ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  z,
double *  output_R,
double *  output_dRdp 
) const
inlinevirtual

Solution factor and p-derivative as functions of p and z.

Implements Opm::PvtInterface.

void Opm::ThermalOilPvtWrapper::initFromDeck ( std::shared_ptr< const PvtInterface isothermalPvt,
Opm::DeckConstPtr  deck,
Opm::EclipseStateConstPtr  eclipseState 
)
inline

set the tables which specify the temperature dependence of the oil viscosity

virtual void Opm::ThermalOilPvtWrapper::mu ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  z,
double *  output_mu 
) const
inlinevirtual

Viscosity as a function of p, T and z.

The PVT properties can either be given as a function of pressure (p), temperature (T) and surface volume (z) or pressure (p), temperature (T) and gas resolution factor (r). For all the virtual methods, the following apply:

  • pvtRegionIdx is an array of size n and represents the index of the PVT table which should be used to calculate the output. NULL can also be passed and is interpreted such that the first table should be used for the output
  • p, r and z are expected to be of size n, size n and n*num_phases, respectively.
  • Output arrays shall be of size n, and must be valid before calling the method.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::mu ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  r,
double *  output_mu,
double *  output_dmudp,
double *  output_dmudr 
) const
inlinevirtual

Viscosity as a function of p, T and r. The fluid is considered saturated if r >= rsSat(p).

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::mu ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  T,
const double *  r,
const PhasePresence cond,
double *  output_mu,
double *  output_dmudp,
double *  output_dmudr 
) const
inlinevirtual

Viscosity as a function of p, T and r. State condition determined by 'cond'.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::R ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
const double *  z,
double *  output_R 
) const
inlinevirtual

Solution factor as a function of p and z.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::rsSat ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
double *  output_rsSat,
double *  output_drsSatdp 
) const
inlinevirtual

Solution gas/oil ratio and its derivatives at saturated conditions as a function of p.

Implements Opm::PvtInterface.

virtual void Opm::ThermalOilPvtWrapper::rvSat ( const int  n,
const int *  pvtRegionIdx,
const double *  p,
double *  output_rvSat,
double *  output_drvSatdp 
) const
inlinevirtual

Vapor oil/gas ratio and its derivatives at saturated conditions as a function of p.

Implements Opm::PvtInterface.

void Opm::PvtInterface::setPhaseConfiguration ( const int  num_phases,
const int *  phase_pos 
)
inherited
Parameters
[in]num_phasesThe number of active phases.
[in]phase_posArray of BlackpoilPhases::MaxNumPhases integers, giving the relative positions of the three canonical phases A, L, V in order to handle arbitrary two-phase and three-phase situations.

Member Data Documentation

int Opm::PvtInterface::num_phases_
protectedinherited
int Opm::PvtInterface::phase_pos_[MaxNumPhases]
protectedinherited

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