From c58fa1c07575c4e696affaa63a1365ef2172f714 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Wed, 25 May 2022 12:44:14 +0100 Subject: [PATCH] fvMeshStitchers::moving: Prevent communication missmatch The sub mesh on which mesh fluxes are corrected potentially only exists on a small subset of the processors. This was causing issues when processor boundaries were evaluated as this triggered the construction of weights and delta coefficients on only some of the processors, causing a communications missmatch. This has been resolved by a pre-emptive call to construct the surface interpolation coefficients. --- src/fvMeshStitchers/moving/fvMeshStitchersMoving.C | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fvMeshStitchers/moving/fvMeshStitchersMoving.C b/src/fvMeshStitchers/moving/fvMeshStitchersMoving.C index ae7610066b..245cb9399d 100644 --- a/src/fvMeshStitchers/moving/fvMeshStitchersMoving.C +++ b/src/fvMeshStitchers/moving/fvMeshStitchersMoving.C @@ -297,6 +297,7 @@ void Foam::fvMeshStitchers::moving::internalFaceCorrectMeshPhi fvMeshSubset subsetter(mesh()); subsetter.setLargeCellSubset(ownerCoupledCellSet()); const fvMesh& subMesh = subsetter.subMesh(); + subMesh.deltaCoeffs(); // Determine the disconnected regions of the sub mesh const regionSplit subMeshRegions(subMesh);