Merge pull request #5034 from akva2/fix_fip_no_summary_kw

fixed: grab list of FIP regions from FieldPropsManager
This commit is contained in:
Bård Skaflestad 2023-12-04 17:46:00 +01:00 committed by GitHub
commit 338c210985
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 4 deletions

View File

@ -45,9 +45,6 @@
#include <cassert> #include <cassert>
#include <cstddef> #include <cstddef>
#include <functional> #include <functional>
#include <initializer_list>
#include <iomanip>
#include <sstream>
#include <stdexcept> #include <stdexcept>
#include <string> #include <string>
#include <string_view> #include <string_view>
@ -180,8 +177,9 @@ EclGenericOutputBlackoilModule(const EclipseState& eclState,
const auto& fp = eclState_.fieldProps(); const auto& fp = eclState_.fieldProps();
this->regions_["FIPNUM"] = fp.get_int("FIPNUM"); 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->regions_[region] = fp.get_int(region);
}
this->RPRNodes_ = summaryConfig_.keywords("RPR*"); this->RPRNodes_ = summaryConfig_.keywords("RPR*");
this->RPRPNodes_ = summaryConfig_.keywords("RPRP*"); this->RPRPNodes_ = summaryConfig_.keywords("RPRP*");

View File

@ -16,6 +16,7 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OPM. If not, see <http://www.gnu.org/licenses/>. along with OPM. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "opm/input/eclipse/EclipseState/Grid/FieldProps.hpp"
#include <config.h> #include <config.h>
#include <opm/simulators/utils/ParallelEclipseState.hpp> #include <opm/simulators/utils/ParallelEclipseState.hpp>
@ -225,6 +226,17 @@ bool ParallelFieldPropsManager::has_double(const std::string& keyword) const
return it != m_doubleProps.end(); return it != m_doubleProps.end();
} }
std::vector<std::string> ParallelFieldPropsManager::fip_regions() const
{
std::vector<std::string> 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) ParallelEclipseState::ParallelEclipseState(Parallel::Communication comm)
: m_fieldProps(field_props, comm) : m_fieldProps(field_props, comm)

View File

@ -91,6 +91,9 @@ public:
//! \param keyword Name of property //! \param keyword Name of property
bool has_double(const std::string& keyword) const override; bool has_double(const std::string& keyword) const override;
//! \brief Returns a list of registered FIP regions.
std::vector<std::string> fip_regions() const override;
//! \brief Resets the underlying cartesian mapper //! \brief Resets the underlying cartesian mapper
//! \detail This has to be the cartesian mapper of the distributed grid. //! \detail This has to be the cartesian mapper of the distributed grid.
//! It will be used to autocreate properties not explicitly stored. //! It will be used to autocreate properties not explicitly stored.