Takes mesh with 'baffles' (= boundary faces sharing points). Determines for selected points on boundary faces the 'point region' it is connected to. Each region can be visited by a cell-face-cell walk. Used in duplicating points after splitting baffles. More...
Public Member Functions | |
ClassName ("localPointRegion") | |
Runtime type information. More... | |
localPointRegion (const polyMesh &mesh) | |
Construct from mesh. Assumes all non-coupled boundary points. More... | |
localPointRegion (const polyMesh &mesh, const labelList &candidatePoints) | |
Construct from mesh and candidate points for duplication. More... | |
const Map< label > & | meshPointMap () const |
Per point that is to be duplicated the local index. More... | |
const labelListList & | pointRegions () const |
Per local point the regions it is in. More... | |
const Map< label > & | meshFaceMap () const |
Per face that uses a duplicated point the local index. More... | |
const faceList & | faceRegions () const |
Per face the region of its points. More... | |
void | updateMesh (const mapPolyMesh &) |
Force recalculation of locally stored data on topological change. More... | |
Static Public Member Functions | |
static labelList | findDuplicateFaces (const primitiveMesh &, const labelList &) |
Helper routine to find baffles (two boundary faces using the. More... | |
static labelPairList | findDuplicateFacePairs (const polyMesh &) |
Helper routine to find all baffles (two boundary faces. More... | |
Takes mesh with 'baffles' (= boundary faces sharing points). Determines for selected points on boundary faces the 'point region' it is connected to. Each region can be visited by a cell-face-cell walk. Used in duplicating points after splitting baffles.
Regions are not consecutive per processor. They will be -1..nRegions_.
Note: coupled boundaries (cyclics, parallel) not fully tested.
Definition at line 67 of file localPointRegion.H.
localPointRegion | ( | const polyMesh & | mesh | ) |
Construct from mesh. Assumes all non-coupled boundary points.
are candidates for duplication
Definition at line 446 of file localPointRegion.C.
References polyMesh::boundaryMesh(), forAll, PrimitivePatch< FaceList, PointField >::meshPoints(), primitiveMesh::nPoints(), patches, and patchi.
localPointRegion | ( | const polyMesh & | mesh, |
const labelList & | candidatePoints | ||
) |
Construct from mesh and candidate points for duplication.
Definition at line 477 of file localPointRegion.C.
References localPointRegion::findDuplicateFaces(), forAll, and primitiveMesh::nPoints().
ClassName | ( | "localPointRegion" | ) |
Runtime type information.
|
static |
Helper routine to find baffles (two boundary faces using the.
same points but in reverse order) Gets list of (boundary!) faces to check. Returns labelList of same size as the input list with -1 or index of other face in the input list. Does not handle duplicate faces on both sides of processor patch
Definition at line 504 of file localPointRegion.C.
References Foam::abort(), f(), primitiveMesh::faces(), Foam::FatalError, FatalErrorInFunction, localPointRegion::findDuplicateFacePairs(), forAll, primitiveMesh::nInternalFaces(), Foam::nl, pFaces, and primitiveMesh::points().
Referenced by meshRefinement::checkData(), localPointRegion::findDuplicateFacePairs(), and localPointRegion::localPointRegion().
|
static |
Helper routine to find all baffles (two boundary faces.
using the same points but in reverse order)
Definition at line 583 of file localPointRegion.C.
References Foam::abort(), polyMesh::boundaryMesh(), Foam::FatalError, FatalErrorInFunction, localPointRegion::findDuplicateFaces(), forAll, Foam::identity(), IOobject::name(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, patches, and polyBoundaryMesh::whichPatch().
Referenced by preserveBafflesConstraint::add(), preserveBafflesConstraint::apply(), meshRefinement::baffleAndSplitMesh(), meshRefinement::balance(), localPointRegion::findDuplicateFaces(), snappyLayerDriver::mergePatchFacesUndo(), displacementMeshMoverMotionSolver::meshMover(), and snappyRefineDriver::snappyRefineDriver().
Per point that is to be duplicated the local index.
Definition at line 165 of file localPointRegion.H.
Referenced by meshRefinement::dupNonManifoldPoints(), and duplicatePoints::setRefinement().
|
inline |
Per local point the regions it is in.
Definition at line 171 of file localPointRegion.H.
Referenced by duplicatePoints::setRefinement().
Per face that uses a duplicated point the local index.
Definition at line 177 of file localPointRegion.H.
Referenced by duplicatePoints::setRefinement().
|
inline |
Per face the region of its points.
Definition at line 183 of file localPointRegion.H.
References localPointRegion::updateMesh().
Referenced by duplicatePoints::setRefinement().
void updateMesh | ( | const mapPolyMesh & | map | ) |
Force recalculation of locally stored data on topological change.
Definition at line 639 of file localPointRegion.C.
References forAllConstIter(), newPointi, mapPolyMesh::reverseFaceMap(), mapPolyMesh::reversePointMap(), HashTable< T, Key, Hash >::size(), and HashTable< T, Key, Hash >::transfer().
Referenced by localPointRegion::faceRegions().