Public Member Functions | Static Public Member Functions | List of all members
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...
 
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...
 

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

Here is the call graph for this function:

Member Function Documentation

ClassName ( "createShellMesh"  )

Runtime type information.

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 129 of file createShellMesh.H.

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 140 of file createShellMesh.H.

const labelList& faceToEdgeMap ( ) const
inline

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

Definition at line 146 of file createShellMesh.H.

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:

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

Here is the call graph for this function:

Here is the caller graph for this function:

void setRefinement ( const pointField &  firstLayerThickness,
const scalar  expansionRatio,
const label  nLayers,
const labelList &  topPatchID,
const labelList &  bottomPatchID,
const labelListList &  extrudeEdgePatches,
polyTopoChange &  meshMod 
)
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: