Loading...
Searching...
No Matches
Opm::MinpvProcessor Class Reference

Transform a corner-point grid ZCORN field to account for MINPV processing. More...

`#include <MinpvProcessor.hpp>`

## Classes

struct | Result

## Public Member Functions

| MinpvProcessor (const int nx, const int ny, const int nz)
| Create a processor.

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

| Change zcorn so that it respects the minpv property.

## Detailed Description

Transform a corner-point grid ZCORN field to account for MINPV processing.

## Constructor & Destructor Documentation

## 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

## Member Function Documentation

## process()

MinpvProcessor::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.
  [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 files:

- opm/grid/MinpvProcessor.hpp
- opm/grid/MinpvProcessor.cpp