FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

mapPolyMesh Class Reference

Class containing mesh-to-mesh mapping information after a change in polyMesh topology. More...

#include <OpenFOAM/mapPolyMesh.H>


Detailed Description

Class containing mesh-to-mesh mapping information after a change in polyMesh topology.

General:

  • pointMap/faceMap/cellMap:
    from current mesh back to previous mesh. (so to 'pull' the information onto the current mesh)
  • reversePointMap/faceMap/cellMap:
    from previous mesh to current. (so to 'push' information)

In the topology change points/faces/cells

  • can be unchanged. (faces might be renumbered though)
  • can be removed (into nothing)
  • can be removed into/merged with existing same entity (so point merged with other point, face with other face, cell with other cell. Note that probably only cell with cell is relevant)
  • can be added from existing same 'master' entity (so point from point, face from face and cell from cell)
  • can be inflated: face out of edge or point, cell out of face, edge or point.
  • can be appended: added 'out of nothing'.

All this information is nessecary to correctly map fields.

points
  • unchanged:
  • pointMap[pointI] contains old point label
  • reversePointMap[oldPointI] contains new point label
  • removed:
  • reversePointMap[oldPointI] contains -1
  • merged into point:
  • reversePointMap[oldPointI] contains <-1 : -newPointI-2
  • pointMap[pointI] contains the old master point label
  • pointsFromPoints gives for pointI all the old point labels (including the old master point!)
  • added-from-same:
  • pointMap[pointI] contains the old master point label
  • appended:
  • pointMap[pointI] contains -1
faces
  • unchanged:
  • faceMap[faceI] contains old face label
  • reverseFaceMap[oldFaceI] contains new face label
  • removed:
  • reverseFaceMap[oldFaceI] contains -1
  • merged into face:
  • reverseFaceMap[oldFaceI] contains <-1 : -newFaceI-2
  • faceMap[faceI] contains the old master face label
  • facesFromFaces gives for faceI all the old face labels (including the old master face!)
  • added-from-same:
  • faceMap[faceI] contains the old master face label
  • inflated-from-edge:
  • faceMap[faceI] contains -1
  • facesFromEdges contains an entry with
  • faceI
  • list of faces(*) on old mesh that connected to the old edge
  • inflated-from-point:
  • faceMap[faceI] contains -1
  • facesFromPoints contains an entry with
  • faceI
  • list of faces(*) on old mesh that connected to the old point
  • appended:
  • faceMap[faceI] contains -1

Note (*)
if the newly inflated face is a boundary face the list of faces will only be boundary faces; if the new face is an internal face they will only be internal faces.

cells
  • unchanged:
  • cellMap[cellI] contains old cell label
  • reverseCellMap[oldCellI] contains new cell label
  • removed:
  • reverseCellMap[oldCellI] contains -1
  • merged into cell:
  • reverseCellMap[oldCellI] contains <-1 : -newCellI-2
  • cellMap[cellI] contains the old master cell label
  • cellsFromCells gives for cellI all the old cell labels (including the old master cell!)
  • added-from-same:
  • cellMap[cellI] contains the old master cell label
  • inflated-from-face:
  • cellMap[cellI] contains -1
  • cellsFromFaces contains an entry with
  • cellI
  • list of cells on old mesh that connected to the old face
  • inflated-from-edge:
  • cellMap[cellI] contains -1
  • cellsFromEdges contains an entry with
  • cellI
  • list of cells on old mesh that connected to the old edge
  • inflated-from-point:
  • cellMap[cellI] contains -1
  • cellsFromPoints contains an entry with
  • cellI
  • list of cells on old mesh that connected to the old point
  • appended:
  • cellMap[cellI] contains -1
Source files

Definition at line 159 of file mapPolyMesh.H.

Inheritance diagram for mapPolyMesh:
Collaboration diagram for mapPolyMesh:

List of all members.

Public Member Functions

 mapPolyMesh (const polyMesh &mesh, const label nOldPoints, const label nOldFaces, const label nOldCells, const labelList &pointMap, const List< objectMap > &pointsFromPoints, const labelList &faceMap, const List< objectMap > &facesFromPoints, const List< objectMap > &facesFromEdges, const List< objectMap > &facesFromFaces, const labelList &cellMap, const List< objectMap > &cellsFromPoints, const List< objectMap > &cellsFromEdges, const List< objectMap > &cellsFromFaces, const List< objectMap > &cellsFromCells, const labelList &reversePointMap, const labelList &reverseFaceMap, const labelList &reverseCellMap, const labelHashSet &flipFaceFlux, const labelListList &patchPointMap, const labelListList &pointZoneMap, const labelListList &faceZonePointMap, const labelListList &faceZoneFaceMap, const labelListList &cellZoneMap, const pointField &preMotionPoints, const labelList &oldPatchStarts, const labelList &oldPatchNMeshPoints)
 Construct from components.
 mapPolyMesh (const polyMesh &mesh, const label nOldPoints, const label nOldFaces, const label nOldCells, labelList &pointMap, List< objectMap > &pointsFromPoints, labelList &faceMap, List< objectMap > &facesFromPoints, List< objectMap > &facesFromEdges, List< objectMap > &facesFromFaces, labelList &cellMap, List< objectMap > &cellsFromPoints, List< objectMap > &cellsFromEdges, List< objectMap > &cellsFromFaces, List< objectMap > &cellsFromCells, labelList &reversePointMap, labelList &reverseFaceMap, labelList &reverseCellMap, labelHashSet &flipFaceFlux, labelListList &patchPointMap, labelListList &pointZoneMap, labelListList &faceZonePointMap, labelListList &faceZoneFaceMap, labelListList &cellZoneMap, pointField &preMotionPoints, labelList &oldPatchStarts, labelList &oldPatchNMeshPoints, const bool reUse)
 Construct from components and optionally reuse storage.
const polyMesh &  mesh () const
 Return polyMesh.
label  nOldPoints () const
 Number of old points.
label  nOldInternalFaces () const
 Number of old internal faces.
label  nOldFaces () const
 Number of old faces.
label  nOldCells () const
 Number of old cells.
const labelList &  pointMap () const
 Old point map.
const List< objectMap > &  pointsFromPointsMap () const
 Points originating from points.
const labelList &  faceMap () const
 Old face map.
const List< objectMap > &  facesFromPointsMap () const
 Faces inflated from points.
const List< objectMap > &  facesFromEdgesMap () const
 Faces inflated from edges.
const List< objectMap > &  facesFromFacesMap () const
 Faces originating from faces.
const labelList &  cellMap () const
 Old cell map.
const List< objectMap > &  cellsFromPointsMap () const
 Cells inflated from points.
const List< objectMap > &  cellsFromEdgesMap () const
 Cells inflated from edges.
const List< objectMap > &  cellsFromFacesMap () const
 Cells inflated from faces.
const List< objectMap > &  cellsFromCellsMap () const
 Cells originating from cells.
const labelList &  reversePointMap () const
 Reverse point map.
label  mergedPoint (const label oldPointI) const
 If point is removed return point (on new mesh) it merged.
const labelList &  reverseFaceMap () const
 Reverse face map.
label  mergedFace (const label oldFaceI) const
 If face is removed return face (on new mesh) it merged into.
const labelList &  reverseCellMap () const
 Reverse cell map.
label  mergedCell (const label oldCellI) const
 If cell is removed return cell (on new mesh) it merged into.
const labelHashSet &  flipFaceFlux () const
 Map of flipped face flux faces.
const labelListList &  patchPointMap () const
 Patch point renumbering.
const labelListList &  pointZoneMap () const
 Point zone renumbering.
const labelListList &  faceZonePointMap () const
 Face zone point renumbering.
const labelListList &  faceZoneFaceMap () const
 Face zone face renumbering.
const labelListList &  cellZoneMap () const
 Cell zone renumbering.
const pointField &  preMotionPoints () const
 Pre-motion point positions.
bool  hasMotionPoints () const
 Has valid preMotionPoints?
const labelList &  oldPatchSizes () const
 Return list of the old patch sizes.
const labelList &  oldPatchStarts () const
 Return list of the old patch start labels.
const labelList &  oldPatchNMeshPoints () const
 Return numbers of mesh points per old patch.

Constructor & Destructor Documentation

mapPolyMesh ( const polyMesh &   mesh,
const label   nOldPoints,
const label   nOldFaces,
const label   nOldCells,
const labelList &   pointMap,
const List< objectMap > &   pointsFromPoints,
const labelList &   faceMap,
const List< objectMap > &   facesFromPoints,
const List< objectMap > &   facesFromEdges,
const List< objectMap > &   facesFromFaces,
const labelList &   cellMap,
const List< objectMap > &   cellsFromPoints,
const List< objectMap > &   cellsFromEdges,
const List< objectMap > &   cellsFromFaces,
const List< objectMap > &   cellsFromCells,
const labelList &   reversePointMap,
const labelList &   reverseFaceMap,
const labelList &   reverseCellMap,
const labelHashSet &   flipFaceFlux,
const labelListList &   patchPointMap,
const labelListList &   pointZoneMap,
const labelListList &   faceZonePointMap,
const labelListList &   faceZoneFaceMap,
const labelListList &   cellZoneMap,
const pointField &   preMotionPoints,
const labelList &   oldPatchStarts,
const labelList &   oldPatchNMeshPoints  
)

Construct from components.

Definition at line 37 of file mapPolyMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorIn, and Foam::min().

mapPolyMesh ( const polyMesh &   mesh,
const label   nOldPoints,
const label   nOldFaces,
const label   nOldCells,
labelList &   pointMap,
List< objectMap > &   pointsFromPoints,
labelList &   faceMap,
List< objectMap > &   facesFromPoints,
List< objectMap > &   facesFromEdges,
List< objectMap > &   facesFromFaces,
labelList &   cellMap,
List< objectMap > &   cellsFromPoints,
List< objectMap > &   cellsFromEdges,
List< objectMap > &   cellsFromFaces,
List< objectMap > &   cellsFromCells,
labelList &   reversePointMap,
labelList &   reverseFaceMap,
labelList &   reverseCellMap,
labelHashSet &   flipFaceFlux,
labelListList &   patchPointMap,
labelListList &   pointZoneMap,
labelListList &   faceZonePointMap,
labelListList &   faceZoneFaceMap,
labelListList &   cellZoneMap,
pointField &   preMotionPoints,
labelList &   oldPatchStarts,
labelList &   oldPatchNMeshPoints,
const bool   reUse  
)

Construct from components and optionally reuse storage.

Definition at line 122 of file mapPolyMesh.C.

References Foam::abort(), Foam::FatalError, FatalErrorIn, and Foam::min().


Member Function Documentation

const polyMesh& mesh (  ) const [inline]

Return polyMesh.

Definition at line 355 of file mapPolyMesh.H.

label nOldPoints (  ) const [inline]

Number of old points.

Definition at line 361 of file mapPolyMesh.H.

Referenced by hexRef8::updateMesh().

label nOldInternalFaces (  ) const [inline]

Number of old internal faces.

Definition at line 367 of file mapPolyMesh.H.

label nOldFaces (  ) const [inline]

Number of old faces.

Definition at line 373 of file mapPolyMesh.H.

label nOldCells (  ) const [inline]

Number of old cells.

Definition at line 379 of file mapPolyMesh.H.

Referenced by hexRef8::updateMesh().

const labelList& pointMap (  ) const [inline]

Old point map.

Contains the old point label for all new points. For preserved points this is the old point label. For added points this is the master point ID

Definition at line 388 of file mapPolyMesh.H.

Referenced by pointMapper::pointMapper(), polyMesh::updateMesh(), displacementFvMotionSolver::updateMesh(), displacementComponentLaplacianFvMotionSolver::updateMesh(), and hexRef8::updateMesh().

const List<objectMap>& pointsFromPointsMap (  ) const [inline]

Points originating from points.

Definition at line 394 of file mapPolyMesh.H.

Referenced by pointMapper::pointMapper().

const labelList& faceMap (  ) const [inline]

Old face map.

Contains a list of old face labels for every new face. Warning: this map contains invalid entries for new faces

Definition at line 402 of file mapPolyMesh.H.

Referenced by faceMapper::faceMapper(), and meshRefinement::updateMesh().

const List<objectMap>& facesFromPointsMap (  ) const [inline]

Faces inflated from points.

Definition at line 408 of file mapPolyMesh.H.

Referenced by faceMapper::faceMapper().

const List<objectMap>& facesFromEdgesMap (  ) const [inline]

Faces inflated from edges.

Definition at line 414 of file mapPolyMesh.H.

Referenced by faceMapper::faceMapper().

const List<objectMap>& facesFromFacesMap (  ) const [inline]

Faces originating from faces.

Definition at line 420 of file mapPolyMesh.H.

Referenced by faceMapper::faceMapper().

const labelList& cellMap (  ) const [inline]

Old cell map.

Contains old cell label for all preserved cells.

Definition at line 427 of file mapPolyMesh.H.

Referenced by cellMapper::cellMapper(), fvMesh::mapFields(), refinementHistory::updateMesh(), and hexRef8::updateMesh().

const List<objectMap>& cellsFromPointsMap (  ) const [inline]

Cells inflated from points.

Definition at line 433 of file mapPolyMesh.H.

Referenced by cellMapper::cellMapper().

const List<objectMap>& cellsFromEdgesMap (  ) const [inline]

Cells inflated from edges.

Definition at line 439 of file mapPolyMesh.H.

Referenced by cellMapper::cellMapper().

const List<objectMap>& cellsFromFacesMap (  ) const [inline]

Cells inflated from faces.

Definition at line 445 of file mapPolyMesh.H.

Referenced by cellMapper::cellMapper().

const List<objectMap>& cellsFromCellsMap (  ) const [inline]

Cells originating from cells.

Definition at line 451 of file mapPolyMesh.H.

Referenced by cellMapper::cellMapper().

label mergedPoint ( const label   oldPointI  ) const [inline]

If point is removed return point (on new mesh) it merged.

into

Definition at line 468 of file mapPolyMesh.H.

References Foam::abort(), Foam::endl(), Foam::FatalError, and FatalErrorIn.

label mergedFace ( const label   oldFaceI  ) const [inline]

If face is removed return face (on new mesh) it merged into.

Definition at line 499 of file mapPolyMesh.H.

References Foam::abort(), Foam::endl(), Foam::FatalError, and FatalErrorIn.

const labelList& reverseCellMap (  ) const [inline]
label mergedCell ( const label   oldCellI  ) const [inline]

If cell is removed return cell (on new mesh) it merged into.

Definition at line 530 of file mapPolyMesh.H.

References Foam::abort(), Foam::endl(), Foam::FatalError, and FatalErrorIn.

Referenced by Cloud< ParticleType >::autoMap().

const labelHashSet& flipFaceFlux (  ) const [inline]

Map of flipped face flux faces.

Definition at line 554 of file mapPolyMesh.H.

const labelListList& patchPointMap (  ) const [inline]

Patch point renumbering.

For every preserved point on a patch give the old position. For added points, the index is set to -1

Definition at line 562 of file mapPolyMesh.H.

const labelListList& pointZoneMap (  ) const [inline]

Point zone renumbering.

For every preserved point in zone give the old position. For added points, the index is set to -1

Definition at line 573 of file mapPolyMesh.H.

const labelListList& faceZonePointMap (  ) const [inline]

Face zone point renumbering.

For every preserved point in zone give the old position. For added points, the index is set to -1

Definition at line 581 of file mapPolyMesh.H.

const labelListList& faceZoneFaceMap (  ) const [inline]

Face zone face renumbering.

For every preserved face in zone give the old position. For added faces, the index is set to -1

Definition at line 589 of file mapPolyMesh.H.

const labelListList& cellZoneMap (  ) const [inline]

Cell zone renumbering.

For every preserved cell in zone give the old position. For added cells, the index is set to -1

Definition at line 597 of file mapPolyMesh.H.

const pointField& preMotionPoints (  ) const [inline]

Pre-motion point positions.

This specifies the correct way of blowing up zero-volume objects

Definition at line 605 of file mapPolyMesh.H.

Referenced by displacementFvMotionSolver::updateMesh(), and displacementComponentLaplacianFvMotionSolver::updateMesh().

bool hasMotionPoints (  ) const [inline]

Has valid preMotionPoints?

Definition at line 611 of file mapPolyMesh.H.

References List< T >::size().

Referenced by displacementFvMotionSolver::updateMesh(), and displacementComponentLaplacianFvMotionSolver::updateMesh().

const labelList& oldPatchSizes (  ) const [inline]

Return list of the old patch sizes.

Definition at line 618 of file mapPolyMesh.H.

const labelList& oldPatchStarts (  ) const [inline]

Return list of the old patch start labels.

Definition at line 624 of file mapPolyMesh.H.

const labelList& oldPatchNMeshPoints (  ) const [inline]

Return numbers of mesh points per old patch.

Definition at line 630 of file mapPolyMesh.H.


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