Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
createShellMesh Class Reference

Creates mesh by extruding a patch. More...

Collaboration diagram for createShellMesh:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("createShellMesh")
 Runtime type information. More...
 
 createShellMesh (const primitiveFacePatch &patch, const faceList &pointRegions, const labelList &regionPoints)
 Construct from mesh. 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 PackedBoolList &nonManifoldEdge, const bool syncNonCollocated, faceList &pointGlobalRegions, faceList &pointLocalRegions, labelList &localToGlobalRegion)
 Helper: calculate point regions. The point region is the. More...
 

Private Member Functions

 createShellMesh (const createShellMesh &)
 Disallow default bitwise copy construct. More...
 
void operator= (const createShellMesh &)
 Disallow default bitwise assignment. More...
 

Static Private Member Functions

static void syncEdges (const globalMeshData &, const labelList &, const labelList &, const PackedBoolList &sameEdgeOrientation, const bool syncNonCollocated, PackedBoolList &isChangedEdge, DynamicList< label > &changedEdges, labelPairList &allEdgeData)
 

Private Attributes

const primitiveFacePatchpatch_
 Reference to patch to extrude. More...
 
const faceListpointRegions_
 Per point on face the region. More...
 
const labelListregionPoints_
 From region to original patch point. More...
 
labelList cellToFaceMap_
 
labelList faceToFaceMap_
 
labelList faceToEdgeMap_
 
labelList pointToPointMap_
 

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 createShellMesh )
private

Disallow default bitwise copy construct.

◆ createShellMesh() [2/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, and List::size().

Here is the call graph for this function:

Member Function Documentation

◆ syncEdges()

void syncEdges ( const globalMeshData globalData,
const labelList patchEdges,
const labelList coupledEdges,
const PackedBoolList sameEdgeOrientation,
const bool  syncNonCollocated,
PackedBoolList isChangedEdge,
DynamicList< label > &  changedEdges,
labelPairList allEdgeData 
)
staticprivate

◆ operator=()

void operator= ( const createShellMesh )
private

Disallow default bitwise assignment.

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

References createShellMesh::faceToEdgeMap_.

◆ pointToPointMap()

const labelList& pointToPointMap ( ) const
inline

From region point to patch point.

Definition at line 152 of file createShellMesh.H.

References createShellMesh::pointToPointMap_.

◆ 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::append(), DynamicList::clear(), globalMeshData::coupledPatch(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), f(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), Foam::findIndex(), forAll, Foam::labelMax, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), globalIndex::localSize(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), Foam::returnReduce(), List::setSize(), globalIndex::toGlobal(), and List::transfer().

Referenced by extrudePatchMesh::extrudeMesh().

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 
)

Play commands into polyTopoChange to create layer mesh.

Definition at line 446 of file createShellMesh.C.

References polyTopoChange::addCell(), polyTopoChange::addFace(), polyTopoChange::addPoint(), DynamicList::append(), Foam::constant::electromagnetic::e, Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), forAll, face::reverseFace(), List::size(), and Foam::Swap().

Referenced by extrudePatchMesh::extrudeMesh().

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

◆ updateMesh()

void updateMesh ( const mapPolyMesh map)

Update any locally stored mesh information.

Definition at line 906 of file createShellMesh.C.

References createShellMesh::cellToFaceMap_, createShellMesh::faceToEdgeMap_, createShellMesh::faceToFaceMap_, Foam::inplaceReorder(), createShellMesh::pointToPointMap_, mapPolyMesh::reverseCellMap(), mapPolyMesh::reverseFaceMap(), and mapPolyMesh::reversePointMap().

Referenced by extrudePatchMesh::extrudeMesh().

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

Field Documentation

◆ patch_

const primitiveFacePatch& patch_
private

Reference to patch to extrude.

Definition at line 64 of file createShellMesh.H.

◆ pointRegions_

const faceList& pointRegions_
private

Per point on face the region.

Definition at line 67 of file createShellMesh.H.

◆ regionPoints_

const labelList& regionPoints_
private

From region to original patch point.

Definition at line 70 of file createShellMesh.H.

◆ cellToFaceMap_

labelList cellToFaceMap_
private

Definition at line 73 of file createShellMesh.H.

Referenced by createShellMesh::updateMesh().

◆ faceToFaceMap_

labelList faceToFaceMap_
private

Definition at line 75 of file createShellMesh.H.

Referenced by createShellMesh::updateMesh().

◆ faceToEdgeMap_

labelList faceToEdgeMap_
private

◆ pointToPointMap_

labelList pointToPointMap_
private

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