diff --git a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C index 48fcdbbb064735cb29fac656b35f0c332dddde3b..8c63239f397c6ece0c5baedcb2c9bf433c303337 100644 --- a/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C +++ b/src/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/autoRefineDriver.C @@ -1248,6 +1248,12 @@ void Foam::autoRefineDriver::doRefine decomposer_, distributor_ ); + + + if (debug) + { + meshRefiner_.checkZoneFaces(); + } } } diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H index 78b7d9a1a115c9689b76f68756eabdb52107ab82..770b50254ad91720ddb34ff018b317985c5ebb3c 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.H @@ -870,6 +870,9 @@ public: const labelList& neiPatch ); + //- Debug helper: check faceZones are not on processor patches + void checkZoneFaces() const; + //- Create baffles for faces straddling zoned surfaces. Return // baffles. autoPtr<mapPolyMesh> createZoneBaffles diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C index 76bb6150efb7526b39c3fdaeae831471f70d7fa9..6dc77b3949313d9c3fe07af5866580aa0a8060f5 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C @@ -531,6 +531,36 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles } +void Foam::meshRefinement::checkZoneFaces() const +{ + const faceZoneMesh& fZones = mesh_.faceZones(); + + const polyBoundaryMesh& pbm = mesh_.boundaryMesh(); + + forAll(pbm, patchI) + { + const polyPatch& pp = pbm[patchI]; + + if (isA<processorPolyPatch>(pp)) + { + forAll(pp, i) + { + label faceI = pp.start()+i; + label zoneI = fZones.whichZone(faceI); + + if (zoneI != -1) + { + FatalErrorIn("meshRefinement::checkZoneFaces") + << "face:" << faceI << " on patch " << pp.name() + << " is in zone " << fZones[zoneI].name() + << exit(FatalError); + } + } + } + } +} + + Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createZoneBaffles ( const labelList& globalToMasterPatch,