37#ifndef snappyRefineDriver_H
38#define snappyRefineDriver_H
55class refinementParameters;
58class decompositionMethod;
59class fvMeshDistribute;
104 void estimateCellSizeAndCount
110 label featureEdgeRefine
114 const label minRefine
118 label smallFeatureRefine
125 label surfaceOnlyRefine
129 const label leakBlockageIter
140 label surfaceProximityBlock
147 label bigGapOnlyRefine
150 const bool spreadGapSize,
155 label danglingCellRefine
163 label refinementInterfaceRefine
178 label boundaryRefinementInterfaceRefine
185 void removeInsideCells
188 const label nBufferLayers
201 label directionalShellRefine
208 void mergeAndSmoothRatio
211 const label nSmoothExpansion,
220 void baffleAndSplitMesh
224 const bool handleSnapProblems,
235 void splitAndMergeBaffles
239 const bool handleSnapProblems,
279 const bool dryRun =
false
291 const bool prepareForSnapping,
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A HashTable similar to std::unordered_map.
An ordered pair of two objects of type <T> with first() and second() elements.
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
Base class for writing coordSet(s) and tracks with fields.
Abstract base class for domain decomposition.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing.
Helper class which maintains intersections of (changing) mesh with (static) surfaces.
FaceMergeType
Enumeration for what to do with co-planar patch faces on a single.
Simple container to keep together refinement specific information.
Simple container to keep together snap specific information.
ClassName("snappyRefineDriver")
Runtime type information.
static void addFaceZones(meshRefinement &meshRefiner, const refinementParameters &refineParams, const HashTable< Pair< word > > &faceZoneToPatches)
Helper: add faceZones and patches.
void doRefine(const dictionary &refineDict, const refinementParameters &refineParams, const snapParameters &snapParams, const bool prepareForSnapping, const meshRefinement::FaceMergeType mergeType, const dictionary &motionDict)
Do all the refinement.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))