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;