Go to the documentation of this file.
35 Foam::regionSplit2D::regionSplit2D
52 label nBlockedFaces = 0;
53 forAll(blockedFaces, faceI)
55 if (blockedFaces[faceI])
60 changedEdges.
append(fEdges[feI]);
63 changedRegions.
append(regionI);
71 allFaceInfo[faceI] = -2;
99 Map<label> regionToCompactAddr(changedRegions.size());
100 label compactRegionI = 0;
101 forAll(allFaceInfo, faceI)
103 label regionI = allFaceInfo[faceI].region();
106 globalFaces.isLocal(regionI)
107 && regionToCompactAddr.insert(regionI, compactRegionI)
125 Pstream::mapCombineScatter(regionToCompactAddr);
127 nRegions_ = regionToCompactAddr.size();
130 forAll(allFaceInfo, faceI)
132 label regionI = allFaceInfo[faceI].region();
135 this->operator[](faceI) = regionToCompactAddr[regionI] + offset;
List< label > labelList
A List of labels.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
~regionSplit2D()
Destructor.
Wave propagation of information along patch. Every iteration information goes through one layer of fa...
void append(const T &val)
Append an element at the end of the list.
Mesh consisting of general polyhedral cells.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
DynamicList< T, SizeMin > & append(const T &val)
Append an element to the end of this list.
#define forAllIters(container, iter)
Iterate across all elements in the container object.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
PrimitivePatch< face, IndirectList, const pointField & > indirectPrimitivePatch
A PrimitivePatch using an IndirectList for the faces.
const std::string patch
OpenFOAM patch number as a std::string.
Transport of region for use in PatchEdgeFaceWave.
label toGlobal(const label i) const
From local to global index.
A list of faces which address into the list of points.