snappyHexMesh为何怎么划分 还是会出现不均匀的错误网格?。快疯了 求解答下0_1503045662410_屏幕快照 2017-08-18 下午5.38.07.png !
这个是snappyHexMeshDic
castellatedMesh true; // make basic mesh ?
snap true; // decide to snap back to surface ?
addLayers true; // decide to add viscous layers ?
geometry // Load in STL files here
{
inlet.stl {type triSurfaceMesh; name inlet;}
outlet.stl {type triSurfaceMesh; name outlet;}
part1.stl {type triSurfaceMesh; name part1;}
part2.stl {type triSurfaceMesh; name part2;}
volume.stl {type triSurfaceMesh; name volume;}
};
castellatedMeshControls
{
maxLocalCells 1000000; //max cells per CPU core
maxGlobalCells 2000000; //max cells to use before mesh deletion step
minRefinementCells 0; //was 0 - zero means no bad cells are allowed during refinement stages
maxLoadUnbalance 0.1;
nCellsBetweenLevels 1; // expansion factor between each high & low refinement zone
// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
features // taken from STL from each .eMesh file created by "SurfaceFeatureExtract" command
(
{file "inlet.eMesh"; level 0;}
{file "outlet.eMesh"; level 0;}
{file "part1.eMesh"; level 0;}
{file "part2.eMesh"; level 0;}
);
// Surface based refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~
refinementSurfaces // Surface-wise min and max refinement level
{
inlet {level (0 0);}
outlet {level (0 0);}
part1 {level (0 0);}
part2 {level (0 0);}
}
resolveFeatureAngle 80; // Resolve sharp angles // Default 30
refinementRegions // In descending levels of fine-ness
{} // was ((0.001 4) (0.003 3) (0.01 2))
locationInMesh (0.01 0 0); //to decide which side of mesh to keep **
allowFreeStandingZoneFaces true;
}
// Settings for the snapping.
snapControls
{
nSmoothPatch 3;
tolerance 2.0;
nSolveIter 30;
nRelaxIter 5;
nFeatureSnapIter 10; // default is 10
// New settings from openfoam 2.2 onwards for SHMesh
implicitFeatureSnap false; // default is false - detects without doing surfaceFeatureExtract
explicitFeatureSnap true; // default is true
multiRegionFeatureSnap false; // deafault is false - detects features between multiple surfaces
}
addLayersControls //add the PATCH names from inside the STL file so STLpatchName_insideSTLName
{
relativeSizes false; // was true
layers
{
}
expansionRatio 1.3;
finalLayerThickness 0.00016; //was 0.00016
minThickness 0.00008; //was 0.00008
nGrow 0; // was 1
// Advanced settings
featureAngle 80; // was 70 //- When not to extrude surface. 0 is flat, 90 is right angle.
nRelaxIter 3; //- Max# of snapping relaxation iter. Should stop before upon reaching a correct mesh.
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 10;
maxFaceThicknessRatio 0.5;
maxThicknessToMedialRatio 0.3;
thickness to medial distance is large
minMedianAxisAngle 130;
nBufferCellsNoExtrude 0;
nLayerIter 50;
}
meshQualityControls
{
maxNonOrtho 65;
maxBoundarySkewness 20;
maxInternalSkewness 4;
maxConcave 80;
minFlatness 0.5;
minVol 1e-13;
minTetQuality 1e-9;
minArea -1;
minTwist 0.02;
minDeterminant 0.001;
minFaceWeight 0.02;
minVolRatio 0.01;
minTriangleTwist -1;
// Advanced
nSmoothScale 4;
errorReduction 0.75;
}
// Advanced
debug 0;
mergeTolerance 1E-6;