[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:
Markus Blatt 2018-12-10 11:34:23 +01:00
parent 5e83a26908
commit 362476a494

View File

@ -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() )