mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-26 07:30:08 -05:00
only applying regional multiplier to PINCH NNC
when applyNncMultregT is true. it is consistent with other code design.
This commit is contained in:
1 parent
d1c024c51e
commit
823f157aee
2 files changed
+10
-5
No files matched your search
@@ -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<std::size_t,int>& cartesianToCompressed);
|
||||
void applyPinchNncToGridTrans_(const std::unordered_map<std::size_t,int>& cartesianToCompressed,
|
||||
bool applyNncMultregT);
|
||||
|
||||
/// \brief Multiplies the grid transmissibilities according to EDITNNC.
|
||||
void applyEditNncToGridTrans_(const std::unordered_map<std::size_t,int>& globalToLocal);
|
||||
|
||||
@@ -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<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
|
||||
void
|
||||
Transmissibility<Grid,GridView,ElementMapper,CartesianIndexMapper,Scalar>::
|
||||
applyPinchNncToGridTrans_(const std::unordered_map<std::size_t,int>& cartesianToCompressed)
|
||||
applyPinchNncToGridTrans_(const std::unordered_map<std::size_t,int>& cartesianToCompressed,
|
||||
const bool applyNncMultregT)
|
||||
{
|
||||
const auto& pinchNnc = eclState_.getPinchNNC();
|
||||
const auto& transMult = this->eclState_.getTransMult();
|
||||
@@ -1089,8 +1090,11 @@ applyPinchNncToGridTrans_(const std::unordered_map<std::size_t,int>& 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user