37#ifndef snappyRefineDriver_H
38#define snappyRefineDriver_H
66class snappyRefineDriver
107 void estimateCellSizeAndCount
113 label featureEdgeRefine
117 const label minRefine
121 label smallFeatureRefine
128 label surfaceOnlyRefine
132 const label leakBlockageIter
143 label surfaceProximityBlock
150 label bigGapOnlyRefine
153 const bool spreadGapSize,
158 label danglingCellRefine
166 label refinementInterfaceRefine
181 label boundaryRefinementInterfaceRefine
188 void removeInsideCells
191 const label nBufferLayers
204 label directionalShellRefine
211 void mergeAndSmoothRatio
214 const label nSmoothExpansion,
223 void baffleAndSplitMesh
227 const bool handleSnapProblems,
238 void splitAndMergeBaffles
242 const bool handleSnapProblems,
247 void erodeNonManifoldZoneFaces
265 snappyRefineDriver(
const snappyRefineDriver&) =
delete;
268 void operator=(
const snappyRefineDriver&) =
delete;
289 const bool dryRun =
false
301 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.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
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.
Mesh data needed to do the Finite Volume discretisation.
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.
A class for managing references or pointers (no reference counting).
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.
HashTable< word, wordPair, Foam::Hash< wordPair > > wordPairHashTable
HashTable of wordPair.
List< label > labelList
A List of labels.
Vector< label > labelVector
Vector of labels.
UList< label > labelUList
A UList of labels.
List< scalar > scalarList
List of scalar.