Go to the documentation of this file.
34 #ifndef autoRefineDriver_H
35 #define autoRefineDriver_H
46 class refinementParameters;
50 class decompositionMethod;
51 class fvMeshDistribute;
112 const bool spreadGapSize,
135 const label nBufferLayers
150 const bool handleSnapProblems,
165 const bool handleSnapProblems,
172 const bool geometricMerge,
211 const bool prepareForSnapping,
meshRefinement & meshRefiner_
Mesh+surface.
static void addFaceZones(meshRefinement &meshRefiner, const refinementParameters &refineParams, const HashTable< Pair< word > > &faceZoneToPatches)
Helper: add faceZones and patches.
decompositionMethod & decomposer_
Reference to decomposition method.
void baffleAndSplitMesh(const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict)
Add baffles and remove unreachable cells.
void removeInsideCells(const refinementParameters &refineParams, const label nBufferLayers)
Remove all cells within intersected region.
void splitAndMergeBaffles(const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict)
label refinementInterfaceRefine(const refinementParameters &refineParams, const label maxIter)
Refine cells with opposite faces with differing refinement level.
label bigGapOnlyRefine(const refinementParameters &refineParams, const bool spreadGapSize, const label maxIter)
Refine all cells in large gaps.
void zonify(const refinementParameters &refineParams, wordPairHashTable &zonesToFaceZone)
Add zones.
label featureEdgeRefine(const refinementParameters &refineParams, const label maxIter, const label minRefine)
Refine all cells pierced by explicit feature edges.
label gapOnlyRefine(const refinementParameters &refineParams, const label maxIter)
Refine all cells in small gaps.
Simple container to keep together snap specific information.
const labelList globalToMasterPatch_
From surface region to patch.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void mergePatchFaces(const bool geometricMerge, const refinementParameters &refineParams, const dictionary &motionDict)
Merge refined boundary faces (from exposing coarser cell)
Simple container to keep together refinement specific information.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for decomposition.
void operator=(const autoRefineDriver &)
Disallow default bitwise assignment.
label danglingCellRefine(const refinementParameters &refineParams, const label nFaces, const label maxIter)
Refine cells with almost all sides refined.
autoRefineDriver(const autoRefineDriver &)
Disallow default bitwise copy construct.
An STL-conforming hash table.
label smallFeatureRefine(const refinementParameters &refineParams, const label maxIter)
Refine all cells containing small surface features.
fvMeshDistribute & distributor_
Reference to mesh distribution engine.
label surfaceOnlyRefine(const refinementParameters &refineParams, const label maxIter)
Refine all cells interacting with the surface.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void doRefine(const dictionary &refineDict, const refinementParameters &refineParams, const snapParameters &snapParams, const bool prepareForSnapping, const bool mergePatchFaces, const dictionary &motionDict)
Do all the refinement.
Helper class which maintains intersections of (changing) mesh with (static) surfaces.
label shellRefine(const refinementParameters &refineParams, const label maxIter)
Remove all cells inside/outside shell.
const labelList globalToSlavePatch_
From surface region to patch.
Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing.
ClassName("autoRefineDriver")
Runtime type information.