45 directAddressing_(procMeshPatch.size(), -1),
53 forAll(completeMeshPatchPoints, pointi)
55 pointMap[completeMeshPatchPoints[pointi]] = pointi;
62 forAll(procMeshPatchPoints, pointi)
64 directAddressing_[pointi] =
65 pointMap[directAddr[procMeshPatchPoints[pointi]]];
69 if (directAddressing_.
size() &&
min(directAddressing_) < 0)
74 <<
"Incomplete patch point addressing" 80 Foam::pointFieldDecomposer::pointFieldDecomposer
83 const pointMesh& procMesh,
89 pointAddressing_(pointAddressing),
90 boundaryAddressing_(boundaryAddressing),
92 patchFieldDecomposerPtrs_()
96 Foam::pointFieldDecomposer::pointFieldDecomposer
120 return patchFieldDecomposerPtrs_.empty();
126 patchFieldDecomposerPtrs_.clear();
136 const label nMappers = procMesh_.boundary().size();
137 patchFieldDecomposerPtrs_.resize(nMappers);
139 forAll(boundaryAddressing_, patchi)
141 const label oldPatchi = boundaryAddressing_[patchi];
145 patchFieldDecomposerPtrs_.set
148 new patchFieldDecomposer
151 procMesh_.boundary()[patchi],
void size(const label n)
Older name for setAddressableSize.
bool empty() const
True if no mappers have been allocated.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void reset(const pointMesh &completeMesh)
Reset mappers using information from the complete mesh.
static label size(const Mesh &mesh)
Return size. Number of points.
const pointMesh & mesh() const noexcept
Return the mesh reference.
void clear()
Remove all mappers.
Mesh representing a set of points created from polyMesh.
#define forAll(list, i)
Loop across all elements in list.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
errorManip< error > abort(error &err)
const pointBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
Basic pointPatch represents a set of points from the mesh.
patchFieldDecomposer(const pointPatch &completeMeshPatch, const pointPatch &procMeshPatch, const labelList &directAddr)
Construct given addressing.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
List< label > labelList
A List of labels.
const pointBoundaryMesh & boundary() const noexcept
Return reference to boundary mesh.
Foam::pointPatchFieldMapperPatchRef.
virtual const labelList & meshPoints() const =0
Return mesh points.