From 9394a93c68152a747284b6201659bcf34def6adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Wed, 2 Jun 2021 11:02:46 +0200 Subject: [PATCH] Don't Create Well Instance for Wells With No Connections This commit protects against Opm::Well instances for which the sets of connections are empty. In those cases, do not put entries in the well container as there is no influence on the systems of non-linear equations. --- opm/simulators/wells/BlackoilWellModel_impl.hpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/opm/simulators/wells/BlackoilWellModel_impl.hpp b/opm/simulators/wells/BlackoilWellModel_impl.hpp index 83b918afa..d79e3231b 100644 --- a/opm/simulators/wells/BlackoilWellModel_impl.hpp +++ b/opm/simulators/wells/BlackoilWellModel_impl.hpp @@ -587,6 +587,12 @@ namespace Opm { for (int w = 0; w < nw; ++w) { const Well& well_ecl = wells_ecl_[w]; + + if (well_ecl.getConnections().empty()) { + // No connections in this well. Nothing to do. + continue; + } + const std::string& well_name = well_ecl.name(); const auto well_status = this->schedule() .getWell(well_name, time_step).getStatus(); @@ -1370,6 +1376,11 @@ namespace Opm { // corresponding "this->wells_ecl_[shutWell]". for (const auto& shutWell : this->local_shut_wells_) { + if (this->wells_ecl_[shutWell].getConnections().empty()) { + // No connections in this well. Nothing to do. + continue; + } + auto wellPtr = this->template createTypedWellPointer >(shutWell, reportStepIdx);