createShellMesh Class Reference

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 &regionPoints)
 Construct from mesh. More...
 
 createShellMesh (const createShellMesh &)=delete
 Disallow default bitwise copy construction. More...
 
const labelListcellToFaceMap () const
 From region cell to patch face. Consecutively added so. More...
 
const labelListfaceToFaceMap () const
 From region face to patch face. Contains turning index: More...
 
const labelListfaceToEdgeMap () const
 From region side-face to patch edge. -1 for non-edge faces. More...
 
void operator= (const createShellMesh &)=delete
 Disallow default bitwise assignment. More...
 
const labelListpointToPointMap () 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...
 

Detailed Description

Creates mesh by extruding a patch.

Source files
Extrudes into thickness direction.
  • bottom faces originate from reversed original faces (have turning index)
  • top faces originate from original faces (no turning index)

Definition at line 59 of file createShellMesh.H.

Constructor & Destructor Documentation

◆ createShellMesh() [1/2]

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().

Referenced by createShellMesh::calcPointRegions().

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

◆ createShellMesh() [2/2]

createShellMesh ( const createShellMesh )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ ClassName()

ClassName ( "createShellMesh"  )

Runtime type information.

◆ cellToFaceMap()

const labelList& cellToFaceMap ( ) const
inline

From region cell to patch face. Consecutively added so.

cell at layerI is at patchFacei*nLayers+layerI

Definition at line 125 of file createShellMesh.H.

◆ faceToFaceMap()

const labelList& faceToFaceMap ( ) const
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 136 of file createShellMesh.H.

◆ faceToEdgeMap()

const labelList& faceToEdgeMap ( ) const
inline

From region side-face to patch edge. -1 for non-edge faces.

Definition at line 142 of file createShellMesh.H.

References createShellMesh::operator=().

Here is the call graph for this function:

◆ operator=()

void operator= ( const createShellMesh )
delete

Disallow default bitwise assignment.

Referenced by createShellMesh::faceToEdgeMap().

Here is the caller graph for this function:

◆ pointToPointMap()

const labelList& pointToPointMap ( ) const
inline

From region point to patch point.

Definition at line 152 of file createShellMesh.H.

References createShellMesh::calcPointRegions(), createShellMesh::setRefinement(), and createShellMesh::updateMesh().

Here is the call graph for this function:

◆ calcPointRegions()

void calcPointRegions ( const globalMeshData globalData,
const primitiveFacePatch patch,
const PackedBoolList nonManifoldEdge,
const bool  syncNonCollocated,
faceList pointGlobalRegions,
faceList pointLocalRegions,
labelList localToGlobalRegion 
)
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 DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), List< T >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clear(), globalMeshData::coupledPatch(), createShellMesh::createShellMesh(), Foam::e, PrimitivePatch< FaceList, PointField >::edgeFaces(), PrimitivePatch< FaceList, PointField >::edges(), HashTableCore::end(), f(), PrimitivePatch< FaceList, PointField >::faceEdges(), HashTable< T, Key, Hash >::find(), Foam::findIndex(), forAll, Foam::labelMax, PrimitivePatch< FaceList, PointField >::localFaces(), globalIndex::localSize(), PatchTools::matchEdges(), PrimitivePatch< FaceList, PointField >::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().

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

◆ setRefinement()

void setRefinement ( const pointField firstLayerThickness,
const scalar  expansionRatio,
const label  nLayers,
const labelList topPatchID,
const labelList bottomPatchID,
const labelListList extrudeEdgePatches,
polyTopoChange meshMod 
)

◆ updateMesh()

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().

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

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