Public Member Functions | Static Public Member Functions | List of all members
addPatchCellLayer Class Reference

Adds layers of cells to outside of polyPatch. Can optionally create stand-alone extruded mesh (addToMesh=false). More...

Public Member Functions

 ClassName ("addPatchCellLayer")
 
 addPatchCellLayer (const polyMesh &, const bool addToMesh=true)
 
const labelListListaddedPoints () const
 
const labelListListlayerFaces () const
 
labelListList addedCells () const
 
void setRefinement (const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const scalarField &expansionRatio, const indirectPrimitivePatch &pp, const labelList &sidePatchID, const labelList &sideZoneID, const boolList &sideFlip, const labelList &inflateFaceID, const labelList &exposedPatchID, const labelList &nFaceLayers, const labelList &nPointLayers, const vectorField &firstLayerDisp, polyTopoChange &meshMod)
 
void setRefinement (const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const label nLayers, const indirectPrimitivePatch &pp, const labelList &sidePatchID, const vectorField &overallDisplacement, polyTopoChange &meshMod)
 
void updateMesh (const mapPolyMesh &, const labelList &faceMap, const labelList &pointMap)
 

Static Public Member Functions

static labelListList addedCells (const polyMesh &, const labelListList &layerFaces)
 
static labelListList globalEdgeFaces (const polyMesh &, const globalIndex &globalFaces, const indirectPrimitivePatch &pp)
 
static void calcExtrudeInfo (const bool zoneFromAnyFace, const polyMesh &, const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const indirectPrimitivePatch &pp, labelList &edgePatchID, label &nPatches, Map< label > &nbrProcToPatch, Map< label > &patchToNbrProc, labelList &edgeZoneID, boolList &edgeFlip, labelList &inflateFaceID)
 

Detailed Description

Adds layers of cells to outside of polyPatch. Can optionally create stand-alone extruded mesh (addToMesh=false).

Call setRefinement with offset vector for every patch point and number of layers per patch face and number of layers per patch point.

    Was:

       a      b         <- patch of boundary face
    +------+------+
    |      |      |     <- original cells
    +------+------+

    Becomes:

       a      b         <- patch of boundary face
    +------+------+
    +      +------+
    +------+------+
    +------+------+
    |      |      |     <- original cells
    +------+------+

E.g. 3 boundary faces on patches a,b. b gets extruded, a doesn't.

       a      b      b        <- patch of boundary face
    +------+------+------+
    |      |      |      |    <- cells
    +------+------+------+


           ^      ^           <- wanted extrusion vector (none at far right)
       a   |  b   |  b        <- patch of boundary face
    +------+------+------+
    |      |      |      |    <- cells
    +------+------+------+

              b
           +------+\ b        1. prism cell added onto second b face since
       a  a|      | ----\          only one side gets extruded.
    +------+------+------+    2. side-face gets patch a, not b.
    |      |      |      |
    +------+------+------+
Source files

Definition at line 124 of file addPatchCellLayer.H.

Constructor & Destructor Documentation

◆ addPatchCellLayer()

addPatchCellLayer ( const polyMesh mesh,
const bool  addToMesh = true 
)
explicit

Definition at line 592 of file addPatchCellLayer.C.

Member Function Documentation

◆ ClassName()

ClassName ( "addPatchCellLayer"  )

◆ addedPoints()

const labelListList& addedPoints ( ) const
inline

Definition at line 303 of file addPatchCellLayer.H.

◆ layerFaces()

const labelListList& layerFaces ( ) const
inline

Definition at line 309 of file addPatchCellLayer.H.

◆ addedCells() [1/2]

Foam::labelListList addedCells ( const polyMesh mesh,
const labelListList layerFaces 
)
static

Definition at line 607 of file addPatchCellLayer.C.

References polyMesh::faceNeighbour(), forAll, mesh, and List::setSize().

Here is the call graph for this function:

◆ addedCells() [2/2]

Foam::labelListList addedCells ( ) const

Definition at line 633 of file addPatchCellLayer.C.

◆ globalEdgeFaces()

Foam::labelListList globalEdgeFaces ( const polyMesh mesh,
const globalIndex globalFaces,
const indirectPrimitivePatch pp 
)
static

◆ calcExtrudeInfo()

void calcExtrudeInfo ( const bool  zoneFromAnyFace,
const polyMesh mesh,
const globalIndex globalFaces,
const labelListList globalEdgeFaces,
const indirectPrimitivePatch pp,
labelList edgePatchID,
label &  nPatches,
Map< label > &  nbrProcToPatch,
Map< label > &  patchToNbrProc,
labelList edgeZoneID,
boolList edgeFlip,
labelList inflateFaceID 
)
static

◆ setRefinement() [1/2]

void setRefinement ( const globalIndex globalFaces,
const labelListList globalEdgeFaces,
const scalarField expansionRatio,
const indirectPrimitivePatch pp,
const labelList sidePatchID,
const labelList sideZoneID,
const boolList sideFlip,
const labelList inflateFaceID,
const labelList exposedPatchID,
const labelList nFaceLayers,
const labelList nPointLayers,
const vectorField firstLayerDisp,
polyTopoChange meshMod 
)

◆ setRefinement() [2/2]

void setRefinement ( const globalIndex globalFaces,
const labelListList globalEdgeFaces,
const label  nLayers,
const indirectPrimitivePatch pp,
const labelList sidePatchID,
const vectorField overallDisplacement,
polyTopoChange meshMod 
)
inline

◆ updateMesh()

void updateMesh ( const mapPolyMesh morphMap,
const labelList faceMap,
const labelList pointMap 
)

Definition at line 2372 of file addPatchCellLayer.C.

References Foam::faceMap(), forAll, newPointi, mapPolyMesh::reverseFaceMap(), mapPolyMesh::reversePointMap(), and List::setSize().

Referenced by snappyLayerDriver::addLayers().

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: