Transform a corner-point grid ZCORN field to account for MINPV processing.
More...
#include <MinpvProcessor.hpp>
|
| MinpvProcessor (const int nx, const int ny, const int nz) |
| Create a processor. More...
|
|
Result | process (const std::vector< double > &thickness, const double z_tolerance, const double max_gap, const std::vector< double > &pv, const std::vector< double > &minpvv, const std::vector< int > &actnum, const bool mergeMinPVCells, double *zcorn, const bool pinchNOGAP=false, const bool pinchOption4ALL=false, const std::vector< double > &permz={}, const std::function< double(int)> &multZ=[](int){ return 0;}, const double tolerance_unique_points=0) const |
|
Transform a corner-point grid ZCORN field to account for MINPV processing.
◆ MinpvProcessor()
Opm::MinpvProcessor::MinpvProcessor |
( |
const int |
nx, |
|
|
const int |
ny, |
|
|
const int |
nz |
|
) |
| |
Create a processor.
- Parameters
-
[in] | nx | logical cartesian number of cells in I-direction |
[in] | ny | logical cartesian number of cells in J-direction |
[in] | nz | logical cartesian number of cells in K-direction |
◆ process()
Result Opm::MinpvProcessor::process |
( |
const std::vector< double > & |
thickness, |
|
|
const double |
z_tolerance, |
|
|
const double |
max_gap, |
|
|
const std::vector< double > & |
pv, |
|
|
const std::vector< double > & |
minpvv, |
|
|
const std::vector< int > & |
actnum, |
|
|
const bool |
mergeMinPVCells, |
|
|
double * |
zcorn, |
|
|
const bool |
pinchNOGAP = false , |
|
|
const bool |
pinchOption4ALL = false , |
|
|
const std::vector< double > & |
permz = {} , |
|
|
const std::function< double(int)> & |
multZ = [](int){ return 0;} , |
|
|
const double |
tolerance_unique_points = 0 |
|
) |
| const |
Change zcorn so that it respects the minpv property.
- Parameters
-
[in] | thickness | thickness of the cell |
[in] | z_tolerance | cells with thickness below z_tolerance will be bypassed in the minpv process. |
[in] | max_gap | Maximum gap of pinched out layers allowed when creating NNCs |
[in] | pv | pore volumes of all logical cartesian cells |
[in] | minpvv | minimum pore volume to accept a cell |
[in] | actnum | active cells, inactive cells are not considered |
[in] | mergeMinPVCells | flag to determine whether cells below minpv should be included in the cell below |
[in,out] | zcorn | ZCORN array to be manipulated |
[in] | pinchNOGAP | whether PINCH has option NOGAP (default false) |
[in] | pinchOption4ALL | Whether option 4 of PINCH is set to all. In that case we do not create NNCs if zero transmissibility in Z direction betwenn the cells is expected. (default: false) |
[in] | permz | Cell permeability in Z direction. \oaram[in] multz transmissiblity multipliers in Z direction After processing, all cells that have lower pore volume than minpv will have the zcorn numbers changed so they are zero-thickness. Any cell below will be changed to include the deleted volume if mergeMinPCCells is true els the volume will be lost |
[in] | tolerance_unique_points | Tolerance used to identify points based on their cooridinates. |
The documentation for this class was generated from the following file: