From dced6c581ef35c65aad641e4719d67a5e1db4d86 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Mon, 10 Jun 2024 10:04:55 +0100 Subject: [PATCH] BUG: regionSplit2D: revert to original code. Fixes #3149. --- src/meshTools/regionSplit2D/regionSplit2D.C | 56 ++++++++------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/src/meshTools/regionSplit2D/regionSplit2D.C b/src/meshTools/regionSplit2D/regionSplit2D.C index c86761302a2..306a04fbd37 100644 --- a/src/meshTools/regionSplit2D/regionSplit2D.C +++ b/src/meshTools/regionSplit2D/regionSplit2D.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2015-2022 OpenCFD Ltd. + Copyright (C) 2015-2022,2024 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,7 +28,7 @@ License #include "regionSplit2D.H" #include "polyMesh.H" #include "PatchEdgeFaceWave.H" -#include "edgeTopoDistanceData.H" +#include "patchEdgeFaceRegion.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -51,12 +51,11 @@ Foam::regionSplit2D::regionSplit2D nRegions_(0) { globalIndex globalFaces(blockedFaces.size()); - label regionI = globalFaces.toGlobal(0); - List<edgeTopoDistanceData<label>> allEdgeInfo(patch.nEdges()); - List<edgeTopoDistanceData<label>> allFaceInfo(patch.size()); + label regioni = globalFaces.toGlobal(0); + List<patchEdgeFaceRegion> allEdgeInfo(patch.nEdges()); + List<patchEdgeFaceRegion> allFaceInfo(patch.size()); DynamicList<label> changedEdges; - DynamicList<edgeTopoDistanceData<label>> changedRegions; - + DynamicList<patchEdgeFaceRegion> changedRegions; label nBlockedFaces = 0; forAll(blockedFaces, facei) { @@ -67,26 +66,15 @@ Foam::regionSplit2D::regionSplit2D changedEdges.append(edgei); // Append globally unique value - changedRegions.append - ( - edgeTopoDistanceData<label> - ( - 0, // distance - regionI // passive data - ) - ); + changedRegions.append(regioni); } nBlockedFaces++; - regionI++; + regioni++; } else { // Block all non-seeded faces from the walk - allFaceInfo[facei] = edgeTopoDistanceData<label> - ( - 0, // distance - BLOCKED // passive data - ); + allFaceInfo[facei] = BLOCKED; } } @@ -99,7 +87,7 @@ Foam::regionSplit2D::regionSplit2D PatchEdgeFaceWave < indirectPrimitivePatch, - edgeTopoDistanceData<label> + patchEdgeFaceRegion > ( mesh, @@ -115,23 +103,23 @@ Foam::regionSplit2D::regionSplit2D // Map from regions to local compact indexing // - only for regions that originate from this processor Map<label> regionToCompactAddr(changedRegions.size()); - label compactRegionI = 0; - forAll(allFaceInfo, faceI) + label compactRegioni = 0; + forAll(allFaceInfo, facei) { - label regionI = allFaceInfo[faceI].data(); + const label regioni = allFaceInfo[facei].region(); if ( - globalFaces.isLocal(regionI) - && regionToCompactAddr.insert(regionI, compactRegionI) + globalFaces.isLocal(regioni) + && regionToCompactAddr.insert(regioni, compactRegioni) ) { - compactRegionI++; + compactRegioni++; } } - // In-place renumber the local regionI to global (compact) regionI + // In-place renumber the local regionI to global (compact) regioni { - const label myProcOffset = globalIndex::calcOffset(compactRegionI); + const label myProcOffset = globalIndex::calcOffset(compactRegioni); forAllIters(regionToCompactAddr, iter) { iter.val() += myProcOffset; @@ -147,12 +135,12 @@ Foam::regionSplit2D::regionSplit2D nRegions_ = regionToCompactAddr.size(); // Set the region index per face - forAll(allFaceInfo, faceI) + forAll(allFaceInfo, facei) { - label regionI = allFaceInfo[faceI].data(); - if (regionI >= 0) + const label regioni = allFaceInfo[facei].region(); + if (regioni >= 0) { - this->operator[](faceI) = regionToCompactAddr[regionI] + offset; + this->operator[](facei) = regionToCompactAddr[regioni] + offset; } } } -- GitLab