mapDistributePolyMesh Class Reference

Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of meshes (using subsetting) to other processors and receive and reconstruct mesh. More...

Public Member Functions

 mapDistributePolyMesh ()
 Construct null. More...
 
 mapDistributePolyMesh (const polyMesh &mesh, const label nOldPoints, const label nOldFaces, const label nOldCells, labelList &&oldPatchStarts, labelList &&oldPatchNMeshPoints, labelListList &&subPointMap, labelListList &&subFaceMap, labelListList &&subCellMap, labelListList &&subPatchMap, labelListList &&constructPointMap, labelListList &&constructFaceMap, labelListList &&constructCellMap, labelListList &&constructPatchMap, const bool subFaceHasFlip=false, const bool constructFaceHasFlip=false)
 Move constructor from components. More...
 
 mapDistributePolyMesh (const label nOldPoints, const label nOldFaces, const label nOldCells, labelList &&oldPatchStarts, labelList &&oldPatchNMeshPoints, mapDistribute &&pointMap, mapDistribute &&faceMap, mapDistribute &&cellMap, mapDistribute &&patchMap)
 Move constructor from components. More...
 
 mapDistributePolyMesh (mapDistributePolyMesh &&)
 Move constructor. More...
 
 mapDistributePolyMesh (Istream &)
 Construct from Istream. More...
 
 mapDistributePolyMesh (const mapDistributePolyMesh &)=delete
 Disallow default bitwise copy construction. More...
 
label nOldPoints () const
 Number of points in mesh before distribution. More...
 
label nOldFaces () const
 Number of faces in mesh before distribution. More...
 
label nOldCells () const
 Number of cells in mesh before distribution. More...
 
const labelListoldPatchSizes () const
 List of the old patch sizes. More...
 
const labelListoldPatchStarts () const
 List of the old patch start labels. More...
 
const labelListoldPatchNMeshPoints () const
 List of numbers of mesh points per old patch. More...
 
const mapDistributepointMap () const
 Point distribute map. More...
 
const mapDistributefaceMap () const
 Face distribute map. More...
 
const mapDistributecellMap () const
 Cell distribute map. More...
 
const mapDistributepatchMap () const
 Patch distribute map. More...
 
void transfer (mapDistributePolyMesh &)
 Transfer the contents of the argument and annul the argument. More...
 
template<class T >
void distributePointData (List< T > &lst) const
 Distribute list of point data. More...
 
template<class T >
void distributeFaceData (List< T > &lst) const
 Distribute list of face data. More...
 
template<class T >
void distributeCellData (List< T > &lst) const
 Distribute list of cell data. More...
 
template<class T >
void distributePatchData (List< T > &lst) const
 Distribute list of patch data. More...
 
void distributePointIndices (labelList &pointIDs) const
 Distribute list of point/face/cell/patch indices. More...
 
void distributeFaceIndices (labelList &faceIDs) const
 
void distributeCellIndices (labelList &cellIDs) const
 
void distributePatchIndices (labelList &patchIDs) const
 
void updateMesh (const mapPolyMesh &)
 Correct for topo change. More...
 
void operator= (const mapDistributePolyMesh &)
 
void operator= (mapDistributePolyMesh &&)
 

Friends

Istreamoperator>> (Istream &, mapDistributePolyMesh &)
 Read dictionary from Istream. More...
 
Ostreamoperator<< (Ostream &, const mapDistributePolyMesh &)
 Write dictionary to Ostream. More...
 

Detailed Description

Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of meshes (using subsetting) to other processors and receive and reconstruct mesh.

We store mapping from the bits-to-send to the complete starting mesh (subXXXMap) and from the received bits to their location in the new mesh (constructXXXMap).

Source files

Definition at line 66 of file mapDistributePolyMesh.H.

Constructor & Destructor Documentation

◆ mapDistributePolyMesh() [1/6]

Construct null.

Definition at line 62 of file mapDistributePolyMesh.C.

