diff --git a/ebos/eclgenericoutputblackoilmodule.cc b/ebos/eclgenericoutputblackoilmodule.cc index 9e97aa5cf..ded98a672 100644 --- a/ebos/eclgenericoutputblackoilmodule.cc +++ b/ebos/eclgenericoutputblackoilmodule.cc @@ -45,9 +45,6 @@ #include #include #include -#include -#include -#include #include #include #include @@ -180,8 +177,9 @@ EclGenericOutputBlackoilModule(const EclipseState& eclState, const auto& fp = eclState_.fieldProps(); this->regions_["FIPNUM"] = fp.get_int("FIPNUM"); - for (const auto& region : summaryConfig_.fip_regions()) + for (const auto& region : fp.fip_regions()) { this->regions_[region] = fp.get_int(region); + } this->RPRNodes_ = summaryConfig_.keywords("RPR*"); this->RPRPNodes_ = summaryConfig_.keywords("RPRP*"); diff --git a/opm/simulators/utils/ParallelEclipseState.cpp b/opm/simulators/utils/ParallelEclipseState.cpp index 472b8e4cc..b4e555ced 100644 --- a/opm/simulators/utils/ParallelEclipseState.cpp +++ b/opm/simulators/utils/ParallelEclipseState.cpp @@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License along with OPM. If not, see . */ +#include "opm/input/eclipse/EclipseState/Grid/FieldProps.hpp" #include #include @@ -225,6 +226,17 @@ bool ParallelFieldPropsManager::has_double(const std::string& keyword) const return it != m_doubleProps.end(); } +std::vector ParallelFieldPropsManager::fip_regions() const +{ + std::vector result; + for (const auto& key : m_intProps) { + if (Fieldprops::keywords::isFipxxx(key.first)) { + result.push_back(key.first); + } + } + return result; +} + ParallelEclipseState::ParallelEclipseState(Parallel::Communication comm) : m_fieldProps(field_props, comm) diff --git a/opm/simulators/utils/ParallelEclipseState.hpp b/opm/simulators/utils/ParallelEclipseState.hpp index 45e3e514a..8f6b84cbf 100644 --- a/opm/simulators/utils/ParallelEclipseState.hpp +++ b/opm/simulators/utils/ParallelEclipseState.hpp @@ -91,6 +91,9 @@ public: //! \param keyword Name of property bool has_double(const std::string& keyword) const override; + //! \brief Returns a list of registered FIP regions. + std::vector fip_regions() const override; + //! \brief Resets the underlying cartesian mapper //! \detail This has to be the cartesian mapper of the distributed grid. //! It will be used to autocreate properties not explicitly stored.