snappyLayerDriver Class Reference

All to do with adding layers. More...

Public Types

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

Public Member Functions

 ClassName ("snappyLayerDriver")
 Runtime type information. More...
 
 snappyLayerDriver (meshRefinement &meshRefiner, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, const bool dryRun=false)
 Construct from components. More...
 
void mergePatchFacesUndo (const layerParameters &layerParams, const dictionary &motionDict, const meshRefinement::FaceMergeType mergeType)
 Merge patch faces on same cell. More...
 
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. More...
 
void addLayersSinglePass (const layerParameters &layerParams, const dictionary &motionDict, const labelList &patchIDs, const label nAllowableErrors, decompositionMethod &decomposer, fvMeshDistribute &distributor)
 For debugging. Can be removed. More...
 
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. More...
 

Detailed Description

All to do with adding layers.

Source files

Definition at line 62 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 69 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 4614 of file snappyLayerDriver.C.

Member Function Documentation

◆ ClassName()

ClassName ( "snappyLayerDriver"  )

Runtime type information.

◆ mergePatchFacesUndo()

void mergePatchFacesUndo ( const layerParameters layerParams,
const dictionary motionDict,
const meshRefinement::FaceMergeType  mergeType 
)

Merge patch faces on same cell.

Definition at line 4631 of file snappyLayerDriver.C.

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

Here is the call 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 
)

Get baffles in newMesh numbering. Note that we cannot detect

baffles here since the points are duplicated

Definition at line 3918 of file snappyLayerDriver.C.

References dictionary::add(), layerParameters::additionalReporting(), addProfiling, fvMesh::clearOut(), layerParameters::dict(), Foam::endl(), mapPolyMesh::faceMap(), layerParameters::finalLayerThicknessRatio(), forAll, mapPolyMesh::hasMotionPoints(), Foam::identity(), Foam::Info, IOobject::instance(), meshRefinement::LAYERINFO, PrimitivePatch< FaceList, PointField >::localPoints(), Foam::mag(), polyTopoChange::makeMesh(), dictionary::merge(), mesh, meshRefinement::MESH, PrimitivePatch< FaceList, PointField >::movePoints(), fvMesh::movePoints(), polyMesh::moving(), fvMesh::name(), IOobject::name(), layerParameters::nBufferCellsNoExtrude(), Time::New(), primitiveMesh::nFaces(), layerParameters::nGrow(), primitiveMesh::nInternalFaces(), Foam::nl, PrimitivePatch< FaceList, PointField >::nPoints(), p, Time::path(), polyMesh::points(), mapPolyMesh::preMotionPoints(), IOobject::READ_IF_PRESENT, Foam::returnReduce(), motionSmootherAlgo::setDisplacement(), polyMesh::setInstance(), addPatchCellLayer::setRefinement(), List< T >::setSize(), polyTopoChange::shrink(), UList< T >::size(), dictionary::subDict(), meshRefinement::subsetBaffles(), fvMesh::time(), addPatchCellLayer::updateMesh(), fvMesh::updateMesh(), fvMesh::write(), Ostream::write(), meshRefinement::writeLevel(), meshRefinement::WRITEMESH, IOobject::writeOpt(), and Foam::Zero.

Referenced by snappyLayerDriver::addLayersSinglePass().

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

◆ addLayers() [2/2]

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

◆ addLayersSinglePass()

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

For debugging. Can be removed.

Definition at line 47 of file snappyLayerDriverSinglePass.C.

References snappyLayerDriver::addLayers(), surfaceZonesInfo::BAFFLE, meshRefinement::balance(), polyMesh::boundaryMesh(), hexRef8::cellLevel(), polyTopoChange::changeMesh(), fvMesh::clearOut(), meshRefinement::createZoneBaffles(), meshRefinement::dupNonManifoldBoundaryPoints(), Foam::endl(), snappyLayerDriver::EXTRUDE, mapPolyMesh::faceMap(), polyMesh::faceZones(), UList< T >::first(), forAll, HashTable< T, Key, Hash >::found(), meshRefinement::getFaceZoneInfo(), meshRefinement::getZones(), addPatchCellLayer::globalEdgeFaces(), mapPolyMesh::hasMotionPoints(), Foam::identity(), Foam::Info, surfaceZonesInfo::INTERNAL, meshRefinement::LAYERINFO, hexRef8::level0EdgeLength(), meshRefinement::makePatch(), mesh, meshRefinement::MESH, meshRefinement::mesh(), meshRefinement::meshCutter(), fvMesh::movePoints(), polyMesh::moving(), IOobject::name(), primitiveMesh::nCells(), primitiveMesh::nFaces(), Foam::nl, layerParameters::nLayerIter(), IOobject::NO_READ, nPoints, layerParameters::nRelaxedIter(), layerParameters::numLayers(), UPstream::parRun(), Time::path(), mapPolyMesh::preMotionPoints(), polyMesh::setInstance(), UPtrList< T >::size(), fvMesh::time(), meshRefinement::timeName(), meshRefinement::updateList(), meshRefinement::updateMesh(), fvMesh::updateMesh(), meshRefinement::write(), meshRefinement::writeLevel(), meshRefinement::WRITEMESH, and Foam::Zero.

Here is the call graph for this function:

◆ doLayers()


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