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 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...
 
void operator= (const createShellMesh &)=delete
 Disallow default bitwise assignment. 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...
 

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: