From 823f157aee7e275cd46ee5e7ab035335cd0ced95 Mon Sep 17 00:00:00 2001 From: Kai Bao Date: Thu, 25 Sep 2025 19:10:19 +0200 Subject: [PATCH] only applying regional multiplier to PINCH NNC when applyNncMultregT is true. it is consistent with other code design. --- opm/simulators/flow/Transmissibility.hpp | 3 ++- opm/simulators/flow/Transmissibility_impl.hpp | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/opm/simulators/flow/Transmissibility.hpp b/opm/simulators/flow/Transmissibility.hpp index 6d32a44953..6b0ffd34a8 100644 --- a/opm/simulators/flow/Transmissibility.hpp +++ b/opm/simulators/flow/Transmissibility.hpp @@ -230,7 +230,8 @@ protected: /// /// \param cartesianToCompressed Vector containing the compressed index (or -1 for inactive /// cells) as the element at the cartesian index. - void applyPinchNncToGridTrans_(const std::unordered_map& cartesianToCompressed); + void applyPinchNncToGridTrans_(const std::unordered_map& cartesianToCompressed, + bool applyNncMultregT); /// \brief Multiplies the grid transmissibilities according to EDITNNC. void applyEditNncToGridTrans_(const std::unordered_map& globalToLocal); diff --git a/opm/simulators/flow/Transmissibility_impl.hpp b/opm/simulators/flow/Transmissibility_impl.hpp index a2c1d0881d..2ebffbc46d 100644 --- a/opm/simulators/flow/Transmissibility_impl.hpp +++ b/opm/simulators/flow/Transmissibility_impl.hpp @@ -563,7 +563,7 @@ update(bool global, const TransUpdateQuantities update_quantities, // be seen in a parallel. Unfortunately, when we do not use transmissibilities // we will only see warnings for the partition of process 0 and also false positives. this->applyEditNncToGridTrans_(globalToLocal); - this->applyPinchNncToGridTrans_(globalToLocal); + this->applyPinchNncToGridTrans_(globalToLocal, applyNncMultregT); this->applyNncToGridTrans_(globalToLocal); this->applyEditNncrToGridTrans_(globalToLocal); if (applyNncMultregT) { @@ -1054,7 +1054,8 @@ computeFaceProperties(const Intersection& intersection, template void Transmissibility:: -applyPinchNncToGridTrans_(const std::unordered_map& cartesianToCompressed) +applyPinchNncToGridTrans_(const std::unordered_map& cartesianToCompressed, + const bool applyNncMultregT) { const auto& pinchNnc = eclState_.getPinchNNC(); const auto& transMult = this->eclState_.getTransMult(); @@ -1089,8 +1090,11 @@ applyPinchNncToGridTrans_(const std::unordered_map& cartesianTo // the correctly calculated transmissibility is stored in // the NNC. Overwrite previous value with it. // taking the region multiplier into account. - const auto mult = transMult.getRegionMultiplierNNC(c1, c2); - candidate->second = nncEntry.trans * mult; + candidate->second = nncEntry.trans; + if (applyNncMultregT) { + const auto mult = transMult.getRegionMultiplierNNC(c1, c2); + candidate->second *= mult; + } } } }