#include <PvtConstCompr.hpp>

Inheritance diagram for Opm::PvtConstCompr:
Inheritance graph

Public Types

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

Public Member Functions

 PvtConstCompr ()
 
void initFromWater (Opm::DeckKeywordConstPtr pvtwKeyword)
 
void initFromOil (Opm::DeckKeywordConstPtr pvcdoKeyword)
 
 PvtConstCompr (double visc)
 Create a PVT object with a given viscosity that assumes all fluid phases to be incompressible. More...
 
virtual ~PvtConstCompr ()
 
virtual void mu (const int n, const int *pvtRegionIdx, const double *p, const double *, const double *, 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 *, const double *, double *output_mu, double *output_dmudp, double *output_dmudr) const
 
virtual void mu (const int n, const int *pvtRegionIdx, const double *p, const double *, const double *, const PhasePresence *, double *output_mu, double *output_dmudp, double *output_dmudr) const
 
virtual void B (const int n, const int *pvtRegionIdx, const double *p, const double *, const double *, 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 *, const double *, 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 *, const double *, double *output_b, double *output_dbdp, double *output_dbdr) const
 
virtual void b (const int n, const int *pvtRegionIdx, const double *p, const double *, const double *, const PhasePresence *, double *output_b, double *output_dbdp, double *output_dbdr) const
 
virtual void rsSat (const int n, const int *, const double *, 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 *, const double *, 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 *, const double *, const double *, double *output_R) const
 Solution factor as a function of p and z. More...
 
virtual void dRdp (const int n, const int *, const double *, const double *, 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 for constant compressible phases (PVTW or PVCDO). The PVT properties can either be given as a function of pressure (p) and surface volume (z) or pressure (p) and gas resolution factor (r). Also, since this class supports multiple PVT regions, the concrete table to be used for each data point needs to be specified via the pvtTableIdx argument of the respective method. For all the virtual methods, the following apply: pvtTableIdx, p, r and z are expected to be of size n, size n, size n and n*num_phases, respectively. Output arrays shall be of size n, and must be valid before calling the method.

Member Enumeration Documentation

Enumerator
Aqua 
Liquid 
Vapour 

Constructor & Destructor Documentation

Opm::PvtConstCompr::PvtConstCompr ( )
inline
Opm::PvtConstCompr::PvtConstCompr ( double  visc)
inlineexplicit

Create a PVT object with a given viscosity that assumes all fluid phases to be incompressible.

virtual Opm::PvtConstCompr::~PvtConstCompr ( )
inlinevirtual

Member Function Documentation

virtual void Opm::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::initFromOil ( Opm::DeckKeywordConstPtr  pvcdoKeyword)
inline
void Opm::PvtConstCompr::initFromWater ( Opm::DeckKeywordConstPtr  pvtwKeyword)
inline
virtual void Opm::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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::PvtConstCompr::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: