Calculates points shared by more than two processor patches or cyclic patches. More...
Public Member Functions | |
ClassName ("globalPoints") | |
globalPoints (const polyMesh &mesh, const bool keepAllPoints, const bool mergeSeparated) | |
globalPoints (const polyMesh &mesh, const indirectPrimitivePatch &coupledPatch, const bool keepAllPoints, const bool mergeSeparated) | |
const globalIndex & | globalIndices () const |
const globalIndexAndTransform & | globalTransforms () const |
const labelListList & | pointPoints () const |
labelListList & | pointPoints () |
const labelListList & | transformedPointPoints () const |
labelListList & | transformedPointPoints () |
const mapDistribute & | map () const |
mapDistribute & | map () |
const Map< label > & | meshToProcPoint () const |
const DynamicList< labelPairList > & | procPoints () const |
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 mapDistribute 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 98 of file globalPoints.H.
globalPoints | ( | const polyMesh & | mesh, |
const bool | keepAllPoints, | ||
const bool | mergeSeparated | ||
) |
Definition at line 1085 of file globalPoints.C.
globalPoints | ( | const polyMesh & | mesh, |
const indirectPrimitivePatch & | coupledPatch, | ||
const bool | keepAllPoints, | ||
const bool | mergeSeparated | ||
) |
Definition at line 1113 of file globalPoints.C.
References PrimitivePatch< FaceList, PointField >::meshPointMap(), and PrimitivePatch< FaceList, PointField >::meshPoints().
ClassName | ( | "globalPoints" | ) |
|
inline |
Definition at line 307 of file globalPoints.H.
|
inline |
Definition at line 313 of file globalPoints.H.
|
inline |
Definition at line 320 of file globalPoints.H.
|
inline |
Definition at line 327 of file globalPoints.H.
|
inline |
Definition at line 333 of file globalPoints.H.
|
inline |
Definition at line 339 of file globalPoints.H.
|
inline |
Definition at line 345 of file globalPoints.H.
|
inline |
Definition at line 351 of file globalPoints.H.
|
inline |
Definition at line 357 of file globalPoints.H.
|
inline |
Definition at line 364 of file globalPoints.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.