Update ecltransmissibility_impl.hh

Update the comparison。
This commit is contained in:
locture 2024-01-06 00:39:46 -06:00 committed by GitHub
parent 204ebacbf2
commit da2ce029ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -318,13 +318,11 @@ update(bool global, const std::function<unsigned int(unsigned int)>& map, const
// we only need to calculate a face's transmissibility // we only need to calculate a face's transmissibility
// once... // once...
// In a parallel run insideCartElemIdx>outsideCartElemIdx does not imply elemIdx>outsideElemIdx for
// This comparison can be problematic for corner cases in mpi // ghost cells and we need to use the cartesian index as this will be used when applying Z multipliers
// Test case observed elemIdx <= outsideElemIdx AND insideFaceIdx==4 // We still need to cover the case where both cells are part of an LGR and as a consequence might have
// This means an assert failure in applyAllZMultipliers_() while useSmallestMultiplier==true // the same cartesian index
// Converting to comparison between insideCartElemIdx and outsideCartElemIdx fixes the problem if (std::tie(insideCartElemIdx, elemIdx) > std::tie(outsideCartElemIdx, outsideElemIdx))
// if (elemIdx > outsideElemIdx)
if (insideCartElemIdx > outsideCartElemIdx)
continue; continue;
// local indices of the faces of the inside and // local indices of the faces of the inside and