From eca8583358f706825406a924db37b08676ed3b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Tue, 14 Jun 2022 13:51:29 +0200 Subject: [PATCH] Use new FieldProps constructor to get ACTNUM. --- .../input/eclipse/EclipseState/Grid/FieldProps.hpp | 0 src/opm/input/eclipse/EclipseState/Grid/EclipseGrid.cpp | 6 ++++-- src/opm/input/eclipse/EclipseState/Grid/FieldProps.cpp | 9 +++++---- .../eclipse/EclipseState/Grid/FieldPropsManager.cpp | 4 +--- tests/parser/FieldPropsTests.cpp | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) rename {src/opm => opm}/input/eclipse/EclipseState/Grid/FieldProps.hpp (100%) diff --git a/src/opm/input/eclipse/EclipseState/Grid/FieldProps.hpp b/opm/input/eclipse/EclipseState/Grid/FieldProps.hpp similarity index 100% rename from src/opm/input/eclipse/EclipseState/Grid/FieldProps.hpp rename to opm/input/eclipse/EclipseState/Grid/FieldProps.hpp diff --git a/src/opm/input/eclipse/EclipseState/Grid/EclipseGrid.cpp b/src/opm/input/eclipse/EclipseState/Grid/EclipseGrid.cpp index 0819c0e66..f1c01d662 100644 --- a/src/opm/input/eclipse/EclipseState/Grid/EclipseGrid.cpp +++ b/src/opm/input/eclipse/EclipseState/Grid/EclipseGrid.cpp @@ -21,6 +21,7 @@ #define _USE_MATH_DEFINES #include +#include #include #include @@ -1171,8 +1172,9 @@ EclipseGrid::EclipseGrid(const Deck& deck, const int * actnum) std::vector actnumVector; if (deck.hasKeyword()) { - const auto& actnumKeyword = deck.get().back(); - actnumVector = actnumKeyword.getIntData(); + EclipseGrid topologyOnlyGrid(static_cast(*this)); + FieldProps fp(deck, topologyOnlyGrid); + actnumVector = fp.actnum(); if (actnumVector.size() != this->getCartesianSize()) throw std::invalid_argument("ACTNUM vector has wrong size"); diff --git a/src/opm/input/eclipse/EclipseState/Grid/FieldProps.cpp b/src/opm/input/eclipse/EclipseState/Grid/FieldProps.cpp index c53674e60..3f978b5ca 100644 --- a/src/opm/input/eclipse/EclipseState/Grid/FieldProps.cpp +++ b/src/opm/input/eclipse/EclipseState/Grid/FieldProps.cpp @@ -15,6 +15,9 @@ You should have received a copy of the GNU General Public License along with OPM. If not, see . */ + +#include + #include #include #include @@ -46,7 +49,6 @@ #include #include -#include "FieldProps.hpp" #include "Operate.hpp" @@ -501,7 +503,7 @@ FieldProps::FieldProps(const Deck& deck, const EclipseGrid& grid) : nz(grid.getNZ()), m_phases(), m_satfuncctrl(deck), - m_actnum(1, global_size), // NB! activates all at start! + m_actnum(global_size, 1), // NB! activates all at start! cell_volume(), // NB! empty for this purpose. cell_depth(), // NB! empty for this purpose. m_default_region(default_region_keyword(deck)), @@ -1205,8 +1207,7 @@ void FieldProps::scanGRIDSectionOnlyACTNUM(const GRIDSection& grid_section) { this->handle_keyword(keyword, box); } } - const auto& processed_actnum_fielddata = this->int_data.at("ACTNUM"); - this->reset_actnum(processed_actnum_fielddata.data); + m_actnum = this->int_data.at("ACTNUM").data; } void FieldProps::scanEDITSection(const EDITSection& edit_section) { diff --git a/src/opm/input/eclipse/EclipseState/Grid/FieldPropsManager.cpp b/src/opm/input/eclipse/EclipseState/Grid/FieldPropsManager.cpp index d6d6fbe11..8ad22783c 100644 --- a/src/opm/input/eclipse/EclipseState/Grid/FieldPropsManager.cpp +++ b/src/opm/input/eclipse/EclipseState/Grid/FieldPropsManager.cpp @@ -20,14 +20,12 @@ #include #include #include +#include #include #include #include #include -#include "FieldProps.hpp" - - namespace Opm { diff --git a/tests/parser/FieldPropsTests.cpp b/tests/parser/FieldPropsTests.cpp index 074397fbe..f50c4733c 100644 --- a/tests/parser/FieldPropsTests.cpp +++ b/tests/parser/FieldPropsTests.cpp @@ -48,7 +48,7 @@ #include #include -#include "src/opm/input/eclipse/EclipseState/Grid/FieldProps.hpp" +#include using namespace Opm;