Class containing mesh-to-mesh mapping information after a change in polyMesh topology. More...
Public Member Functions | |
mapPolyMesh (const polyMesh &mesh) | |
Construct from mesh. More... | |
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, const autoPtr< scalarField > &oldCellVolumesPtr) | |
Construct from components. Copy (except for oldCellVolumes). More... | |
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, autoPtr< scalarField > &oldCellVolumesPtr, const bool reuse) | |
Construct from components and optionally reuse storage. More... | |
const polyMesh & | mesh () const |
Return polyMesh. More... | |
label | nOldPoints () const |
Number of old points. More... | |
label | nOldInternalFaces () const |
Number of old internal faces. More... | |
label | nOldFaces () const |
Number of old faces. More... | |
label | nOldCells () const |
Number of old cells. More... | |
const labelList & | pointMap () const |
Old point map. More... | |
const List< objectMap > & | pointsFromPointsMap () const |
Points originating from points. More... | |
const labelList & | faceMap () const |
Old face map. More... | |
const List< objectMap > & | facesFromPointsMap () const |
Faces inflated from points. More... | |
const List< objectMap > & | facesFromEdgesMap () const |
Faces inflated from edges. More... | |
const List< objectMap > & | facesFromFacesMap () const |
Faces originating from faces. More... | |
const labelList & | cellMap () const |
Old cell map. More... | |
const List< objectMap > & | cellsFromPointsMap () const |
Cells inflated from points. More... | |
const List< objectMap > & | cellsFromEdgesMap () const |
Cells inflated from edges. More... | |
const List< objectMap > & | cellsFromFacesMap () const |
Cells inflated from faces. More... | |
const List< objectMap > & | cellsFromCellsMap () const |
Cells originating from cells. More... | |
const labelList & | reversePointMap () const |
Reverse point map. More... | |
label | mergedPoint (const label oldPointi) const |
If point is removed return point (on new mesh) it merged. More... | |
const labelList & | reverseFaceMap () const |
Reverse face map. More... | |
label | mergedFace (const label oldFacei) const |
If face is removed return face (on new mesh) it merged into. More... | |
const labelList & | reverseCellMap () const |
Reverse cell map. More... | |
label | mergedCell (const label oldCelli) const |
If cell is removed return cell (on new mesh) it merged into. More... | |
const labelHashSet & | flipFaceFlux () const |
Map of flipped face flux faces. More... | |
const labelListList & | patchPointMap () const |
Patch point renumbering. More... | |
const labelListList & | pointZoneMap () const |
Point zone renumbering. More... | |
const labelListList & | faceZonePointMap () const |
Face zone point renumbering. More... | |
const labelListList & | faceZoneFaceMap () const |
Face zone face renumbering. More... | |
const labelListList & | cellZoneMap () const |
Cell zone renumbering. More... | |
const pointField & | preMotionPoints () const |
Pre-motion point positions. More... | |
bool | hasMotionPoints () const |
Has valid preMotionPoints? More... | |
const labelList & | oldPatchSizes () const |
Return list of the old patch sizes. More... | |
const labelList & | oldPatchStarts () const |
Return list of the old patch start labels. More... | |
const labelList & | oldPatchNMeshPoints () const |
Return numbers of mesh points per old patch. More... | |
bool | hasOldCellVolumes () const |
const scalarField & | oldCellVolumes () const |
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
In the topology change points/faces/cells
All this information is necessary to correctly map fields.
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.
Definition at line 161 of file mapPolyMesh.H.
mapPolyMesh | ( | const polyMesh & | mesh | ) |
Construct from mesh.
Definition at line 34 of file mapPolyMesh.C.
References polyMesh::boundaryMesh(), polyMesh::cellZones(), polyMesh::faceZones(), forAll, Foam::identity(), mapPolyMesh::mesh(), nPoints, and polyMesh::pointZones().
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, | ||
const autoPtr< scalarField > & | oldCellVolumesPtr | ||
) |
Construct from components. Copy (except for oldCellVolumes).
Definition at line 100 of file mapPolyMesh.C.
References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::FatalError, FatalErrorInFunction, 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, | ||
autoPtr< scalarField > & | oldCellVolumesPtr, | ||
const bool | reuse | ||
) |
Construct from components and optionally reuse storage.
Definition at line 188 of file mapPolyMesh.C.
References Foam::abort(), autoPtr< T >::clone(), Foam::expressions::patchExpr::debug, Foam::FatalError, FatalErrorInFunction, and Foam::min().
|
inline |
Return polyMesh.
Definition at line 363 of file mapPolyMesh.H.
Referenced by mapPolyMesh::mapPolyMesh(), hexRef8Data::updateMesh(), derivedFields::updateMesh(), streamLineBase::updateMesh(), areaWrite::updateMesh(), sampledSets::updateMesh(), probes::updateMesh(), ObukhovLength::updateMesh(), and sampledSurfaces::updateMesh().
|
inline |
Number of old points.
Definition at line 369 of file mapPolyMesh.H.
Referenced by hexRef8Data::updateMesh(), and hexRef8::updateMesh().
|
inline |
Number of old internal faces.
Definition at line 375 of file mapPolyMesh.H.
|
inline |
Number of old faces.
Definition at line 381 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), and fvMesh::mapFields().
|
inline |
Number of old cells.
Definition at line 387 of file mapPolyMesh.H.
Referenced by fvMesh::mapFields(), hexRef8Data::updateMesh(), fvMesh::updateMesh(), and hexRef8::updateMesh().
|
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 396 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), pointMapper::pointMapper(), hexRef8Data::updateMesh(), points0MotionSolver::updateMesh(), componentDisplacementMotionSolver::updateMesh(), displacementLayeredMotionMotionSolver::updateMesh(), hexRef8::updateMesh(), and polyMesh::updateMesh().
Points originating from points.
Definition at line 402 of file mapPolyMesh.H.
Referenced by pointMapper::pointMapper().
|
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 410 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), meshRefinement::createBaffles(), faceMapper::faceMapper(), dynamicRefineFvMesh::mapFields(), fvMesh::mapFields(), meshRefinement::splitFacesUndo(), and meshRefinement::updateMesh().
Faces inflated from points.
Definition at line 416 of file mapPolyMesh.H.
Referenced by faceMapper::faceMapper().
Faces inflated from edges.
Definition at line 422 of file mapPolyMesh.H.
Referenced by faceMapper::faceMapper().
Faces originating from faces.
Definition at line 428 of file mapPolyMesh.H.
Referenced by faceMapper::faceMapper().
|
inline |
Old cell map.
Contains old cell label for all preserved cells.
Definition at line 435 of file mapPolyMesh.H.
Referenced by cellMapper::cellMapper(), fvMesh::mapFields(), hexRef8Data::updateMesh(), refinementHistory::updateMesh(), hexRef8::updateMesh(), and polyMesh::updateMesh().
Cells inflated from points.
Definition at line 441 of file mapPolyMesh.H.
Referenced by cellMapper::cellMapper().
Cells inflated from edges.
Definition at line 447 of file mapPolyMesh.H.
Referenced by cellMapper::cellMapper().
Cells inflated from faces.
Definition at line 453 of file mapPolyMesh.H.
Referenced by cellMapper::cellMapper().
Cells originating from cells.
Definition at line 459 of file mapPolyMesh.H.
Referenced by cellMapper::cellMapper().
|
inline |
Reverse point map.
Contains new point label for all old and added points
Definition at line 469 of file mapPolyMesh.H.
Referenced by meshRefinement::splitFacesUndo(), pointBitSet::updateMesh(), duplicatePoints::updateMesh(), points0MotionSolver::updateMesh(), componentDisplacementMotionSolver::updateMesh(), pointSet::updateMesh(), removePoints::updateMesh(), pointZoneSet::updateMesh(), boundaryCutter::updateMesh(), displacementLayeredMotionMotionSolver::updateMesh(), createShellMesh::updateMesh(), combineFaces::updateMesh(), tetDecomposer::updateMesh(), localPointRegion::updateMesh(), meshCutAndRemove::updateMesh(), meshCutter::updateMesh(), addPatchCellLayer::updateMesh(), hexRef8::updateMesh(), and polyMesh::updateMesh().
|
inline |
If point is removed return point (on new mesh) it merged.
into
Definition at line 476 of file mapPolyMesh.H.
|
inline |
Reverse face map.
Contains new face label for all old and added faces
Definition at line 501 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), meshRefinement::createBaffles(), meshRefinement::doRemoveCells(), meshRefinement::doRestorePoints(), dynamicRefineFvMesh::mapFields(), meshRefinement::mergeBaffles(), meshRefinement::mergePatchFaces(), meshRefinement::splitFacesUndo(), faceBitSet::updateMesh(), faceBoolSet::updateMesh(), faceSet::updateMesh(), removePoints::updateMesh(), boundaryCutter::updateMesh(), faceZoneSet::updateMesh(), createShellMesh::updateMesh(), combineFaces::updateMesh(), externalDisplacementMeshMover::updateMesh(), localPointRegion::updateMesh(), meshCutAndRemove::updateMesh(), meshCutter::updateMesh(), probes::updateMesh(), faceZone::updateMesh(), addPatchCellLayer::updateMesh(), and meshRefinement::updateMesh().
|
inline |
If face is removed return face (on new mesh) it merged into.
Definition at line 507 of file mapPolyMesh.H.
References Foam::abort(), Foam::endl(), Foam::FatalError, and FatalErrorInFunction.
|
inline |
Reverse cell map.
Contains new cell label for all old and added cells
Definition at line 532 of file mapPolyMesh.H.
Referenced by particle< Type >::autoMap(), fvMesh::mapFields(), refinementIterator::setRefinement(), cellZoneSet::updateMesh(), cellSet::updateMesh(), undoableMeshCutter::updateMesh(), createShellMesh::updateMesh(), tetDecomposer::updateMesh(), meshCutAndRemove::updateMesh(), meshCutter::updateMesh(), probes::updateMesh(), refinementHistory::updateMesh(), and hexRef8::updateMesh().
|
inline |
If cell is removed return cell (on new mesh) it merged into.
Definition at line 538 of file mapPolyMesh.H.
References Foam::abort(), Foam::endl(), Foam::FatalError, and FatalErrorInFunction.
|
inline |
Map of flipped face flux faces.
Definition at line 562 of file mapPolyMesh.H.
|
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 570 of file mapPolyMesh.H.
|
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 581 of file mapPolyMesh.H.
|
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 589 of file mapPolyMesh.H.
|
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 597 of file mapPolyMesh.H.
|
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 605 of file mapPolyMesh.H.
|
inline |
Pre-motion point positions.
This specifies the correct way of blowing up zero-volume objects
Definition at line 613 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), polyMeshFilter::copyMesh(), meshRefinement::createBaffles(), meshRefinement::doRemoveCells(), meshRefinement::doRemovePoints(), meshRefinement::doRestorePoints(), meshRefinement::dupNonManifoldPoints(), meshRefinement::mergeBaffles(), meshRefinement::mergePatchFaces(), meshRefinement::mergePoints(), meshRefinement::refine(), meshRefinement::splitFacesUndo(), points0MotionSolver::updateMesh(), and componentDisplacementMotionSolver::updateMesh().
|
inline |
Has valid preMotionPoints?
Definition at line 619 of file mapPolyMesh.H.
Referenced by snappyLayerDriver::addLayers(), polyMeshFilter::copyMesh(), meshRefinement::createBaffles(), meshRefinement::doRemoveCells(), meshRefinement::doRemovePoints(), meshRefinement::doRestorePoints(), meshRefinement::dupNonManifoldPoints(), meshRefinement::mergeBaffles(), meshRefinement::mergePatchFaces(), meshRefinement::mergePoints(), meshRefinement::refine(), meshRefinement::splitFacesUndo(), points0MotionSolver::updateMesh(), componentDisplacementMotionSolver::updateMesh(), and polyMesh::updateMesh().
|
inline |
Return list of the old patch sizes.
Definition at line 626 of file mapPolyMesh.H.
|
inline |
Return list of the old patch start labels.
Definition at line 632 of file mapPolyMesh.H.
|
inline |
Return numbers of mesh points per old patch.
Definition at line 638 of file mapPolyMesh.H.
|
inline |
Definition at line 646 of file mapPolyMesh.H.
References bool.
|
inline |
Definition at line 651 of file mapPolyMesh.H.
Referenced by fvMesh::updateMesh().