Beruflich Dokumente
Kultur Dokumente
of snappyHexMesh
with HELYXOS
Paolo Geremia, Engys Srl, Italy
Eugene de Villiers, Engys Ltd, UK
Workshop "HPC enabling of OpenFOAM for CFD applications, 26-28 November 2012,
Bologna, Italy
These products are not approved or endorsed by ESI Group.
info@engys.com | Tel: +39 040 8320483 | Fax: +39 040 3491012 | www.engys.com
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Background
Utility snappyHexMesh was developed by Mattijs
Janssens, Eugene de Villiers and Andrew Jackson
Engys continue to develop a version with enhanced features
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Definition
Utility snappyHexMesh is used to create high quality hexdominant meshes based on arbitrary geometry
Controlled by dictionary system/snappyHexMeshDict
This utility has the following key features:
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Usage
Define snappyHexMeshDict Execute snappyHexMesh
Execution:
snappyHexMesh [-noFunctionObjects ][-overwrite] [-parallel]
[-case dir] [-roots <(dir1 .. dirN)>] [-help]
Parallel execution available using mpirun
Requirements:
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Methodology
Step 1: Create base mesh
Note: Cells should be close to unit Aspect Ratio for optimum behaviour
STL or Nastran
(constant/triSurface)
NOTE: File names must not
contain any spaces, unusual
characters or begin with a
number. The same applies to the
names of the parts and regions
defined within the geometry files.
snappyHexMesh | Methodology
Step 2: Refine base mesh
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Methodology
Step 3: Remove unused cells
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Castellated
mesh
snappyHexMesh | Methodology
Step 4: Snap mesh to surface
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMesh | Methodology
Step 5: Add layers
Output to file
Note: All steps are automatic. Reproduced here for information purposes only.
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
HELYXOS
Incompressible
Compressible
Solver
simpleFoam
porousSimpleFoam
MRFSimpleFoam
buoyantBoussineqSimpleFoam
pisoFoam
pisoFoam
pimpleFoam
pimpleFoam
buoyantBoussineqPimpleFoam
rhoSimpleFoam
rhoPorousMRFSimpleFoam
rhoPimpleFoam
rhoPimpleFoam
rhoPorousMRFPimpleFoam
buoyantSimpleFoam
buoyantPimpleFoam
State
SIMPLE
SIMPLE
SIMPLE
SIMPLE
PISO
PISO
PIMPLE
PIMPLE
PIMPLE
SIMPLE
SIMPLE
PIMPLE
PIMPLE
PIMPLE
SIMPLE
PIMPLE
Turbulence
RANS
RANS
RANS
RANS
RANS
LES/DES
RANS
LES/DES
RANS
RANS
RANS
RANS
LES/DES
RANS
RANS
RANS
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Block Mesh
Surface Regions
Volume Regions
General Options
Surface Regions
Volume Regions
Key Features:
Compatible with snappyHexMesh
v2.1.x
Load existing geometry in STL
format
Create primitive shapes
Define surface and volume mesh
properties
Run mesh
Create Mesh
These products are not approved or endorsed by ESI Group.
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Automatic
Custom
blockMesh | Definition
Utility blockMesh is used to create simple block based
fully-structured hexahedral meshes
Controlled by dictionary constant/polyMesh/blockMeshDict
Each mesh block consists of 8 vertices and 12 edges in a fixed
order:
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
blockMesh | Usage
Define blockMeshDict Execute blockMesh
Execution:
blockMesh [-dict dictionary] [-case dir] [-blockTopology]
[-region name] [-help]
No parallel execution
Requirements:
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
blockMeshDict | Overview
Dictionary file consists of five main sections:
vertices Prescribe vertex locations for blocks
blocks Prescribe block topology and mesh settings
edges Prescribe curved edges
patches Prescribe surface patches for boundary
conditions
mergePatchPairs Merge disconnected meshed blocks
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
blockMeshDict | Headings
FoamFile
{
version
format
class
location
object
}
convertToMeters
2.0;
ascii;
dictionary;
"constant/polyMesh";
blockMeshDict;
1.0;
vertices
(
(0.0 0.0 -0.038)
(0.038 0.0 -0.038)
(0.076 0.0 -0.038)
(0.0 1.09 -0.038)
(0.038 1.09 -0.038)
(0.076 1.09 -0.038)
(0.0 2.18 -0.038)
(0.038 2.18 -0.038)
(0.076 2.18 -0.038)
(0.0 0.0 0.038)
(0.038 0.0 0.038)
(0.076 0.0 0.038)
(0.0 1.09 0.038)
(0.038 1.09 0.038)
(0.076 1.09 0.038)
(0.0 2.18 0.038)
(0.038 2.18 0.038)
(0.076 2.18 0.038)
);
File header
Keyword convertToMeters
Scale factor
Final mesh always in meters!
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
blockMeshDict | vertices
FoamFile
{
version
format
class
location
object
}
convertToMeters
2.0;
ascii;
dictionary;
"constant/polyMesh";
blockMeshDict;
1.0;
vertices
(
(0.0 0.0 -0.038)
(0.038 0.0 -0.038)
(0.076 0.0 -0.038)
(0.0 1.09 -0.038)
(0.038 1.09 -0.038)
(0.076 1.09 -0.038)
(0.0 2.18 -0.038)
(0.038 2.18 -0.038)
(0.076 2.18 -0.038)
(0.0 0.0 0.038)
(0.038 0.0 0.038)
(0.076 0.0 0.038)
(0.0 1.09 0.038)
(0.038 1.09 0.038)
(0.076 1.09 0.038)
(0.0 2.18 0.038)
(0.038 2.18 0.038)
(0.076 2.18 0.038)
);
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
blockMeshDict | blocks
blocks
(
hex
hex
hex
hex
);
(0
(1
(3
(4
1
2
4
5
4
5
7
8
3
4
6
7
edges();
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Mesh grading
blockMeshDict | patches
edges();
patches
(
wall ffmaxy
(
(6 15 16 7)
(7 16 17 8)
)
wall ffminy
(
(0 1 10 9)
(1 2 11 10)
)
wall cold
(
(3 12 15 6)
(0 9 12 3)
)
wall hot
(
(2 5 14 11)
(5 8 17 14)
)
empty frontAndBack
(
(0 3 4 1)
(1 4 5 2)
(3 6 7 4)
(4 7 8 5)
(9 10 13 12)
(10 11 14 13)
(12 13 16 15)
(13 14 17 16)
)
);
mergePatchPairs();
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Surface refinement
Feature lines
Distance-based refinement
Layer addition
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
File header
Keywords
Switch on/off mesh steps
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | geometry
FoamFile
{
version 2.0;
format ascii;
class
dictionary;
object autoHexMeshDict;
}
castellatedMesh true;
snap
true;
addLayers
false;
geometry
{
flange.stl
{
type triSurfaceMesh;
name flange;
}
sphereA
{
type searchableSphere;
centre (0 0 -0.012);
radius 0.003;
}
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
triSurfaceMesh;
geomA;
geomB.stl
{
type
distributedTriSurfaceMesh;
distributionType follow;
name
geomB;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
sphere
{
type searchableSphere;
centre (3 3 0);
radius 4;
}
cylinder
{
type
point1
point2
radius
}
searchableCylinder;
(0 0 0);
(1 0 0);
0.1;
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
searchablePlane;
planeType
pointAndNormal;
pointAndNormalDict
{
basePoint
(0 0 0);
normalVector (0 1 0);
}
}
plate
{
type
origin
span
}
searchablePlate;
(0 0 0);
(0.5 0.5 0);
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | Refinement
The first meshing stage is called
Refinement. This is where the initial block
mesh is refined based on surface and
volumetric refinement settings in the
castellatedMeshControls sub-dictionary
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
nCellsBetweenLevels 1
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
nCellsBetweenLevels 3
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
}
3
(
(0.0065 0.0075 -0.02375)
(0.0065 0.0075 0.00225)
(-0.0065 0.0075 -0.02375)
)
2
(
(0 1)
(1 2)
)
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
Level 0
Level 1
Level 1
Level 2
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
refinementSurfaces
{
flange
{
level (2 3);
patchInfo
{
type wall;
}
regions
{
*.inlet|*.outlet
{
level(3,4);
}
}
}
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Mesh Zones
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
Level 1
Level 1
Level 2
Level 2
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
Volume refinements
inside (outside)
distance
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
mode inside;
levels ((1E15 3));
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
Level 1
Level 1
Level 2
Level 2
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | castellatedMesh
castellatedMeshControls
{
maxGlobalCells 2000000;
minRefinementCells 0;
nCellsBetweenLevels 1;
features();
refinementSurfaces
{
flange
{
level (2 3);
regions{*.inlet|*.outlet{level(3,4);}}
}
sphereA
{
level (3 3);
faceZone zoneA; cellZone zoneA; cellZoneInside inside;
}
}
resolveFeatureAngle 30;
refinementRegions
{
sphereA
{
mode inside;
levels ((1E15 3));
}
}
locationInMesh (-9.23149e-05 -0.0025 -0.0025);
allowFreeStandingZoneFaces true;
}
Cell Zone
Face Zone
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
allowFreeStandingZoneFaces false;
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | snapControls
snapControls
{
nSmoothPatch 3;
tolerance 1.0;
nSolveIter 300;
nRelaxIter 5;
nFeatureSnapIter 10;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | snapControls
snapControls
{
nSmoothPatch 3;
tolerance 1.0;
nSolveIter 300;
nRelaxIter 5;
nFeatureSnapIter 10;
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
Contents
Introducing snappyHexMesh
HELYXOS
Base Mesh
Geometry Import
Castellated Mesh Controls
Snapping
Layer Controls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | Layers
The final meshing stage is called Layer
addition where a layer of cells is added
to a specified set of boundary patches.
This stage is controlled by the settings in
the addLayersControls sub-dictionary
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
featureAngle 45;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
featureAngle 180;
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
nSurfaceLayers >0
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
Medial Axis
nSurfaceLayers =0
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
nSurfaceLayers >0
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
Medial Axis
nSurfaceLayers =0
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | addLayersControls
addLayersControls
{
layers
{
"flange_.*"{nSurfaceLayers 1;}
}
finalLayerThickness 0.4;
expansionRatio 1.15;
minThickness 0.2;
relativeSizes true;
// Advanced settings
featureAngle 30;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
minMedianAxisAngle 80;
maxThicknessToMedialRatio 0.3;
maxFaceThicknessRatio 0.5;
nLayerIter 50;
meshQualityControls::relaxed.
nRelaxedIter 20;
nRelaxIter 5;
}
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
snappyHexMeshDict | meshQualityControls
During a run of snappyHexMesh the
mesh quality is constantly monitored.
If a mesh motion or topology change
introduces a poor quality cell or face
the motion or topology change is
undone to revert the mesh back to a
previously valid error free state
The mesh quality metrics used for
the checks are set in the subdictionary meshQualityControls
Copyright 2012 Engys. OPENFOAM and OpenCFD are registered trademarks of ESI Group.
ci
Ai
HELYXOS | Meshing