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 face patch. 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...
 
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 bitSet &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 61 of file createShellMesh.H.

Constructor & Destructor Documentation

◆ createShellMesh()

createShellMesh ( const primitiveFacePatch patch,
const faceList pointRegions,
const labelList regionPoints 
)

Construct from face patch.

Definition at line 425 of file createShellMesh.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and UList< T >::size().

Here is the call graph for this function:

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 130 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 141 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 147 of file createShellMesh.H.

◆ pointToPointMap()

const labelList & pointToPointMap ( ) const
inline

From region point to patch point.

Definition at line 153 of file createShellMesh.H.

◆ calcPointRegions()

void calcPointRegions ( const globalMeshData globalData,
const primitiveFacePatch patch,
const bitSet 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 156 of file createShellMesh.C.

References DynamicList< T, SizeMin >::append(), HashTable< T, Key, Hash >::cfind(), DynamicList< T, SizeMin >::clear(), globalMeshData::coupledPatch(), e, f(), UList< T >::find(), forAll, HashTable< T, Key, Hash >::insert(), Foam::labelMax, globalIndex::localSize(), PatchTools::matchEdges(), Foam::returnReduce(), bitSet::set(), List< T >::setSize(), HashTable< T, Key, Hash >::size(), UList< T >::size(), globalIndex::toGlobal(), and List< T >::transfer().

Here is the call 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 
)

Play commands into polyTopoChange to create layer mesh.

Definition at line 448 of file createShellMesh.C.

References polyTopoChange::addCell(), polyTopoChange::addFace(), polyTopoChange::addPoint(), DynamicList< T, SizeMin >::append(), e, Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), UList< T >::find(), face::flip(), forAll, UList< T >::last(), UList< T >::rcIndex(), and UList< T >::size().

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh map)

Update any locally stored mesh information.

Definition at line 909 of file createShellMesh.C.

References Foam::inplaceReorder(), mapPolyMesh::reverseCellMap(), mapPolyMesh::reverseFaceMap(), and mapPolyMesh::reversePointMap().

Here is the call graph for this function:

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