|
[Sponsors] |
[snappyHexMesh] avoiding bump on patches with no layers |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 5, 2015, 12:18 |
avoiding bump on patches with no layers
|
#1 |
Senior Member
|
Hi all,
I'm looking for help as I can't understand how to avoid bump on patches with no layers. Enclosed you can see 2 pictures: one is after snapping process, the other is after layer addition. Patches that don't have layer become distorted after layer addition, you can see it on the cylindrical patch. How can I solve? Here's my SHM dict Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object snappyHexMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Which of the steps to run castellatedMesh false; // make basic mesh ? snap false; // decide to snap back to surface ? addLayers true; // decide to add viscous layers ? geometry // Load in STL files here { amiRot1.stl {type triSurfaceMesh; name amiRot1;} amiRot2.stl {type triSurfaceMesh; name amiRot2;} blade.stl {type triSurfaceMesh; name blade;} backTip.stl {type triSurfaceMesh; name backTip;} frontTip.stl {type triSurfaceMesh; name frontTip;} wallRotating.stl {type triSurfaceMesh; name wallRotating;} fanHub.stl {type triSurfaceMesh; name fanHub;} }; castellatedMeshControls { maxLocalCells 2000000; //max cells per CPU core maxGlobalCells 4000000; //max cells to use before mesh deletion step minRefinementCells 10; //was 0 - zero means no bad cells are allowed during refinement stages maxLoadUnbalance 0.05; //0.1 default nCellsBetweenLevels 3; // 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 "blade.eMesh"; level 1;} {file "backTip.eMesh"; level 2;} {file "frontTip.eMesh"; level 3;} {file "wallRotating.eMesh"; level 1;} ); // Surface based refinement // ~~~~~~~~~~~~~~~~~~~~~~~~ refinementSurfaces // Surface-wise min and max refinement level { blade {level (2 2);} backTip {level (2 2);} frontTip {level (2 2);} wallRotating {level (2 2);} amiRot2 {level (1 1);} amiRot1 {level (1 2);} fanHub {level (1 1);} } resolveFeatureAngle 60; //was80 Resolve sharp angles // Default 30 refinementRegions // In descending levels of fine-ness { //refine1 {mode inside; levels ((3 4));} } locationInMesh (0.04 0.04 -0.0051); //to decide which side of mesh to keep ** allowFreeStandingZoneFaces false; //true; } // Settings for the snapping. snapControls { nSmoothPatch 3;// era 3; tolerance 2.0; //era 3.0 default is 2 nSolveIter 300; //era30 nRelaxIter 5; // efault 5 nFeatureSnapIter 35; // 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 } // Settings for the layer addition. addLayersControls //add the PATCH names from inside the STL file so STLpatchName_insideSTLName { relativeSizes false; // was true con false hanno la stessa grandezza layers { blade {nSurfaceLayers 5;expansionRatio 1.12;thickness 0.001;minThickness 0.00001;} backTip {nSurfaceLayers 5;expansionRatio 1.12;thickness 0.001;minThickness 0.00001;} frontTip {nSurfaceLayers 5;expansionRatio 1.12;thickness 0.0015;minThickness 0.00001;} wallRotating {nSurfaceLayers 5;expansionRatio 1.12;thickness 0.002;minThickness 0.00001;} } expansionRatio 1.15; // thickness 0.002; firstLayerThickness 0.0002; //was 0.00018 minThickness 0.00008; nGrow 0; // was 1 // Advanced settings // Static analysis of starting mesh featureAngle 310; //- When not to extrude surface. 0 is flat, 90 is right angle. nRelaxIter 5; //era 13 //- Max# of snapping relaxation iter. Should stop before upon reaching a correct mesh. maxFaceThicknessRatio 0.8; // Stop layer growth on highly warped cells // Patch displacement nSmoothSurfaceNormals 150; //100 Number of smoothing iterations of surface normals nSmoothThickness 50; //100 Smooth layer thickness over surface patches // Medial axis analysis minMedianAxisAngle 90; //135 Angle used to pick up medial axis points maxThicknessToMedialRatio 0.9; // Reduce layer growth where ratio thickness to medial distance is large nSmoothNormals 50; // Number of smoothing iterations of interior mesh movement direction // Optional: //nMedialAxisIter 10; //limit the number of steps walking away from the surface. Default is unlimited. //nSmoothDisplacement 90; //smooth displacement after medial axis determination. default is 0. // (wip)Optional: //detectExtrusionIsland true; // do not extrude a point if none of the surrounding points is not extruded. Default is false. // Mesh shrinking slipFeatureAngle 10; //at non-patched sides allow mesh to slip if extrusion direction makes angle larger than slipFeatureAngle. Default //is 0.5*featureAngle. nBufferCellsNoExtrude 1; // Create buffer region for new layer terminations nLayerIter 50; //Overall max number of layer addition iterations. The mesher will exit if it reaches this number of iterations; //possiblywith an illegal mesh. nRelaxedIter 0; // Max number of iterations after which relaxed meshQuality controls get used. Up to nRelaxedIter it uses the settings // in meshQualityControls, after nRelaxedIter it uses the values in meshQualityControls::relaxed. //IMPOSTANDOLO A 0 SHM UTILIZZA IMMEDIATAMENTE I VALORI RELAXED // Additional reporting: if there are just a few faces where there // are mesh errors (after adding the layers) print their face centres. // This helps in tracking down problematic mesh areas. //additionalReporting true; } // Generic mesh quality settings. At any undoable phase these determine // where to undo. meshQualityControls { /* disabling mesh quality MaxNonOrtho 180; maxBoundarySkewness -1; maxInternalSkewness -1; maxConcave 180; minVol -1e33; minTetQuality -1e30; minTwist -1e30; minDeterminant -1; minFaceWeight -1; minVolRatio -1; minArea -1; minTriangleTwist -1; */ maxNonOrtho 55; //default 65 maxBoundarySkewness 20; maxInternalSkewness 4; maxConcave 80; minVol 1e-13; minTetQuality -1e30; minFlatness 0.5; minTetQuality 1e-9; minArea -1; minTwist 0.05; minDeterminant 0.001; minVolRatio 0.01; minFaceWeight 0.05; minTriangleTwist -1; nSmoothScale 4; errorReduction 0.75; // Advanced relaxed // mesh Quality Controls for layer addiction phase { maxNonOrtho 65; //maxBoundarySkewness 25; //maxInternalSkewness 5; maxConcave 90; minTwist 0.02; minFaceWeight 0.02; minDeterminant 0.0001; } } // Advanced debug 0; // Merge tolerance. Is fraction of overall bounding box of initial mesh. // Note: the write tolerance needs to be higher than this. mergeTolerance 1E-6; // ************************************************************************* // |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Problem using AMI | vinz | OpenFOAM Running, Solving & CFD | 298 | November 13, 2023 08:19 |
Foam::error::PrintStack | almir | OpenFOAM Running, Solving & CFD | 91 | December 21, 2022 04:50 |
[Gmsh] Using Bump with Extrude, layers in GMSH?? | arieljeds | OpenFOAM Meshing & Mesh Conversion | 7 | June 14, 2018 23:22 |
Possible bug with stitchMesh and cyclics in OpenFoam | Jack001 | OpenFOAM Pre-Processing | 0 | May 21, 2016 08:00 |
Regarding periodic BC in ICEM generated grid | Tarak | OpenFOAM | 32 | April 30, 2013 14:46 |