Helper class for relperm upscaling applications.
More...
#include <RelPermUtils.hpp>
Helper class for relperm upscaling applications.
Opm::RelPermUpscaleHelper::RelPermUpscaleHelper |
( |
int |
mpi_rank, |
|
|
std::map< std::string, std::string > & |
options_ |
|
) |
| |
Default constructor.
- Parameters
-
[in] | mpi_rank | Rank of this process (for parallel simulations). |
[in] | options | Options structure. |
Uses the following options: fluids
void Opm::RelPermUpscaleHelper::calculateCellPressureGradients |
( |
const std::array< int, 3 > & |
res | ) |
|
Find cell center pressure gradient for every cell.
- Parameters
-
[in] | res | The number of cells in each direction. |
Uses the following options: gravity, waterDensity, oilDensity
void Opm::RelPermUpscaleHelper::calculateMinMaxCapillaryPressure |
( |
| ) |
|
Calculate minimum and maximum capillary pressures.
Uses the following options: maxPermContrast, minPerm, gravity, linsolver_tolerance
void Opm::RelPermUpscaleHelper::checkCriticalSaturations |
( |
| ) |
|
Check that input relperm curevs specify critical saturations.
void Opm::RelPermUpscaleHelper::collectResults |
( |
| ) |
|
Collect results from all MPI nodes.
std::vector<std::vector<double> > Opm::RelPermUpscaleHelper::getRelPerm |
( |
int |
phase | ) |
const |
Calculate relperm values from phase permeabilities.
- Parameters
-
[in] | phase | The phase to calculate values for (0-indexed). |
- Returns
- The phase permeability tensor values.
First index is voigt index, second index is pressure point.
void Opm::RelPermUpscaleHelper::sanityCheckInput |
( |
Opm::DeckConstPtr |
deck, |
|
|
double |
minPerm, |
|
|
double |
maxPerm, |
|
|
double |
minPoro |
|
) |
| |
Do sanity checks for input file.
- Parameters
-
[in] | deck | The deck to sanity check. |
[in] | minPerm | Minimum permeability. |
[in] | maxPerm | Maximum permeability. |
[in] | minPoro | Minimum porosity. |
Throws error string.
void Opm::RelPermUpscaleHelper::setupBoundaryConditions |
( |
| ) |
|
Setup requested boundary conditions.
Uses the following options: bc
double Opm::RelPermUpscaleHelper::tesselateGrid |
( |
Opm::DeckConstPtr |
deck | ) |
|
Tesselate grid.
- Parameters
-
[in] | deck | The grid to tesselate. |
[in] | options | Option structure. |
Uses the following options: linsolver_tolerance, linsolver_verbosity, linsolver_type, linsolver_max_iterations, linsolver_smooth_steps, linsolver_prolongate_factor, minPerm
- Returns
- Time used for tesselation.
void Opm::RelPermUpscaleHelper::upscaleCapillaryPressure |
( |
| ) |
|
Upscale capillary pressure.
Uses the following options: saturationThreshold
std::tuple<double,double> Opm::RelPermUpscaleHelper::upscalePermeability |
( |
int |
mpi_rank | ) |
|
Upscale permeabilities.
- Parameters
-
[in] | mpi_rank | MPI rank of this process. |
Uses the following options: minPerm, maxPermContrast
- Returns
- Tuple with (total time, time per point).
void Opm::RelPermUpscaleHelper::upscaleSinglePhasePermeability |
( |
| ) |
|
Upscale single phase permeability.
bool Opm::RelPermUpscaleHelper::anisotropic_input |
Whether input eclipse file has diagonal anisotrophy.
Boundary conditions to use.
bool Opm::RelPermUpscaleHelper::doEclipseCheck |
Whether to check that input relperm curves include relperm at critical saturation points.
std::vector<MonotCubicInterpolator> Opm::RelPermUpscaleHelper::InvJfunctions |
Inverse of the loaded J-functions.
bool Opm::RelPermUpscaleHelper::isMaster |
Whether this is the master MPI node or not.
std::array<std::array<std::vector<MonotCubicInterpolator>,2>,3> Opm::RelPermUpscaleHelper::Krfunctions |
Relperm-curves for each (component->phase->stone type)
Tensor of upscaled results.
int Opm::RelPermUpscaleHelper::points |
Number of saturation points to upscale for.
double Opm::RelPermUpscaleHelper::poreVolume |
std::vector<double> Opm::RelPermUpscaleHelper::pressurePoints |
Vector of capillary pressure points between Swor and Swir.
std::vector<int> Opm::RelPermUpscaleHelper::satnums |
std::string Opm::RelPermUpscaleHelper::saturationstring |
std::vector<MonotCubicInterpolator> Opm::RelPermUpscaleHelper::SwPcfunctions |
Holds Sw(Pc) for each rocktype.
int Opm::RelPermUpscaleHelper::tensorElementCount |
Number of independent elements in resulting tensor.
size_t Opm::RelPermUpscaleHelper::tesselatedCells |
Number of "active" cells (Sintef interpretation of "active")
bool Opm::RelPermUpscaleHelper::upscaleBothPhases |
Whether to upscale both phases.
double Opm::RelPermUpscaleHelper::volume |
std::vector<double> Opm::RelPermUpscaleHelper::WaterSaturation |
Re-upscaled water saturation for the computed pressure points.
The documentation for this class was generated from the following file: