Opm::Equil Namespace Reference

Namespaces

 Miscibility
 

Classes

singleton  DensityCalculator
 
class  DensityCalculator< BlackoilPropertiesInterface >
 
struct  EquilRecord
 
class  EquilReg
 
struct  PcEq
 
struct  PcEqSum
 

Functions

double satFromPc (const BlackoilPropertiesInterface &props, const int phase, const int cell, const double target_pc, const bool increasing=false)
 
double satFromSumOfPcs (const BlackoilPropertiesInterface &props, const int phase1, const int phase2, const int cell, const double target_pc)
 
double satFromDepth (const BlackoilPropertiesInterface &props, const double cellDepth, const double contactDepth, const int phase, const int cell, const bool increasing=false)
 Compute saturation from depth. Used for constant capillary pressure function. More...
 
bool isConstPc (const BlackoilPropertiesInterface &props, const int phase, const int cell)
 Return true if capillary pressure function is constant. More...
 
template<class Grid , class Region , class CellRange >
std::vector< std::vector
< double > > 
phasePressures (const Grid &G, const Region &reg, const CellRange &cells, const double grav)
 
template<class Grid , class Region , class CellRange >
std::vector< double > temperature (const Grid &, const Region &, const CellRange &cells)
 
template<class Grid , class Region , class CellRange >
std::vector< std::vector
< double > > 
phaseSaturations (const Grid &G, const Region &reg, const CellRange &cells, BlackoilPropertiesInterface &props, const std::vector< double > swat_init, std::vector< std::vector< double > > &phase_pressures)
 
template<class Grid , class CellRangeType >
std::vector< double > computeRs (const Grid &grid, const CellRangeType &cells, const std::vector< double > oil_pressure, const std::vector< double > &temperature, const Miscibility::RsFunction &rs_func, const std::vector< double > gas_saturation)
 

Detailed Description

Types and routines that collectively implement a basic ECLIPSE-style equilibration-based initialisation scheme.

This namespace is intentionally nested to avoid name clashes with other parts of OPM.

Function Documentation

template<class Grid , class CellRangeType >
std::vector<double> Opm::Equil::computeRs ( const Grid &  grid,
const CellRangeType &  cells,
const std::vector< double >  oil_pressure,
const std::vector< double > &  temperature,
const Miscibility::RsFunction &  rs_func,
const std::vector< double >  gas_saturation 
)

Compute initial Rs values.

Template Parameters
CellRangeTypeType of cell range that demarcates the cells pertaining to the current equilibration region. Must implement methods begin() and end() to bound the range as well as provide an inner type, const_iterator, to traverse the range.
Parameters
[in]gridGrid.
[in]cellsRange that spans the cells of the current equilibration region.
[in]oil_pressureOil pressure for each cell in range.
[in]temperatureTemperature for each cell in range.
[in]rs_funcRs as function of pressure and depth.
Returns
Rs values, one for each cell in the 'cells' range.

References Opm::UgGridHelpers::cellCentroidCoordinate(), and Opm::UgGridHelpers::dimensions().

bool Opm::Equil::isConstPc ( const BlackoilPropertiesInterface &  props,
const int  phase,
const int  cell 
)
inline

Return true if capillary pressure function is constant.

References Opm::BlackoilPhases::MaxNumPhases, and Opm::BlackoilPropertiesInterface::satRange().

Referenced by phaseSaturations().

template<class Grid , class Region , class CellRange >
std::vector< std::vector<double> > Opm::Equil::phasePressures ( const Grid &  G,
const Region &  reg,
const CellRange &  cells,
const double  grav 
)
template<class Grid , class Region , class CellRange >
std::vector< std::vector<double> > Opm::Equil::phaseSaturations ( const Grid &  G,
const Region &  reg,
const CellRange &  cells,
BlackoilPropertiesInterface &  props,
const std::vector< double >  swat_init,
std::vector< std::vector< double > > &  phase_pressures 
)
double Opm::Equil::satFromDepth ( const BlackoilPropertiesInterface &  props,
const double  cellDepth,
const double  contactDepth,
const int  phase,
const int  cell,
const bool  increasing = false 
)
inline

Compute saturation from depth. Used for constant capillary pressure function.

References Opm::BlackoilPhases::MaxNumPhases, and Opm::BlackoilPropertiesInterface::satRange().

Referenced by phaseSaturations().

double Opm::Equil::satFromPc ( const BlackoilPropertiesInterface &  props,
const int  phase,
const int  cell,
const double  target_pc,
const bool  increasing = false 
)
inline

Compute saturation of some phase corresponding to a given capillary pressure.

References Opm::BlackoilPhases::MaxNumPhases, and Opm::BlackoilPropertiesInterface::satRange().

Referenced by phaseSaturations().

double Opm::Equil::satFromSumOfPcs ( const BlackoilPropertiesInterface &  props,
const int  phase1,
const int  phase2,
const int  cell,
const double  target_pc 
)
inline

Compute saturation of some phase corresponding to a given capillary pressure, where the capillary pressure function is given as a sum of two other functions.

References Opm::BlackoilPhases::MaxNumPhases, and Opm::BlackoilPropertiesInterface::satRange().

Referenced by phaseSaturations().

template<class Grid , class Region , class CellRange >
std::vector<double> Opm::Equil::temperature ( const Grid &  ,
const Region &  ,
const CellRange &  cells 
)