Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
autoRefineDriver Class Reference
Collaboration diagram for autoRefineDriver:
Collaboration graph
[legend]

Public Member Functions

 ClassName ("autoRefineDriver")
 Runtime type information. More...
 
 autoRefineDriver (meshRefinement &meshRefiner, decompositionMethod &decomposer, fvMeshDistribute &distributor, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch)
 Construct from components. More...
 
void doRefine (const dictionary &refineDict, const refinementParameters &refineParams, const snapParameters &snapParams, const bool prepareForSnapping, const bool mergePatchFaces, const dictionary &motionDict)
 Do all the refinement. More...
 

Static Public Member Functions

static void addFaceZones (meshRefinement &meshRefiner, const refinementParameters &refineParams, const HashTable< Pair< word > > &faceZoneToPatches)
 Helper: add faceZones and patches. More...
 

Private Member Functions

label featureEdgeRefine (const refinementParameters &refineParams, const label maxIter, const label minRefine)
 Refine all cells pierced by explicit feature edges. More...
 
label smallFeatureRefine (const refinementParameters &refineParams, const label maxIter)
 Refine all cells containing small surface features. More...
 
label surfaceOnlyRefine (const refinementParameters &refineParams, const label maxIter)
 Refine all cells interacting with the surface. More...
 
label gapOnlyRefine (const refinementParameters &refineParams, const label maxIter)
 Refine all cells in small gaps. More...
 
label bigGapOnlyRefine (const refinementParameters &refineParams, const bool spreadGapSize, const label maxIter)
 Refine all cells in large gaps. More...
 
label danglingCellRefine (const refinementParameters &refineParams, const label nFaces, const label maxIter)
 Refine cells with almost all sides refined. More...
 
label refinementInterfaceRefine (const refinementParameters &refineParams, const label maxIter)
 Refine cells with opposite faces with differing refinement level. More...
 
void removeInsideCells (const refinementParameters &refineParams, const label nBufferLayers)
 Remove all cells within intersected region. More...
 
label shellRefine (const refinementParameters &refineParams, const label maxIter)
 Remove all cells inside/outside shell. More...
 
void baffleAndSplitMesh (const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict)
 Add baffles and remove unreachable cells. More...
 
void zonify (const refinementParameters &refineParams, wordPairHashTable &zonesToFaceZone)
 Add zones. More...
 
void splitAndMergeBaffles (const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict)
 
void mergePatchFaces (const bool geometricMerge, const refinementParameters &refineParams, const dictionary &motionDict)
 Merge refined boundary faces (from exposing coarser cell) More...
 
 autoRefineDriver (const autoRefineDriver &)
 Disallow default bitwise copy construct. More...
 
void operator= (const autoRefineDriver &)
 Disallow default bitwise assignment. More...
 

Private Attributes

meshRefinementmeshRefiner_
 Mesh+surface. More...
 
decompositionMethoddecomposer_
 Reference to decomposition method. More...
 
fvMeshDistributedistributor_
 Reference to mesh distribution engine. More...
 
const labelList globalToMasterPatch_
 From surface region to patch. More...
 
const labelList globalToSlavePatch_
 From surface region to patch. More...
 

Detailed Description

Source files

Definition at line 56 of file autoRefineDriver.H.

Constructor & Destructor Documentation

◆ autoRefineDriver() [1/2]

autoRefineDriver ( const autoRefineDriver )
private

Disallow default bitwise copy construct.

◆ autoRefineDriver() [2/2]

autoRefineDriver ( meshRefinement meshRefiner,
decompositionMethod decomposer,
fvMeshDistribute distributor,
const labelList globalToMasterPatch,
const labelList globalToSlavePatch 
)

Construct from components.

Definition at line 57 of file autoRefineDriver.C.

Member Function Documentation

◆ featureEdgeRefine()

Foam::label featureEdgeRefine ( const refinementParameters refineParams,
const label  maxIter,
const label  minRefine 
)
private

◆ smallFeatureRefine()

Foam::label smallFeatureRefine ( const refinementParameters refineParams,
const label  maxIter 
)
private

◆ surfaceOnlyRefine()

Foam::label surfaceOnlyRefine ( const refinementParameters refineParams,
const label  maxIter 
)
private

◆ gapOnlyRefine()

