Commit 642eaf6 introduced the correct documentation, but mixed the order
of the 'zcorn' and 'actnum' documentation. This commit corrects that
oversight.
Conflicts:
opm/core/grid/cpgpreprocess/geometry.c
Defer printing diagnostic message concerning negative cell volumes
until we're absolutely sure that the volume actually *is*
negative. Since we're now accumulating signed volumes, some of
the initial contributions might be negative but the end result
likely won̈́'t be.
This merge also brings feature parity with the MATLAB Reservoir
Simulation Toolbox.
Conflicts:
Makefile.am
opm/core/grid/cpgpreprocess/facetopology.c
opm/core/grid/cpgpreprocess/mxgrdecl.c
opm/core/grid/cpgpreprocess/preprocess.c
opm/core/grid/cpgpreprocess/sparsetable.c
opm/core/grid/cpgpreprocess/sparsetable.h
opm/core/grid/cpgpreprocess/uniquepoints.c
This merge brings a new, more resilient and feature-complete
corner-point processing. In particular, the new code features
exact, in-plane vertex coordinates for face nodes that arise as a
result of fault processing and which are not located on pillars.
Secondly, the resulting grid's cells are ordered lexicographically
with the I index cycling the most rapidly, followed by J and
finally K.
Finally, this merge also brings automatic handling of left-handed
coordinate systems which, until now, have produced negative cell
volumes as a result of face vertices being ordered such that
interface normals point from cell 2 to cell 1 in this case.
Left-handed coordinate systems are recognised using a simplistic
triple-product characterisation akin to the implementation of
function "processGRDECL" of MRST.
This code is now an (almost) exact replica of revision 1001 of
https://public.ict.sintef.no/viewvc/openrs/trunk/dune-cornerpoint/grid/preprocess/
The merge also removes opm/core/grid/cpgpreprocess/readvector*, so
remove tests/test_readvector.cpp (and accompanying Make rule) to
maintain a buildable tree.
This enables removing the explicit initialisation of pointer members
in the UnstructuredGrid because the return value from
create_grid_empty() is already in a fully defined state and may be
passed directly on to destroy_grid().