Public Member Functions | List of all members
globalPoints Class Reference

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 globalIndexglobalIndices () const
 
const globalIndexAndTransformglobalTransforms () const
 
const labelListListpointPoints () const
 
labelListListpointPoints ()
 
const labelListListtransformedPointPoints () const
 
labelListListtransformedPointPoints ()
 
const mapDistributemap () const
 
mapDistributemap ()
 
const Map< label > & meshToProcPoint () const
 
const DynamicList< labelPairList > & procPoints () const
 

Detailed Description

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).

Source files

Definition at line 98 of file globalPoints.H.

Constructor & Destructor Documentation

◆ globalPoints() [1/2]

globalPoints ( const polyMesh mesh,
const bool  keepAllPoints,
const bool  mergeSeparated 
)

Definition at line 1085 of file globalPoints.C.

◆ globalPoints() [2/2]

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().

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "globalPoints"  )

◆ globalIndices()

const globalIndex& globalIndices ( ) const
inline

Definition at line 307 of file globalPoints.H.

◆ globalTransforms()

const globalIndexAndTransform& globalTransforms ( ) const
inline

Definition at line 313 of file globalPoints.H.

◆ pointPoints() [1/2]

const labelListList& pointPoints ( ) const
inline

Definition at line 320 of file globalPoints.H.

◆ pointPoints() [2/2]

labelListList& pointPoints ( )
inline

Definition at line 327 of file globalPoints.H.

◆ transformedPointPoints() [1/2]

const labelListList& transformedPointPoints ( ) const
inline

Definition at line 333 of file globalPoints.H.

◆ transformedPointPoints() [2/2]

labelListList& transformedPointPoints ( )
inline

Definition at line 339 of file globalPoints.H.

◆ map() [1/2]

const mapDistribute& map ( ) const
inline

Definition at line 345 of file globalPoints.H.

◆ map() [2/2]

mapDistribute& map ( )
inline

Definition at line 351 of file globalPoints.H.

◆ meshToProcPoint()

const Map<label>& meshToProcPoint ( ) const
inline

Definition at line 357 of file globalPoints.H.

◆ procPoints()

const DynamicList<labelPairList>& procPoints ( ) const
inline

Definition at line 364 of file globalPoints.H.


The documentation for this class was generated from the following files: