Creates mesh by extruding a patch. More...
Public Member Functions | |
ClassName ("createShellMesh") | |
Runtime type information. More... | |
createShellMesh (const primitiveFacePatch &patch, const faceList &pointRegions, const labelList ®ionPoints) | |
Construct from mesh. More... | |
const labelList & | cellToFaceMap () const |
From region cell to patch face. Consecutively added so. More... | |
const labelList & | faceToFaceMap () const |
From region face to patch face. Contains turning index: More... | |
const labelList & | faceToEdgeMap () const |
From region side-face to patch edge. -1 for non-edge faces. More... | |
const labelList & | pointToPointMap () const |
From region point to patch point. More... | |
void | setRefinement (const pointField &firstLayerThickness, const scalar expansionRatio, const label nLayers, const labelList &topPatchID, const labelList &bottomPatchID, const labelListList &extrudeEdgePatches, polyTopoChange &meshMod) |
Play commands into polyTopoChange to create layer mesh. More... | |
void | updateMesh (const mapPolyMesh &) |
Update any locally stored mesh information. More... | |
Static Public Member Functions | |
static void | calcPointRegions (const globalMeshData &globalData, const primitiveFacePatch &patch, const PackedBoolList &nonManifoldEdge, const bool syncNonCollocated, faceList &pointGlobalRegions, faceList &pointLocalRegions, labelList &localToGlobalRegion) |
Helper: calculate point regions. The point region is the. More... | |
Creates mesh by extruding a patch.
Definition at line 59 of file createShellMesh.H.
createShellMesh | ( | const primitiveFacePatch & | patch, |
const faceList & | pointRegions, | ||
const labelList & | regionPoints | ||
) |
Construct from mesh.
Definition at line 423 of file createShellMesh.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, createShellMesh::setRefinement(), and List< T >::size().
ClassName | ( | "createShellMesh" | ) |
Runtime type information.
|
inline |
From region cell to patch face. Consecutively added so.
cell at layerI is at patchFacei*nLayers+layerI
Definition at line 129 of file createShellMesh.H.
|
inline |
From region face to patch face. Contains turning index:
> 0 : face in same orientation as patch face. face will be in top patch < 0 : face in opposite orientation as patch face. face will be in bottom patch = 0 : for all side faces
Definition at line 140 of file createShellMesh.H.
|
inline |
From region side-face to patch edge. -1 for non-edge faces.
Definition at line 146 of file createShellMesh.H.
|
inline |
From region point to patch point.
Definition at line 152 of file createShellMesh.H.
References createShellMesh::calcPointRegions(), createShellMesh::setRefinement(), and createShellMesh::updateMesh().
|
static |
Helper: calculate point regions. The point region is the.
same on all faces connected to a point if they can be reached through a face-edge-face walk without crossing the nonManifoldEdge. syncNonCollocated = true: edges connected through cyclic become single region. false: kept separate. pointGlobalRegions : non-compact. Guaranteed to be the same across processors. pointLocalRegions : compact. localToGlobalRegion : local to global region.
Definition at line 154 of file createShellMesh.C.
References List< T >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clear(), globalMeshData::coupledPatch(), Foam::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), HashTableCore::end(), f(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), HashTable< T, Key, Hash >::find(), Foam::findIndex(), forAll, Foam::labelMax, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), globalIndex::localSize(), PatchTools::matchEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), Foam::returnReduce(), List< T >::setSize(), List< T >::size(), globalIndex::toGlobal(), and List< T >::transfer().
Referenced by extrudePatchMesh::extrudePatchMesh(), minEqOp< labelPair >::operator()(), and createShellMesh::pointToPointMap().
void setRefinement | ( | const pointField & | firstLayerThickness, |
const scalar | expansionRatio, | ||
const label | nLayers, | ||
const labelList & | topPatchID, | ||
const labelList & | bottomPatchID, | ||
const labelListList & | extrudeEdgePatches, | ||
polyTopoChange & | meshMod | ||
) |
Play commands into polyTopoChange to create layer mesh.
Definition at line 446 of file createShellMesh.C.
References polyTopoChange::addCell(), polyTopoChange::addFace(), polyTopoChange::addPoint(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), Foam::e, Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), Foam::findIndex(), forAll, UList< T >::last(), patchi, UList< T >::rcIndex(), face::reverseFace(), List< T >::size(), VectorSpace< Form, Cmpt, Ncmpts >::size(), and Foam::Swap().
Referenced by createShellMesh::createShellMesh(), extrudePatchMesh::extrudePatchMesh(), and createShellMesh::pointToPointMap().
void updateMesh | ( | const mapPolyMesh & | map | ) |
Update any locally stored mesh information.
Definition at line 906 of file createShellMesh.C.
References Foam::inplaceReorder(), mapPolyMesh::reverseCellMap(), mapPolyMesh::reverseFaceMap(), and mapPolyMesh::reversePointMap().
Referenced by extrudePatchMesh::extrudePatchMesh(), and createShellMesh::pointToPointMap().