Foam::label gapOnlyRefine ( const refinementParameters refineParams,
const label  maxIter 
)
private

◆ bigGapOnlyRefine()

Foam::label bigGapOnlyRefine ( const refinementParameters refineParams,
const bool  spreadGapSize,
const label  maxIter 
)
private

◆ danglingCellRefine()

Foam::label danglingCellRefine ( const refinementParameters refineParams,
const label  nFaces,
const label  maxIter 
)
private

◆ refinementInterfaceRefine()

Foam::label refinementInterfaceRefine ( const refinementParameters refineParams,
const label  maxIter 
)
private

◆ removeInsideCells()

void removeInsideCells ( const refinementParameters refineParams,
const label  nBufferLayers 
)
private

Remove all cells within intersected region.

Definition at line 1290 of file autoRefineDriver.C.

References Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::locationsOutsideMesh(), mesh, MESH, Foam::nl, Foam::Pout, Ostream::write(), and refinementParameters::zonesInMesh().

Here is the call graph for this function:

◆ shellRefine()

Foam::label shellRefine ( const refinementParameters refineParams,
const label  maxIter 
)
private

◆ baffleAndSplitMesh()

void baffleAndSplitMesh ( const refinementParameters refineParams,
const snapParameters snapParams,
const bool  handleSnapProblems,
const dictionary motionDict 
)
private

◆ zonify()

void zonify ( const refinementParameters refineParams,
wordPairHashTable zonesToFaceZone 
)
private

◆ splitAndMergeBaffles()

void splitAndMergeBaffles ( const refinementParameters refineParams,
const snapParameters snapParams,
const bool  handleSnapProblems,
const dictionary motionDict 
)
private

◆ mergePatchFaces()

void mergePatchFaces ( const bool  geometricMerge,
const refinementParameters refineParams,
const dictionary motionDict 
)
private

Merge refined boundary faces (from exposing coarser cell)

Definition at line 1836 of file autoRefineDriver.C.

References Foam::cos(), Foam::degToRad(), Foam::endl(), Foam::Info, mesh, and Foam::nl.

Here is the call graph for this function:

◆ operator=()

void operator= ( const autoRefineDriver )
private

Disallow default bitwise assignment.

◆ ClassName()

ClassName ( "autoRefineDriver"  )

Runtime type information.

◆ doRefine()

void doRefine ( const dictionary refineDict,
const refinementParameters refineParams,
const snapParameters snapParams,
const bool  prepareForSnapping,
const bool  mergePatchFaces,
const dictionary motionDict 
)

Do all the refinement.

Definition at line 1887 of file autoRefineDriver.C.

References Foam::endl(), refinementParameters::findCells(), Pair::first(), forAll, Foam::Info, HashTable::insert(), refinementParameters::locationsInMesh(), Foam::help::mergePatchFaces(), mesh, Foam::nl, patches, scalarField(), Pair::second(), HashTable::size(), and HashTable::sortedToc().

Referenced by main().

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

◆ addFaceZones()

void addFaceZones ( meshRefinement meshRefiner,
const refinementParameters refineParams,
const HashTable< Pair< word > > &  faceZoneToPatches 
)
static

Helper: add faceZones and patches.

Definition at line 1762 of file autoRefineDriver.C.

References meshRefinement::addFaceZone(), meshRefinement::addMeshedPatch(), Foam::endl(), forAllConstIter(), refinementParameters::getZoneInfo(), Foam::Info, mesh, meshRefinement::mesh(), Foam::nl, patchNames(), Foam::setf(), and Foam::setw().

Referenced by main().

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

Field Documentation

◆ meshRefiner_

meshRefinement& meshRefiner_
private

Mesh+surface.

Definition at line 61 of file autoRefineDriver.H.

◆ decomposer_

decompositionMethod& decomposer_
private

Reference to decomposition method.

Definition at line 64 of file autoRefineDriver.H.

◆ distributor_

fvMeshDistribute& distributor_
private

Reference to mesh distribution engine.

Definition at line 67 of file autoRefineDriver.H.

◆ globalToMasterPatch_

const labelList globalToMasterPatch_
private

From surface region to patch.

Definition at line 70 of file autoRefineDriver.H.

◆ globalToSlavePatch_

const labelList globalToSlavePatch_
private

From surface region to patch.

Definition at line 73 of file autoRefineDriver.H.


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