From 32a854d2e22e15cd7c3f9c9105bba9f125286c3c Mon Sep 17 00:00:00 2001 From: mattijs Date: Thu, 15 Feb 2018 09:08:40 +0000 Subject: [PATCH] ENH: meshStructure: make sense in parallel. Fixes #732. --- src/meshTools/meshStructure/meshStructure.C | 55 +++++++++++++++++++-- src/meshTools/meshStructure/meshStructure.H | 45 +++++++++++------ 2 files changed, 81 insertions(+), 19 deletions(-) diff --git a/src/meshTools/meshStructure/meshStructure.C b/src/meshTools/meshStructure/meshStructure.C index b573897c51..18a6fdc5eb 100644 --- a/src/meshTools/meshStructure/meshStructure.C +++ b/src/meshTools/meshStructure/meshStructure.C @@ -28,6 +28,7 @@ License #include "topoDistanceData.H" #include "pointTopoDistanceData.H" #include "PointEdgeWave.H" +#include "globalIndex.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -99,7 +100,10 @@ bool Foam::meshStructure::isStructuredCell void Foam::meshStructure::correct ( const polyMesh& mesh, - const uindirectPrimitivePatch& pp + const uindirectPrimitivePatch& pp, + const globalIndex& globalFaces, + const globalIndex& globalEdges, + const globalIndex& globalPoints ) { // Field on cells and faces. @@ -121,7 +125,11 @@ void Foam::meshStructure::correct forAll(pp, patchFacei) { patchFaces[patchFacei] = pp.addressing()[patchFacei]; - patchData[patchFacei] = topoDistanceData(patchFacei, 0); + patchData[patchFacei] = topoDistanceData + ( + globalFaces.toGlobal(patchFacei), + 0 + ); } @@ -230,7 +238,11 @@ void Foam::meshStructure::correct forAll(pp.meshPoints(), patchPointi) { patchPoints[patchPointi] = pp.meshPoints()[patchPointi]; - patchData[patchPointi] = pointTopoDistanceData(patchPointi, 0); + patchData[patchPointi] = pointTopoDistanceData + ( + globalPoints.toGlobal(patchPointi), + 0 + ); } @@ -257,7 +269,13 @@ void Foam::meshStructure::correct EdgeMap