30 Foam::pointFieldReconstructor::pointFieldReconstructor
32 const pointMesh&
mesh,
33 const PtrList<pointMesh>& procMeshes,
34 const PtrList<labelIOList>& pointProcAddressing,
35 const PtrList<labelIOList>& boundaryProcAddressing
39 procMeshes_(procMeshes),
40 pointProcAddressing_(pointProcAddressing),
41 boundaryProcAddressing_(boundaryProcAddressing),
42 patchPointAddressing_(procMeshes.size())
50 const pointMesh& procMesh = procMeshes_[proci];
52 patchPointAddressing_[proci].setSize(procMesh.boundary().size());
56 if (boundaryProcAddressing_[proci][
patchi] >= 0)
59 procPatchAddr.
setSize(procMesh.boundary()[
patchi].size(), -1);
62 mesh_.boundary()[boundaryProcAddressing_[proci][
patchi]]
66 forAll (patchPointLabels, pointi)
68 pointMap[patchPointLabels[pointi]] = pointi;
72 procMesh.boundary()[
patchi].meshPoints();
74 forAll (procPatchPoints, pointi)
76 procPatchAddr[pointi] =
79 pointProcAddressing_[proci][procPatchPoints[pointi]]
83 if (procPatchAddr.size() &&
min(procPatchAddr) < 0)
87 "pointFieldReconstructor::pointFieldReconstructor"
89 " const pointMesh& mesh,\n"
90 " const PtrList<pointMesh>& procMeshes,\n"
91 " const PtrList<labelIOList>& pointProcAddressing,\n"
92 " const PtrList<labelIOList>& "
93 "boundaryProcAddressing\n"
95 ) <<
"Incomplete patch point addressing"