38#ifndef refinementParameters_H
39#define refinementParameters_H
64 const label maxGlobalCells_;
67 const label maxLocalCells_;
70 const label minRefineCells_;
76 const scalar planarAngle_;
79 const label nBufferLayers_;
91 const bool useLeakClosure_;
102 const Switch allowFreeStandingZoneFaces_;
106 const Switch useTopologicalSnapDetection_;
109 const scalar maxLoadUnbalance_;
111 const Switch handleSnapProblems_;
113 const Switch interfaceRefine_;
115 const label nErodeCellZone_;
117 const label nFilterIter_;
119 const scalar minCellFraction_;
121 const label nMinCells_;
150 return maxGlobalCells_;
156 return maxLocalCells_;
162 return minRefineCells_;
180 return nBufferLayers_;
186 return locationsInMesh_;
198 return locationsOutsideMesh_;
208 return useLeakClosure_;
215 return allowFreeStandingZoneFaces_;
222 return useTopologicalSnapDetection_;
228 return maxLoadUnbalance_;
233 return handleSnapProblems_;
239 return interfaceRefine_;
245 return nErodeCellZone_;
259 return minCellFraction_;
286 const bool checkInsideMesh,
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh consisting of general polyhedral cells.
Simple container to keep together refinement specific information.
scalar planarAngle() const
Angle when two intersections are considered to be planar.
label maxLocalCells() const
Per processor max number of cells.
bool useLeakClosure() const
Whether to attempt to close any 'leak' between.
scalar curvature() const
Curvature.
scalar minCellFraction() const
When are disconnected regions small. Fraction of overall size.
static labelList unzonedLocations(const wordList &zonesInMesh)
Extract indices of unnamed locations ('keepPoints')
labelList addCellZonesToMesh(polyMesh &) const
Add cellZones to mesh. Return indices of cellZones (or -1)
label minRefineCells() const
When to stop refining.
static labelList zonedLocations(const wordList &zonesInMesh)
Extract indices of named locations (so excludes 'keepPoints')
bool useTopologicalSnapDetection() const
Use old topology based problem-cell removal.
label nMinCells() const
When are disconnected regions small. Absolute number of cells.
const pointField & locationsOutsideMesh() const
Optional points which are checked to be outside the mesh.
static labelList findCells(const bool checkInsideMesh, const polyMesh &, const pointField &locations)
Checks that cells are in mesh. Returns cells (or -1) they.
const pointField & locationsInMesh() const
Areas to keep.
static List< pointField > zonePoints(const pointField &locationsInMesh, const wordList &zonesInMesh, const pointField &locationsOutsideMesh)
Helper: per zone (entry in zonesInMesh) the locations with.
dictionary getZoneInfo(const word &fzName, surfaceZonesInfo::faceZoneType &faceType) const
Get patchInfo and faceType for faceZone.
scalar maxLoadUnbalance() const
Allowed load unbalance.
bool allowFreeStandingZoneFaces() const
Are zone faces allowed only inbetween different cell zones.
label maxGlobalCells() const
Total number of cells.
bool handleSnapProblems() const
label nBufferLayers() const
Number of layers between different refinement levels.
const wordList & zonesInMesh() const
Per area the zone name.
label nErodeCellZone() const
Number of iterations of erosion to get a consistent cellZone.
bool interfaceRefine() const
Refine cell with opposite faces with different refinement level.
label nFilterIter() const
Number of iterations of infill/erosion to get a smoother.
faceZoneType
What to do with faceZone faces.
A class for handling words, derived from Foam::string.
List< word > wordList
A List of words.
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.