48 srcBox(srcPatch, srcPointNormals, srcPointNormals0)
66 forAll(srcPatchProcBbs, proci)
68 forAll(srcPatchProcBbs[proci], bbi)
70 if (srcPatchProcBbs[proci][bbi].overlaps(tgtFaceBb))
72 resultDyn[proci].
append(tgtFacei);
83 result[proci].
transfer(resultDyn[proci]);
112 if (proci != thisProci && sendFaceis.
size())
142 procLocalFaceis[thisProci] = sendFaceis;
143 procLocalFaces[thisProci] = subPatch.
localFaces();
144 procLocalPoints[thisProci] = subPatch.
localPoints();
157 >> procLocalFaceis[proci]
158 >> procLocalFaces[proci]
159 >> procLocalPoints[proci]
160 >> procLocalPoints0[proci];
171 label nLocalFaces = 0, nLocalPoints = 0;
172 forAll(procLocalFaceis, proci)
174 nLocalFaces += procLocalFaces[proci].
size();
175 nLocalPoints += procLocalPoints[proci].
size();
177 localProcFaces.
setSize(nLocalFaces);
178 localFaces.
setSize(nLocalFaces);
179 localPoints.
setSize(nLocalPoints);
182 localPoints0.
setSize(nLocalPoints);
187 label localFacei = 0, localPointi = 0;
188 forAll(procLocalFaces, proci)
190 const labelList& fis = procLocalFaceis[proci];
191 const faceList& fs = procLocalFaces[proci];
194 localProcFaces[localFacei] = {proci, fis[i]};
195 localFaces[localFacei] =
face(fs[i] + localPointi);
199 const pointField& ps = procLocalPoints[proci];
200 const pointField& ps0 = procLocalPoints0[proci];
203 localPoints[localPointi] = ps[i];
206 localPoints0[localPointi] = ps0[i];
229 return localProcFaces;
#define forAll(list, i)
Loop across all elements in list.
void reset(const Field< Type > &)
Reset the field values to the given field.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
void append(const T &)
Append an element at the end of the list.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
const Field< PointType > & points0() const
Return reference to old-time global points.
bool has0() const
Return whether or not old-time geometry is available.
const Field< PointType > & localPoints0() const
Return pointField of old-time points in patch.
const Field< PointType > & points() const
Return reference to global points.
const List< FaceType > & localFaces() const
Return patch faces addressing into local point list.
const Field< PointType > & localPoints() const
Return pointField of points in patch.
Buffers for inter-processor communications streams (UOPstream, UIPstream).
void finishedSends(const bool block=true)
Mark all sends as having been done. This will start receives.
static void scatterList(const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm)
Scatter data. Reverse of gatherList.
static void gatherList(const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm)
Gather data but keep individual values separate.
Input inter-processor communications stream operating on external buffer.
A List with indirect addressing.
Output inter-processor communications stream operating on external buffer.
static label nProcs(const label communicator=0)
Number of processes in parallel run.
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const labelListList & constructMap() const
From subsetted data to new reconstructed data.
const labelListList & subMap() const
From subsetted data back to original data.
Class containing processor-to-processor mapping information.
A face is a list of labels corresponding to mesh vertices.
static List< remote > distributePatch(const distributionMap &map, const primitiveOldTimePatch &patch, autoPtr< PrimitiveOldTimePatch< faceList, pointField >> &localPatchPtr)
Distribute a patch given its distribution map.
virtual treeBoundBox srcBox(const face &srcFace, const pointField &srcPoints, const vectorField &srcPointNormals) const =0
Get the bound box for a source face.
labelListList tgtPatchSendFaces(const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch) const
Determine which target faces need to be sent to the source.
treeBoundBox tgtBox(const primitiveOldTimePatch &tgtPatch, const label tgtFacei) const
Get the bound box for a target face.
Standard boundBox + extra functionality for use in octree.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
vectorField pointField
pointField is a vectorField.