BUG: parallel blocking with faFieldDecomposer, faMeshReconstructor (fixes #2237)

- the patch remapping in faFieldDecomposer calls weights
  internalField() which can trigger parallel communication on the
  complete mesh for some processors only (ie, blocks).

  Force a priori creation of weights instead.

- ensure that the complete mesh (reconstruction helper)
  is serial when adding patches.
This commit is contained in:
Mark Olesen
2021-10-11 22:59:50 +02:00
committed by Andrew Heather
parent a809265432
commit 9c1f94d4fd
3 changed files with 20 additions and 5 deletions

View File

@ -517,7 +517,13 @@ void Foam::faMeshReconstructor::createMesh()
);
}
// Serial mesh - no parallel communication
const bool oldParRun = Pstream::parRun(false);
completeMesh.addFaPatches(completePatches);
Pstream::parRun(oldParRun); // Restore parallel state
}