Calculates points shared by more than two processor patches or cyclic patches. More...
Public Member Functions | |
ClassName ("globalPoints") | |
Declare name of the class and its debug switch. More... | |
globalPoints (const polyMesh &mesh, const bool keepAllPoints, const bool mergeSeparated) | |
Construct from mesh. More... | |
globalPoints (const polyMesh &mesh, const indirectPrimitivePatch &coupledPatch, const bool keepAllPoints, const bool mergeSeparated) | |
Construct from mesh and patch of coupled faces. Difference with. More... | |
globalPoints (const globalPoints &)=delete | |
Disallow default bitwise copy construction. More... | |
const globalIndex & | globalIndices () const |
Global numbering of untransformed (mesh or patch) points. More... | |
const globalIndexAndTransform & | globalTransforms () const |
Global numbering of transformed (mesh or patch) points. More... | |
const labelListList & | pointPoints () const |
Non-transformed connected points per point (in distributionMap. More... | |
labelListList & | pointPoints () |
Non-transformed connected points per point (in distributionMap. More... | |
const labelListList & | transformedPointPoints () const |
Transformed points per point (in distributionMap indices) More... | |
labelListList & | transformedPointPoints () |
Transformed points per point (in distributionMap indices) More... | |
const distributionMap & | map () const |
Corresponding map. More... | |
distributionMap & | map () |
Corresponding map. More... | |
const Map< label > & | meshToProcPoint () const |
From (mesh or patch) point to index in procPoints. More... | |
const DynamicList< labelPairList > & | procPoints () const |
procPoints is per point the connected points (in More... | |
void | operator= (const globalPoints &)=delete |
Disallow default bitwise assignment. More... | |
Calculates points shared by more than two processor patches or cyclic patches.
Is used in globalMeshData. (this info is needed for point/edge communication where processor swaps are not enough to exchange data)
Works purely topological and using local communication only. Needs:
Works by constructing equivalence lists for all the points on processor patches. These list are in globalIndexAndTransform numbering E.g.
((7 93)(4 731)(3 114))
means point 93 on proc7 is connected to point 731 on proc4 and 114 on proc3. It then assigns the lowest numbered processor to be the local 'master' and constructs a distributionMap to send all data to this master.
Algorithm:
At this point one will have complete point-point connectivity for all points on processor patches. Now (optionally) remove point equivalences of size 2. These are just normal points shared between two neighbouring procPatches.
Note: the data held is either mesh point labels (construct from mesh only) or patch point labels (construct from mesh and patch).
Definition at line 100 of file globalPoints.H.
globalPoints | ( | const polyMesh & | mesh, |
const bool | keepAllPoints, | ||
const bool | mergeSeparated | ||
) |
Construct from mesh.
keepAllPoints = false : filter out points that are on two neighbouring coupled patches only (so can be swapped) mergeSeparated: true : merge coupled points across separated patches. false : do not merge across coupled separated patches.
Definition at line 1092 of file globalPoints.C.
globalPoints | ( | const polyMesh & | mesh, |
const indirectPrimitivePatch & | coupledPatch, | ||
const bool | keepAllPoints, | ||
const bool | mergeSeparated | ||
) |
Construct from mesh and patch of coupled faces. Difference with.
construct from mesh only is that this stores the meshToProcPoint, procPoints as patch local point labels instead of mesh point labels.
Definition at line 1120 of file globalPoints.C.
References PrimitivePatch< FaceList, PointField >::meshPointMap(), and PrimitivePatch< FaceList, PointField >::meshPoints().
|
delete |
Disallow default bitwise copy construction.
ClassName | ( | "globalPoints" | ) |
Declare name of the class and its debug switch.
|
inline |
Global numbering of untransformed (mesh or patch) points.
Definition at line 306 of file globalPoints.H.
|
inline |
Global numbering of transformed (mesh or patch) points.
Definition at line 312 of file globalPoints.H.
|
inline |
Non-transformed connected points per point (in distributionMap.
indices)
Definition at line 319 of file globalPoints.H.
|
inline |
Non-transformed connected points per point (in distributionMap.
indices)
Definition at line 326 of file globalPoints.H.
|
inline |
Transformed points per point (in distributionMap indices)
Definition at line 332 of file globalPoints.H.
|
inline |
Transformed points per point (in distributionMap indices)
Definition at line 338 of file globalPoints.H.
|
inline |
Corresponding map.
Definition at line 344 of file globalPoints.H.
|
inline |
Corresponding map.
Definition at line 350 of file globalPoints.H.
From (mesh or patch) point to index in procPoints.
Definition at line 356 of file globalPoints.H.
|
inline |
procPoints is per point the connected points (in
globalTransformAndIndex point numbers)
Definition at line 363 of file globalPoints.H.
|
delete |
Disallow default bitwise assignment.