39 procMeshes_(procMeshes),
40 pointProcAddressing_(pointProcAddressing),
41 boundaryProcAddressing_(boundaryProcAddressing),
42 patchPointAddressing_(procMeshes.
size()),
51 const pointMesh& procMesh = procMeshes_[proci];
53 patchPointAddressing_[proci].setSize(procMesh.
boundary().
size());
57 if (boundaryProcAddressing_[proci][
patchi] >= 0)
63 mesh_.boundary()[boundaryProcAddressing_[proci][
patchi]]
67 forAll(patchPointLabels, pointi)
69 pointMap[patchPointLabels[pointi]] = pointi;
75 forAll(procPatchPoints, pointi)
77 procPatchAddr[pointi] =
80 pointProcAddressing_[proci][procPatchPoints[pointi]]
84 if (procPatchAddr.
size() &&
min(procPatchAddr) < 0)
87 <<
"Incomplete patch point addressing" #define forAll(list, i)
Loop across all elements in list.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
Mesh representing a set of points created from polyMesh.
pointFieldReconstructor(const pointMesh &mesh, const PtrList< pointMesh > &procMeshes, const PtrList< labelIOList > &pointProcAddressing, const PtrList< labelIOList > &boundaryProcAddressing)
Construct from components.
errorManip< error > abort(error &err)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
label size() const
Return the number of elements in the UPtrList.
void setSize(const label)
Reset size of List.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
const pointBoundaryMesh & boundary() const
Return reference to boundary mesh.