Add facility for accessing active subset of global data array

This commit introduces a fairly general mechanism for accessing the
active subset of a global grid (property) array.  Essentially, this
takes on the role of translating the active cell index through the
"global_cell" mapping when accessing, e.g., the net-to-gross data
value.

The primary component is class template

    Opm::GridPropertyAccess::Compressed<DataArray,Tag>

which implements a read-only

    value_type operator[](const int c)

that encapsulates and performs the compressed-to-global cell index
translation.  Template parameter "DataArray" is intended as a policy
parameter that for instance wraps access to a "GridProperty<T>" from
module opm-parser (with a fall-back default value if the data is not
specified on input).  The "Tag" parameter is a provision for type
safety--e.g., to prevent passing a region ID into a function that
requires a porosity value.
This commit is contained in:
Bård Skaflestad
2014-08-21 19:46:47 +02:00
parent 7f07964e0c
commit 37dfc4a3b5
4 changed files with 908 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
RUNSPEC
DIMENS
1 1 4
/
GRID
COORD
0 0 0 0 0 0
1 0 0 1 0 0
0 1 0 0 1 0
1 1 0 1 1 0
/
ZCORN
0 0 0 0
1 1 1 1
1 1 1 1
2 2 2 2
2 2 2 2
3 3 3 3
3 3 3 3
4 4 4 4
/
ACTNUM
0 1 0 1
/
NTG
0.1 0.2 0.3 0.4
/
REGIONS
SATNUM
4 3 2 1
/
-- Note: Dummy 'PROPS' and 'SCHEDULE' sections only
PROPS
SCHEDULE
END