From 0a36678709f8e2b0d1bfa6659fed3b7ed1929ab4 Mon Sep 17 00:00:00 2001 From: Vegard Kippe Date: Tue, 18 Feb 2025 21:41:51 +0100 Subject: [PATCH] Allow empty non-group leaf nodes --- opm/simulators/wells/WellGroupHelpers.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/opm/simulators/wells/WellGroupHelpers.cpp b/opm/simulators/wells/WellGroupHelpers.cpp index 74425033d7..09a0addc34 100644 --- a/opm/simulators/wells/WellGroupHelpers.cpp +++ b/opm/simulators/wells/WellGroupHelpers.cpp @@ -755,12 +755,13 @@ updateNetworkLeafNodeProductionRates(const Schedule& schedule, if (network.active()) { const int np = wellState.numPhases(); for (const auto& group_name : network.leaf_nodes()) { - assert(schedule[reportStepIdx].groups.has(group_name)); - const auto& group = schedule[reportStepIdx].groups.get(group_name); std::vector network_rates(np, 0.0); - if (group.numWells() > 0) { - for (int phase = 0; phase < np; ++phase) { - network_rates[phase] = sumWellPhaseRates(false, group, schedule, wellState, reportStepIdx, phase, /*isInjector*/ false, /*network*/ true); + if (schedule[reportStepIdx].groups.has(group_name)) { // Allow empty leaf nodes that are not groups + const auto& group = schedule[reportStepIdx].groups.get(group_name); + if (group.numWells() > 0) { + for (int phase = 0; phase < np; ++phase) { + network_rates[phase] = sumWellPhaseRates(false, group, schedule, wellState, reportStepIdx, phase, /*isInjector*/ false, /*network*/ true); + } } } group_state.update_network_leaf_node_production_rates(group_name, network_rates);