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 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 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 426 of file createShellMesh.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

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 157 of file createShellMesh.C.

References List< T >::append(), globalMeshData::coupledPatch(), Foam::constant::electromagnetic::e, f(), forAll, Foam::labelMax, globalIndex::localSize(), PatchTools::matchEdges(), Foam::foamVersion::patch, Foam::returnReduce(), List< T >::setSize(), 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 449 of file createShellMesh.C.

References polyTopoChange::addCell(), polyTopoChange::addFace(), polyTopoChange::addPoint(), DynamicList< T, SizeMin >::append(), Foam::constant::electromagnetic::e, Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, forAll, face::reverseFace(), VectorSpace< Form, Cmpt, Ncmpts >::size(), and Foam::Swap().

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: