openfoam/tutorials/mesh/snappyHexMesh/faceZoneRegions/system/snappyHexMeshDict
2021-06-08 20:14:09 +00:00

168 lines
3.9 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2012 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"
castellatedMesh on;
snap on;
addLayers off;
geometry
{
dummy
{
type box;
min (0 0 0);
max (1 1 1);
}
fixed.obj
{
// Rename some of the regions inside the obj file
type triSurfaceMesh;
name fixed;
regions
{
patch0 { name slipWall; }
patch1 { name outlet; }
patch2 { name inlet; }
}
}
box-randomAligned.stl
{
// Rename some of the regions inside the obj file
type triSurfaceMesh;
name rotatingZone;
regions
{
front { name myFront; }
}
}
}
castellatedMeshControls
{
features
(
{ file "fixed.eMesh"; level 2; }
{ file "rotatingZone.eMesh"; level 4; }
);
refinementSurfaces
{
fixed
{
level (2 2);
patchInfo { type wall; }
inGroups (fixed);
// Override per-patch information
regions
{
patch0
{
level (3 3);
patchInfo { type patch; }
}
patch1
{
level (2 2);
patchInfo { type patch; }
}
patch2
{
level (2 2);
patchInfo { type patch; }
}
}
}
rotatingZone
{
level (4 4);
// How to handle faceZones
// a. no faceZone. No keyword 'faceZone' or 'faceZoneNaming'
// b. single user-specified faceZone:
// faceZone myZone;
// c. faceZones according to the surface/region:
// faceZoneNaming region;
// c. faceZones according to the surface/region
faceZoneNaming region;
cellZone rotatingZone;
cellZoneInside inside;
}
}
refinementRegions
{
fixed
{
mode inside;
levels ((1e-5 1));
}
rotatingZone
{
mode inside;
levels ((1e-5 4));
}
}
locationInMesh (1e-5 -1e-2 1e-5);// Offset from (0 0 0) to avoid
// coinciding with face or edge and keep
// away from disk itself
allowFreeStandingZoneFaces false;
// Optional: switch off topological test for cells to-be-squashed
// and use geometric test instead
useTopologicalSnapDetection false;
}
snapControls
{
tolerance 1.0;
implicitFeatureSnap true;
strictRegionSnap true;
}
addLayersControls
{
layers
{
}
relativeSizes true; // false, usually with firstLayerThickness
expansionRatio 1.2;
finalLayerThickness 0.5;
minThickness 1e-3;
}
meshQualityControls
{
// minTetQuality -1e+30;
}
mergeTolerance 1e-6;
// ************************************************************************* //