Loading...
Searching...
No Matches
snappyLayerDriver Class Reference

All to do with adding layers. More...

#include <snappyLayerDriver.H>

Public Types

enum  extrudeMode { NOEXTRUDE , EXTRUDE , EXTRUDEREMOVE }
 Extrusion controls. More...

Public Member Functions

 ClassName ("snappyLayerDriver")
 Runtime type information.
 snappyLayerDriver (meshRefinement &meshRefiner, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, const bool dryRun=false)
 Construct from components.
label mergePatchFacesUndo (const layerParameters &layerParams, const dictionary &motionDict, const meshRefinement::FaceMergeType mergeType)
 Merge patch faces on same cell. Return total number of faces/edges changed.
void addLayers (const layerParameters &layerParams, const label nLayerIter, const dictionary &motionDict, const label nRelaxedIter, const label nAllowableErrors, const labelList &patchIDs, const labelList &internalFaceZones, const List< labelPair > &baffles, const labelList &numLayers, const label nIdealTotAddedCells, const globalIndex &globalFaces, indirectPrimitivePatch &pp, const labelListList &edgeGlobalFaces, const labelList &edgePatchID, const labelList &edgeZoneID, const boolList &edgeFlip, const labelList &inflateFaceID, const scalarField &thickness, const scalarIOField &minThickness, const scalarField &expansionRatio, vectorField &patchDisp, labelList &patchNLayers, List< extrudeMode > &extrudeStatus, polyTopoChange &savedMeshMod, labelList &cellNLayers, scalarField &faceRealThickness)
void addLayers (const layerParameters &layerParams, const dictionary &motionDict, const labelList &patchIDs, const label nAllowableErrors, decompositionMethod &decomposer, fvMeshDistribute &distributor)
 Add cell layers.
void addLayersSinglePass (const layerParameters &layerParams, const dictionary &motionDict, const labelList &patchIDs, const label nAllowableErrors, decompositionMethod &decomposer, fvMeshDistribute &distributor)
 For debugging. Can be removed.
void doLayers (const dictionary &shrinkDict, const dictionary &motionDict, const layerParameters &layerParams, const meshRefinement::FaceMergeType mergeType, const bool preBalance, decompositionMethod &decomposer, fvMeshDistribute &distributor)
 Add layers according to the dictionary settings.

Static Public Member Functions

static void determineSidePatches (meshRefinement &meshRefiner, const globalIndex &globalFaces, const labelListList &edgeGlobalFaces, const indirectPrimitivePatch &pp, labelList &edgePatchID, labelList &edgeZoneID, boolList &edgeFlip, labelList &inflateFaceID)
 Helper: see what zones and patches edges should be extruded into.
static autoPtr< mapPolyMeshdupFaceZonePoints (meshRefinement &meshRefiner, const labelList &patchIDs, const labelList &numLayers, List< labelPair > baffles, labelList &pointToMaster)
 Duplicate points on faceZones with layers. Re-used when adding buffer layers. Can be made private again once multi-side layer addition working.
static void mapFaceZonePoints (meshRefinement &meshRefiner, const mapPolyMesh &map, labelPairList &baffles, labelList &pointToMaster)
 Map numbering after adding cell layers.

Detailed Description

All to do with adding layers.

Source files

Definition at line 58 of file snappyLayerDriver.H.

Member Enumeration Documentation

◆ extrudeMode

Extrusion controls.

Enumerator
NOEXTRUDE 

Do not extrude. No layers added.

EXTRUDE 

Extrude.

EXTRUDEREMOVE 

Extrude but afterwards remove added faces locally

Definition at line 67 of file snappyLayerDriver.H.

Constructor & Destructor Documentation

◆ snappyLayerDriver()

snappyLayerDriver ( meshRefinement & meshRefiner,
const labelList & globalToMasterPatch,
const labelList & globalToSlavePatch,
const bool dryRun = false )

Construct from components.

Definition at line 4618 of file snappyLayerDriver.C.

Member Function Documentation

◆ ClassName()

ClassName ( "snappyLayerDriver" )

Runtime type information.

References patchIDs, and pp().

Here is the call graph for this function:

◆ mergePatchFacesUndo()

Foam::label mergePatchFacesUndo ( const layerParameters & layerParams,
const dictionary & motionDict,
const meshRefinement::FaceMergeType mergeType )

Merge patch faces on same cell. Return total number of faces/edges changed.

Definition at line 4635 of file snappyLayerDriver.C.

References layerParameters::concaveAngle(), Foam::cos(), Foam::degToRad(), Foam::endl(), localPointRegion::findDuplicateFacePairs(), forAll, Foam::Info, layerParameters::mergePatchFacesAngle(), mesh, and Foam::nl.

Referenced by doLayers().

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

◆ addLayers() [1/2]

void addLayers ( const layerParameters & layerParams,
const label nLayerIter,
const dictionary & motionDict,
const label nRelaxedIter,
const label nAllowableErrors,
const labelList & patchIDs,
const labelList & internalFaceZones,
const List< labelPair > & baffles,
const labelList & numLayers,
const label nIdealTotAddedCells,
const globalIndex & globalFaces,
indirectPrimitivePatch & pp,
const labelListList & edgeGlobalFaces,
const labelList & edgePatchID,
const labelList & edgeZoneID,
const boolList & edgeFlip,
const labelList & inflateFaceID,
const scalarField & thickness,
const scalarIOField & minThickness,
const scalarField & expansionRatio,
vectorField & patchDisp,
labelList & patchNLayers,
List< extrudeMode > & extrudeStatus,
polyTopoChange & savedMeshMod,
labelList & cellNLayers,
scalarField & faceRealThickness )

◆ addLayers() [2/2]

void addLayers ( const layerParameters & layerParams,
const dictionary & motionDict,
const labelList & patchIDs,
const label nAllowableErrors,
decompositionMethod & decomposer,
fvMeshDistribute & distributor )

◆ addLayersSinglePass()

◆ doLayers()

◆ determineSidePatches()

void determineSidePatches ( meshRefinement & meshRefiner,
const globalIndex & globalFaces,
const labelListList & edgeGlobalFaces,
const indirectPrimitivePatch & pp,
labelList & edgePatchID,
labelList & edgeZoneID,
boolList & edgeFlip,
labelList & inflateFaceID )
static

◆ dupFaceZonePoints()

◆ mapFaceZonePoints()


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