Referenced by mapDistributePolyMesh::mapDistributePolyMesh().

Here is the caller graph for this function:

◆ mapDistributePolyMesh() [2/6]

mapDistributePolyMesh ( const polyMesh mesh,
const label  nOldPoints,
const label  nOldFaces,
const label  nOldCells,
labelList &&  oldPatchStarts,
labelList &&  oldPatchNMeshPoints,
labelListList &&  subPointMap,
labelListList &&  subFaceMap,
labelListList &&  subCellMap,
labelListList &&  subPatchMap,
labelListList &&  constructPointMap,
labelListList &&  constructFaceMap,
labelListList &&  constructCellMap,
labelListList &&  constructPatchMap,
const bool  subFaceHasFlip = false,
const bool  constructFaceHasFlip = false 
)

Move constructor from components.

Note that mesh has to be changed already since uses mesh.nPoints etc as the new size.

Definition at line 78 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::mapDistributePolyMesh().

Here is the call graph for this function:

◆ mapDistributePolyMesh() [3/6]

mapDistributePolyMesh ( const label  nOldPoints,
const label  nOldFaces,
const label  nOldCells,
labelList &&  oldPatchStarts,
labelList &&  oldPatchNMeshPoints,
mapDistribute &&  pointMap,
mapDistribute &&  faceMap,
mapDistribute &&  cellMap,
mapDistribute &&  patchMap 
)

Move constructor from components.

Definition at line 132 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::mapDistributePolyMesh().

Here is the call graph for this function:

◆ mapDistributePolyMesh() [4/6]

Move constructor.

Definition at line 163 of file mapDistributePolyMesh.C.

◆ mapDistributePolyMesh() [5/6]

Construct from Istream.

Definition at line 180 of file mapDistributePolyMesh.C.

◆ mapDistributePolyMesh() [6/6]

Disallow default bitwise copy construction.

Member Function Documentation

◆ nOldPoints()

label nOldPoints ( ) const
inline

Number of points in mesh before distribution.

Definition at line 176 of file mapDistributePolyMesh.H.

Referenced by mapDistributePolyMesh::distributePointIndices().

Here is the caller graph for this function:

◆ nOldFaces()

label nOldFaces ( ) const
inline

Number of faces in mesh before distribution.

Definition at line 182 of file mapDistributePolyMesh.H.

Referenced by mapDistributePolyMesh::distributeFaceIndices().

Here is the caller graph for this function:

◆ nOldCells()

label nOldCells ( ) const
inline

Number of cells in mesh before distribution.

Definition at line 188 of file mapDistributePolyMesh.H.

Referenced by mapDistributePolyMesh::distributeCellIndices().

Here is the caller graph for this function:

◆ oldPatchSizes()

const labelList& oldPatchSizes ( ) const
inline

List of the old patch sizes.

Definition at line 194 of file mapDistributePolyMesh.H.

◆ oldPatchStarts()

const labelList& oldPatchStarts ( ) const
inline

List of the old patch start labels.

Definition at line 200 of file mapDistributePolyMesh.H.

Referenced by mapDistributePolyMesh::distributePatchIndices().

Here is the caller graph for this function:

◆ oldPatchNMeshPoints()

const labelList& oldPatchNMeshPoints ( ) const
inline

List of numbers of mesh points per old patch.

Definition at line 206 of file mapDistributePolyMesh.H.

◆ pointMap()

const mapDistribute& pointMap ( ) const
inline

Point distribute map.

Definition at line 212 of file mapDistributePolyMesh.H.

Referenced by hexRef8Data::distribute().

Here is the caller graph for this function:

◆ faceMap()

const mapDistribute& faceMap ( ) const
inline

Face distribute map.

Definition at line 218 of file mapDistributePolyMesh.H.

◆ cellMap()

const mapDistribute& cellMap ( ) const
inline

Cell distribute map.

Definition at line 224 of file mapDistributePolyMesh.H.

Referenced by hexRef8Data::distribute(), and refinementHistory::distribute().

Here is the caller graph for this function:

◆ patchMap()

const mapDistribute& patchMap ( ) const
inline

Patch distribute map.

Definition at line 230 of file mapDistributePolyMesh.H.

References mapDistributePolyMesh::transfer().

Here is the call graph for this function:

◆ transfer()

void transfer ( mapDistributePolyMesh rhs)

Transfer the contents of the argument and annul the argument.

Definition at line 188 of file mapDistributePolyMesh.C.

References List< T >::transfer(), and mapDistribute::transfer().

Referenced by mapDistributePolyMesh::patchMap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributePointData()

void distributePointData ( List< T > &  lst) const
inline

Distribute list of point data.

Definition at line 243 of file mapDistributePolyMesh.H.

References mapDistribute::distribute().

Referenced by hexRef8::distribute(), and mapDistributePolyMesh::distributePointIndices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributeFaceData()

void distributeFaceData ( List< T > &  lst) const
inline

Distribute list of face data.

Definition at line 250 of file mapDistributePolyMesh.H.

References mapDistribute::distribute().

Referenced by meshRefinement::distribute(), and mapDistributePolyMesh::distributeFaceIndices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributeCellData()

void distributeCellData ( List< T > &  lst) const
inline

Distribute list of cell data.

Definition at line 257 of file mapDistributePolyMesh.H.

References mapDistribute::distribute().

Referenced by hexRef8::distribute(), and mapDistributePolyMesh::distributeCellIndices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributePatchData()

void distributePatchData ( List< T > &  lst) const
inline

◆ distributePointIndices()

void distributePointIndices ( labelList pointIDs) const

Distribute list of point/face/cell/patch indices.

(Converts to boolList, distributes boolList and reconstructs)

Definition at line 203 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::distributePointData(), Foam::findIndices(), and mapDistributePolyMesh::nOldPoints().

Referenced by mapDistributePolyMesh::distributePatchData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributeFaceIndices()

void distributeFaceIndices ( labelList faceIDs) const

Definition at line 225 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::distributeFaceData(), Foam::findIndices(), and mapDistributePolyMesh::nOldFaces().

Referenced by mapDistributePolyMesh::distributePatchData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributeCellIndices()

void distributeCellIndices ( labelList cellIDs) const

Definition at line 247 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::distributeCellData(), Foam::findIndices(), and mapDistributePolyMesh::nOldCells().

Referenced by mapDistributePolyMesh::distributePatchData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distributePatchIndices()

void distributePatchIndices ( labelList patchIDs) const

Definition at line 269 of file mapDistributePolyMesh.C.

References mapDistributePolyMesh::distributePatchData(), Foam::findIndices(), and mapDistributePolyMesh::oldPatchStarts().

Referenced by mapDistributePolyMesh::distributePatchData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh )
inline

Correct for topo change.

Definition at line 280 of file mapDistributePolyMesh.H.

References NotImplemented, mapDistributePolyMesh::operator<<, mapDistributePolyMesh::operator=(), and mapDistributePolyMesh::operator>>.

Here is the call graph for this function:

◆ operator=() [1/2]

void operator= ( const mapDistributePolyMesh rhs)

Definition at line 293 of file mapDistributePolyMesh.C.

Referenced by mapDistributePolyMesh::updateMesh().

Here is the caller graph for this function:

◆ operator=() [2/2]

void operator= ( mapDistributePolyMesh &&  rhs)

Definition at line 308 of file mapDistributePolyMesh.C.

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream ,
mapDistributePolyMesh  
)
friend

Read dictionary from Istream.

Referenced by mapDistributePolyMesh::updateMesh().

◆ operator<<

Ostream& operator<< ( Ostream ,
const mapDistributePolyMesh  
)
friend

Write dictionary to Ostream.

Referenced by mapDistributePolyMesh::updateMesh().


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