1 /*--------------------------------*- C++ -*----------------------------------*\
3 | \\ / F ield | foam-extend: Open Source CFD |
4 | \\ / O peration | Version: 3.2 |
5 | \\ / A nd | Web: http://www.foam-extend.org |
6 | \\/ M anipulation | |
7 \*---------------------------------------------------------------------------*/
13 object autoHexMeshDict;
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 // Which of the steps to run
22 // Geometry. Definition of all surfaces. All surfaces are of class
25 // - to specify refinement for any mesh cell intersecting it
26 // - to specify refinement for any mesh cell inside/outside/near
27 // - to 'snap' the mesh boundary to the surface
62 // type searchableBox;
63 // min (-0.3 -0.4 -0.1);
64 // max ( 3.0 0.4 1.4);
68 // Settings for the castellatedMesh generation.
69 castellatedMeshControls
72 // Refinement parameters
73 // ~~~~~~~~~~~~~~~~~~~~~
75 // While refining maximum number of cells per processor. This is basically
76 // the number of cells that fit on a processor. If you choose this too small
77 // it will do just more refinement iterations to obtain a similar mesh.
78 maxLocalCells 1000000;
80 // Overall cell limit (approximately). Refinement will stop immediately
81 // upon reaching this number so a refinement level might not complete.
82 // Note that this is the number of cells before removing the part which
83 // is not 'visible' from the keepPoint. The final number of cells might
84 // actually be a lot less.
85 maxGlobalCells 2000000;
87 // The surface refinement loop might spend lots of iterations refining just a
88 // few cells. This setting will cause refinement to stop if <= minimumRefine
89 // are selected for refinement. Note: it will at least do one iteration
90 // (unless the number of cells to refine is 0)
91 minRefinementCells 10;
93 // Number of buffer layers between different levels.
94 // 1 means normal 2:1 refinement restriction, larger means slower
96 nCellsBetweenLevels 2;
98 // Explicit feature edge refinement
99 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101 // Specifies a level for any cell intersected by its edges.
102 // This is a featureEdgeMesh, read from constant/triSurface for now.
107 // Surface based refinement
108 // ~~~~~~~~~~~~~~~~~~~~~~~~
110 // Specifies two levels for every surface. The first is the minimum level,
111 // every cell intersecting a surface gets refined up to the minimum level.
112 // The second level is the maximum level. Cells that 'see' multiple
113 // intersections where the intersections make an
114 // angle > resolveFeatureAngle get refined up to the maximum level.
120 // Surface-wise min and max refinement level
130 // Surface-wise min and max refinement level
140 // Surface-wise min and max refinement level
150 // Surface-wise min and max refinement level
160 // Surface-wise min and max refinement level
169 // Resolve sharp angles
170 resolveFeatureAngle 30;
172 // Region-wise refinement
173 // ~~~~~~~~~~~~~~~~~~~~~~
175 // Specifies refinement level for cells in relation to a surface. One of
177 // - distance. 'levels' specifies per distance to the surface the
178 // wanted refinement level. The distances need to be specified in
180 // - inside. 'levels' is only one entry and only the level is used. All
181 // cells inside the surface get refined up to the level. The surface
182 // needs to be closed for this to be possible.
183 // - outside. Same but cells outside.
190 // levels ((1E15 4));
197 // After refinement patches get added for all refinementSurfaces and
198 // all cells intersecting the surfaces get put into these patches. The
199 // section reachable from the locationInMesh is kept.
200 // NOTE: This point should never be on a face, always inside a cell, even
202 locationInMesh (0.01 0.01 0.01);
205 // Settings for the snapping.
208 //- Number of patch smoothing iterations before finding correspondence
212 //- Relative distance for points to be attracted by surface feature point
213 // or edge. True distance is this factor times local
214 // maximum edge length.
217 //- Number of mesh displacement relaxation iterations.
220 //- Maximum number of snapping relaxation iterations. Should stop
221 // before upon reaching a correct mesh.
225 // Settings for the layer addition.
230 // Per final patch (so not geometry!) the layer information
233 //flowAirDuctReagent_flowAirDuctReagent
237 //flowAirDuctReagent_inlet1
241 //flowAirDuctReagent_inlet2
247 // Expansion factor for layer mesh
250 //- Wanted thickness of final added cell layer. If multiple layers
252 // thickness of the layer furthest away from the wall.
253 // Relative to undistorted size of cell outside layer.
254 finalLayerThickness 0.3;
256 //- Minimum thickness of cell layer. If for any reason layer
257 // cannot be above minThickness do not add layer.
258 // Relative to undistorted size of cell outside layer.
261 //- If points get not extruded do nGrow layers of connected faces that are
262 // also not grown. This helps convergence of the layer addition process
263 // close to features.
268 //- When not to extrude surface. 0 is flat surface, 90 is when two faces
269 // make straight angle.
272 //- Maximum number of snapping relaxation iterations. Should stop
273 // before upon reaching a correct mesh.
276 // Number of smoothing iterations of surface normals
277 nSmoothSurfaceNormals 1;
279 // Number of smoothing iterations of interior mesh movement direction
282 // Smooth layer thickness over surface patches
285 // Stop layer growth on highly warped cells
286 maxFaceThicknessRatio 0.5;
288 // Reduce layer growth where ratio thickness to medial
290 maxThicknessToMedialRatio 0.3;
292 // Angle used to pick up medial axis points
293 minMedianAxisAngle 130;
295 // Create buffer region for new layer terminations
296 nBufferCellsNoExtrude 0;
299 // Generic mesh quality settings. At any undoable phase these determine
303 //- Maximum non-orthogonality allowed. Set to 180 to disable.
306 //- Max skewness allowed. Set to <0 to disable.
307 maxBoundarySkewness 20;
308 maxInternalSkewness 4;
310 //- Max concaveness allowed. Is angle (in degrees) below which concavity
311 // is allowed. 0 is straight face, <0 would be convex face.
312 // Set to 180 to disable.
315 //- Minimum projected area v.s. actual area. Set to -1 to disable.
318 //- Minimum pyramid volume. Is absolute volume of cell pyramid.
319 // Set to very negative number (e.g. -1E30) to disable.
322 //- Minimum face area. Set to <0 to disable.
325 //- Minimum face twist. Set to <-1 to disable. dot product of face normal
326 //- and face centre triangles normal
329 //- minimum normalised cell determinant
330 //- 1 = hex, <= 0 = folded or flattened illegal cell
331 minDeterminant 0.001;
333 //- minFaceWeight (0 -> 0.5)
336 //- minVolRatio (0 -> 1)
339 //must be >0 for Fluent compatibility
344 //- Number of error distribution iterations
346 //- amount to scale back displacement at error points
352 // Flags for optional output
353 // 0 : only write final meshes
354 // 1 : write intermediate meshes
355 // 2 : write volScalarField with cellLevel for postprocessing
356 // 4 : write current intersections as .obj files
359 // Merge tolerance. Is fraction of overall bounding box of initial mesh.
360 // Note: the write tolerance needs to be higher than this.
363 // ************************************************************************* //