From 20af10e2c61fe96dc50bddfca46d21885d1281ab Mon Sep 17 00:00:00 2001 From: Markus Blatt Date: Fri, 31 Mar 2023 20:51:39 +0200 Subject: [PATCH] Apply EDITNNCR information to tranmissibilities. --- ebos/ecltransmissibility.cc | 14 ++++++++++++++ ebos/ecltransmissibility.hh | 3 +++ 2 files changed, 17 insertions(+) diff --git a/ebos/ecltransmissibility.cc b/ebos/ecltransmissibility.cc index 811986b43..7a8d1e6dc 100644 --- a/ebos/ecltransmissibility.cc +++ b/ebos/ecltransmissibility.cc @@ -478,6 +478,7 @@ update(bool global, const std::function& map) } applyEditNncToGridTrans_(globalToLocal); applyNncToGridTrans_(globalToLocal); + applyEditNncrToGridTrans_(globalToLocal); //remove very small non-neighbouring transmissibilities removeSmallNonCartesianTransmissibilities_(); @@ -898,6 +899,19 @@ applyEditNncToGridTrans_(const std::unordered_map& globalToLoca [](double& trans, const double& rhs){ trans *= rhs;}); } +template +void EclTransmissibility:: +applyEditNncrToGridTrans_(const std::unordered_map& globalToLocal) +{ + const auto& input = eclState_.getInputNNC(); + applyEditNncToGridTransHelper_(globalToLocal, "EDITNNCR", + input.editr(), + [&input](const NNCdata& nnc){ + return input.editr_location(nnc);}, + // Replace Transmissibility with EDITNNCR value + [](double& trans, const double& rhs){ trans = rhs;}); +} + template void EclTransmissibility:: applyEditNncToGridTransHelper_(const std::unordered_map& globalToLocal, diff --git a/ebos/ecltransmissibility.hh b/ebos/ecltransmissibility.hh index e04d58cf8..03831d46e 100644 --- a/ebos/ecltransmissibility.hh +++ b/ebos/ecltransmissibility.hh @@ -201,6 +201,9 @@ protected: /// \brief Multiplies the grid transmissibilities according to EDITNNC. void applyEditNncToGridTrans_(const std::unordered_map& globalToLocal); + /// \brief Resets the grid transmissibilities according to EDITNNCR. + void applyEditNncrToGridTrans_(const std::unordered_map& globalToLocal); + void applyEditNncToGridTransHelper_(const std::unordered_map& globalToLocal, const std::string& keyword, const std::vector& nncs, const std::function& getLocation,