mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
[bugfix] Prevent double scaling of NNC with EDITNNC resembled trans
The former order resulted of first apply NCC to the grid transmissibilities and then applying EDITNNC resulted in NNCs being scaled twices. The reason is that applyNNCToGridTrans_ scales the NNC with EDITNNC. With the patch the order of the function calls is reversed to prevent double scaling.
This commit is contained in:
@@ -385,8 +385,8 @@ public:
|
||||
int cartElemIdx = vanguard_.cartesianIndexMapper().cartesianIndex(elemIdx);
|
||||
globalToLocal[cartElemIdx] = elemIdx;
|
||||
}
|
||||
applyEditNNCToGridTrans_(elemMapper, globalToLocal);
|
||||
applyNNCToGridTrans_(globalToLocal);
|
||||
applyEditNNC_(elemMapper, globalToLocal);
|
||||
|
||||
//remove very small non-neighbouring transmissibilities
|
||||
removeSmallNonCartesianTransmissibilities_();
|
||||
@@ -671,8 +671,9 @@ private:
|
||||
return make_tuple(processed_nnc, unprocessed_nnc);
|
||||
}
|
||||
|
||||
void applyEditNNC_(const ElementMapper& elementMapper,
|
||||
const std::vector<int>& globalToLocal)
|
||||
/// \brief Multiplies the grid transmissibilities according to EDITNNC.
|
||||
void applyEditNNCToGridTrans_(const ElementMapper& elementMapper,
|
||||
const std::vector<int>& globalToLocal)
|
||||
{
|
||||
const auto& editNNC = vanguard_.eclState().getInputEDITNNC();
|
||||
if ( editNNC.empty() )
|
||||
|
||||
Reference in New Issue
Block a user