39 void Foam::pointBoundaryMesh::addPatches(
const polyBoundaryMesh&
pbm)
56 Foam::pointBoundaryMesh::pointBoundaryMesh
59 const polyBoundaryMesh&
pbm 108 void Foam::pointBoundaryMesh::calcGeometry()
120 operator[](patchi).initGeometry(pBufs);
123 pBufs.finishedSends();
127 operator[](patchi).calcGeometry(pBufs);
135 pBufs.finishedSends();
137 for (
const auto& schedEval : patchSchedule)
139 const label patchi = schedEval.patch;
143 operator[](patchi).initGeometry(pBufs);
147 operator[](patchi).calcGeometry(pBufs);
166 operator[](patchi).initMovePoints(pBufs,
p);
169 pBufs.finishedSends();
173 operator[](patchi).movePoints(pBufs,
p);
181 pBufs.finishedSends();
183 for (
const auto& schedEval : patchSchedule)
185 const label patchi = schedEval.patch;
189 operator[](patchi).initMovePoints(pBufs,
p);
193 operator[](patchi).movePoints(pBufs,
p);
212 operator[](patchi).initUpdateMesh(pBufs);
215 pBufs.finishedSends();
219 operator[](patchi).updateMesh(pBufs);
227 pBufs.finishedSends();
229 for (
const auto& schedEval : patchSchedule)
231 const label patchi = schedEval.patch;
235 operator[](patchi).initUpdateMesh(pBufs);
239 operator[](patchi).updateMesh(pBufs);
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
const polyBoundaryMesh & pbm
PtrList< pointPatch > pointPatchList
Store lists of pointPatch as a PtrList.
void movePoints(const pointField &)
Correct polyBoundaryMesh after moving points.
List< bool > select(const label n, const labelUList &locations)
Construct a selection list of bools (all false) with the given pre-size, subsequently add specified l...
label findPatchID(const word &patchName) const
Find patch index given a name.
labelList indices(const wordRe &matcher, const bool useGroups) const
Return (sorted) patch indices for all matches.
List< lduScheduleEntry > lduSchedule
A List of lduSchedule entries.
void updateMesh()
Correct polyBoundaryMesh after topology update.
static autoPtr< facePointPatch > New(const polyPatch &, const pointBoundaryMesh &)
Return a pointer to a new patch created on freestore from polyPatch.
#define forAll(list, i)
Loop across all elements in list.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
Return (sorted) patch indices for all matches.
vectorField pointField
pointField is a vectorField.
"scheduled" (MPI standard) : (MPI_Send, MPI_Recv)
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
A class for handling words, derived from Foam::string.
A List of wordRe with additional matching capabilities.
const globalMeshData & globalData() const
Return parallel info (demand-driven)
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings...
static commsTypes defaultCommsType
Default commsType.
const lduSchedule & patchSchedule() const noexcept
Order in which the patches should be initialised/evaluated corresponding to the schedule.
const polyBoundaryMesh & patches
"nonBlocking" (immediate) : (MPI_Isend, MPI_Irecv)
"buffered" : (MPI_Bsend, MPI_Recv)