37 static constexpr Foam::label
BLOCKED = -2;
42 Foam::regionSplit2D::regionSplit2D
54 label regioni = globalFaces.
toGlobal(0);
59 label nBlockedFaces = 0;
60 forAll(blockedFaces, facei)
62 if (blockedFaces.
test(facei))
64 for (
const label edgei :
patch.faceEdges()[facei])
66 changedEdges.
append(edgei);
69 changedRegions.
append(regioni);
105 Map<label> regionToCompactAddr(changedRegions.size());
106 label compactRegioni = 0;
112 globalFaces.isLocal(regioni)
113 && regionToCompactAddr.insert(regioni, compactRegioni)
125 iter.val() += myProcOffset;
135 nRegions_ = regionToCompactAddr.size();
143 this->
operator[](facei) = regionToCompactAddr[regioni] + offset;
void size(const label n)
Older name for setAddressableSize.
static constexpr Foam::label BLOCKED
void append(const T &val)
Append an element at the end of the list.
Wave propagation of information along patch. Every iteration information goes through one layer of fa...
PrimitivePatch< IndirectList< face >, const pointField & > indirectPrimitivePatch
A PrimitivePatch with an IndirectList for the faces, const reference for the point field...
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
#define forAll(list, i)
Loop across all elements in list.
label & operator[](const label i)
Return element of UList.
A list of faces which address into the list of points.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Transport of region for use in PatchEdgeFaceWave.
#define forAllIters(container, iter)
Iterate across all elements in the container object.
void append(const T &val)
Copy append an element to the end of this list.
static constexpr Foam::label UNASSIGNED
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type test(const label i) const
Test bool value at specified position, always false for out-of-range access.
label toGlobal(const label proci, const label i) const
From local to global on proci.
const std::string patch
OpenFOAM patch number as a std::string.
Mesh consisting of general polyhedral cells.
static void mapCombineReduce(Container &values, const CombineOp &cop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce inplace (cf. MPI Allreduce) applying cop to inplace combine map values from different processo...
bool returnReduceOr(const bool value, const label comm=UPstream::worldComm)
Perform logical (or) MPI Allreduce on a copy. Uses UPstream::reduceOr.
static label calcOffset(const label localSize, const label comm=UPstream::worldComm, const bool checkOverflow=false)
Calculate globally-consistent local start offset based on the local input size(s).
List< wallPoints > allFaceInfo(mesh_.nFaces())