168 lines
3.9 KiB
C++
168 lines
3.9 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
| ========= | |
|
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
| \\ / O peration | Version: v2306 |
|
|
| \\ / 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;
|
|
|
|
|
|
// ************************************************************************* //
|