diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index 73d50a162..8113b319f 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -466,6 +466,8 @@ list (APPEND TEST_DATA_FILES ) if(ENABLE_ECL_OUTPUT) list (APPEND TEST_DATA_FILES + tests/GDFILE_NO_ACTNUM.DATA + tests/EGRID_NO_ACTNUM.FEGRID tests/BASE_SIM.DATA tests/BASE_SIM_THPRES.DATA tests/RESTART_SIM.DATA diff --git a/src/opm/parser/eclipse/EclipseState/Grid/EclipseGrid.cpp b/src/opm/parser/eclipse/EclipseState/Grid/EclipseGrid.cpp index df86fb54c..4ae97a627 100644 --- a/src/opm/parser/eclipse/EclipseState/Grid/EclipseGrid.cpp +++ b/src/opm/parser/eclipse/EclipseState/Grid/EclipseGrid.cpp @@ -425,7 +425,8 @@ EclipseGrid::EclipseGrid(const Deck& deck, const int * actnum) if ((egridfile.hasKey("ACTNUM")) && (m_useActnumFromGdfile)) { const std::vector& actnum = egridfile.get("ACTNUM"); resetACTNUM( actnum ); - } + } else + resetACTNUM( ); if (egridfile.hasKey("MAPAXES")) this->m_mapaxes = std::make_optional(egridfile); @@ -1399,7 +1400,7 @@ std::vector EclipseGrid::createDVector(const std::array& dims, st } size_t EclipseGrid::getNumActive( ) const { - return m_nactive; + return this->m_nactive; } bool EclipseGrid::allActive( ) const { diff --git a/tests/EGRID_NO_ACTNUM.FEGRID b/tests/EGRID_NO_ACTNUM.FEGRID new file mode 100644 index 000000000..4400f66eb --- /dev/null +++ b/tests/EGRID_NO_ACTNUM.FEGRID @@ -0,0 +1,71 @@ +'FILEHEAD' 100 'INTE' + 3 2007 0 3 0 0 + 1 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 + 'GRIDUNIT' 2 'CHAR' + 'METRES ' ' ' + 'GRIDHEAD' 100 'INTE' + 1 2 2 2 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 1 1 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 0 0 + 0 0 0 0 + 'COORD ' 54 'REAL' + 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 0.00000000E+00 3.00000000E+00 1.00000000E+00 0.00000000E+00 + 0.00000000E+00 1.00000000E+00 0.00000000E+00 3.00000000E+00 + 2.00000000E+00 0.00000000E+00 0.00000000E+00 2.00000000E+00 + 0.00000000E+00 3.00000000E+00 0.00000000E-00 1.00000000E+00 + 0.00000000E+00 0.00000000E+00 1.00000000E+00 3.00000000E+00 + 1.00000000E+00 1.00000000E+00 0.00000000E+00 1.00000000E+00 + 1.00000000E+00 3.00000000E+00 2.00000000E+00 1.00000000E+00 + 0.00000000E+00 2.00000000E+00 1.00000000E+00 3.00000000E+00 + 0.00000000E-00 2.00000000E+00 0.00000000E+00 0.00000000E+00 + 2.00000000E+00 3.00000000E+00 1.00000000E+00 2.00000000E+00 + 0.00000000E+00 1.00000000E+00 2.00000000E+00 3.00000000E+00 + 2.00000000E+00 2.00000000E+00 0.00000000E+00 2.00000000E+00 + 2.00000000E+00 3.00000000E+00 + 'ZCORN ' 64 'REAL' + 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 1.00000000E+00 1.00000000E+00 1.00000000E+00 1.00000000E+00 + 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 + 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 + 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 + 2.00000000E+00 2.00000000E+00 2.00000000E+00 2.00000000E+00 +'ENDGRID ' 0 'INTE' \ No newline at end of file diff --git a/tests/GDFILE_NO_ACTNUM.DATA b/tests/GDFILE_NO_ACTNUM.DATA new file mode 100644 index 000000000..642779d9f --- /dev/null +++ b/tests/GDFILE_NO_ACTNUM.DATA @@ -0,0 +1,65 @@ +RUNSPEC + +DIMENS + 2 2 2 / + +OIL + +WATER + +NOSIM + +WELLDIMS + 0 / + +EQLDIMS +/ + +TABDIMS + 1* 1* 30 30 / + +GRID + +GDFILE + 'EGRID_NO_ACTNUM.FEGRID' F / + +PORO +8*0.1 / + +PERMX +8*150 / + +PERMY +8*150 / + +PERMZ +8*15 / + +PROPS + +SWOF + 0.0 0.0 1.0 0.0 1.0 1.0 0 0.0 / + +DENSITY + 3*40 / + +PVTW + 1000 1.0 0.0 0.0 0.0 / + +PVTO + 0.0 500.0 1.0 0.1 5000.0 0.0 0.2 / + 3.0 1500.0 2.0 0.1 5000.0 0.0 0.2 / +/ + +SOLUTION + +EQUIL + 3*1000 0 1000 0 0 0 0 / + +SUMMARY + +SCHEDULE + +NOSIM + +END \ No newline at end of file diff --git a/tests/parser/EclipseGridTests.cpp b/tests/parser/EclipseGridTests.cpp index 6cb6956fc..78c3be3f4 100644 --- a/tests/parser/EclipseGridTests.cpp +++ b/tests/parser/EclipseGridTests.cpp @@ -30,6 +30,9 @@ #include #include #include +#include +#include +#include #define BOOST_TEST_MODULE EclipseGridTests #include @@ -2975,4 +2978,10 @@ EDIT BOOST_CHECK_CLOSE(grid.getCellVolume(0), 1.0, 1e-6); } +BOOST_AUTO_TEST_CASE(GDFILE_NO_ACTNUM) { + Opm::Parser parser; + auto deck = parser.parseFile("GDFILE_NO_ACTNUM.DATA"); + BOOST_CHECK_NO_THROW( Opm::EclipseState(deck)); +} +