Opm::EQUIL Namespace Reference

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

Namespaces

 Miscibility
 Types and routines relating to phase mixing in equilibration calculations.
 

Classes

class  DensityCalculator
 
class  DensityCalculator< BlackoilPropertiesInterface >
 Facility for calculating phase densities based on the BlackoilPropertiesInterface. More...
 
class  EquilReg
 Aggregate information base of an equilibration region. More...
 
struct  PcEq
 Functor for inverting capillary pressure function. More...
 
struct  PcEqSum
 Functor for inverting a sum of capillary pressure functions. More...
 

Functions

double satFromPc (const BlackoilPropertiesInterface &props, const int phase, const int cell, const double target_pc, const bool increasing=false)
 Compute saturation of some phase corresponding to a given capillary pressure. More...
 
double satFromSumOfPcs (const BlackoilPropertiesInterface &props, const int phase1, const int phase2, const int cell, const double target_pc)
 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. More...
 
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.
 
bool isConstPc (const BlackoilPropertiesInterface &props, const int phase, const int cell)
 Return true if capillary pressure function is constant.
 
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)
 Compute initial Rs values. More...
 

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

◆ computeRs()

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.

◆ satFromPc()

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.

◆ satFromSumOfPcs()

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.