|
[Sponsors] |
[snappyHexMesh] SnappyHexMesh NOT SNAPPING at all |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 24, 2020, 07:11 |
SnappyHexMesh NOT SNAPPING at all
|
#1 |
Member
Bob Tipton
Join Date: Apr 2020
Posts: 34
Rep Power: 6 |
I've had this working in the past, but now I cannot get snappyHexMesh to snap to anything.
I was able to get very smoothly snapped results before, but now I get nothing but blocks. I've checked obvious things like is the snapping phase on/off, upped the tolerance as high as 10 (which is lunacy) just to see if it has an effect - it didn't. I still get nothing but blocks when I need something smooth. Updated: As far as I can tell, I'm doing everything correctly - obviously I am not. I have updated to OpenFOAM v8 I have removed the .emesh files I have run blockMesh surfaceFeatures snappyHexMesh Update 2: This looks like a bug. Over repeated attempts, there were one or two where the snapping worked correctly. When I made small modifications (such as increasing a division level) it went back to castellated. This seems highly unlikely because it would seem to be extremely common and others would have found it. Unless there is something very specific about this geometry. The dictionary used to create the image follows. blockMeshDict and surfaceFeaturesDict are included for completeness. FoamFile { version 2.0; class dictionary; format ascii; location "system"; object snappyHexMeshDict; } castellatedMesh true; snap true; addLayers true; geometry { Model.stl { type triSurfaceMesh; simflowType stl; name Model; includedAngle 120.0; } Refine1.stl { type triSurfaceMesh; simflowType stl; name Refine1; includedAngle 120.0; } Refine2.stl { type triSurfaceMesh; simflowType stl; name Refine2; includedAngle 120.0; } } castellatedMeshControls { locationInMesh (10 10.0 10.0); refinementSurfaces { Model { level ( 5 5 ); patchInfo { type wall; } } } refinementRegions { Refine1 { mode inside; levels ((1.0E30 2)); } Refine2 { mode inside; levels ((1.0E30 1)); } } limitRegions { } features ( ); maxLocalCells 500000; maxGlobalCells 4000000; nCellsBetweenLevels 4; maxLoadUnbalance 0.1; minRefinementCells 10; resolveFeatureAngle 15.0; allowFreeStandingZoneFaces true; } snapControls { tolerance 1.0; nSmoothPatch 3; nSolveIter 500; nRelaxIter 5; nFeatureSnapIter 10; implicitFeatureSnap true; explicitFeatureSnap true; multiRegionFeatureSnap true; nFaceSplitInterval 5; } addLayersControls { layers { Model { nSurfaceLayers 5; expansionRatio 1.25; firstLayerThickness 0.2; } Model_patch0 { nSurfaceLayers 5; expansionRatio 1.25; firstLayerThickness 0.2; } } relativeSizes true; minThickness 0.001; firstLayerThickness 1.0E-4; expansionRatio 1.25; nGrow 0; featureAngle 180.0; maxFaceThicknessRatio 0.5; nSmoothSurfaceNormals 5; nSmoothThickness 10; minMedialAxisAngle 90.0; maxThicknessToMedialRatio 0.5; nMedialAxisIter 100; nSmoothNormals 3; slipFeatureAngle 30.0; nRelaxIter 5; nBufferCellsNoExtrude 0; nLayerIter 50; nRelaxedIter 20; detectExtrusionIsland true; } meshQualityControls { maxNonOrtho 65.0; maxBoundarySkewness 20.0; maxInternalSkewness 4.0; maxConcave 80.0; minVol 1.0E-14; minTetQuality 1.0E-20; minArea -1.0; minTwist 0.02; minTriangleTwist -1.0; minDeterminant 0.01; minFaceWeight 0.05; minVolRatio 0.01; minVolCollapseRatio 0.1; nSmoothScale 4; errorReduction 0.75; relaxed { maxNonOrtho 75.0; } } mergeTolerance 1.0E-6; debug 0; ************************************************* FoamFile { version 2.0; class dictionary; format ascii; location "system"; object blockMeshDict; } convertToMeters 1; edges ( ); vertices ( (-25.0 0.0 0.0) (75.0 0.0 0.0) (75.0 50.0 0.0) (-25.0 50.0 0.0) (-25.0 0.0 50.0) (75.0 0.0 50.0) (75.0 50.0 50.0) (-25.0 50.0 50.0) ); blocks ( hex (0 1 2 3 4 5 6 7) (50 25 25) simpleGrading ( ( (20 10 .125) (15 30 1) (65 10 8) ) ( (5 10 1) (45 15 8) ) ( (5 10 1) (45 15 8) ) ) ); boundary ( boundaries { type patch; faces ( (0 4 7 3) (2 6 5 1) (3 7 6 2) (4 5 6 7) ); } symmetry { type symmetry; faces ( (1 5 4 0) (0 3 2 1) ); } ); *--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org \\ / A nd | Version: 8 \\/ M anipulation | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object surfaceFeaturesDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // surfaces ( "Model.stl" "Refine1.stl" "Refine2.stl" ); includedAngle 150; subsetFeatures { nonManifoldEdges yes; openEdges yes; } trimFeatures { minElem 0; minLen 0; } writeObj no; **************************************** I have been working on finding a way to efficiently solve high drag/high turbulence cases. They require surprisingly large analysis volumes, thus the complex grading and refinement regions for such a small part. This is just to calibrate the approach against a solid hemisphere. Last edited by Bob Tipton; September 24, 2020 at 23:02. Reason: New information |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[snappyHexMesh] snappyHexMesh not snapping to cylinder end | wildfire230 | OpenFOAM Meshing & Mesh Conversion | 0 | March 1, 2019 12:09 |
[snappyHexMesh] snappyHexMesh inclinced surface snapping problem | Swift | OpenFOAM Meshing & Mesh Conversion | 19 | January 18, 2017 04:42 |
[snappyHexMesh] snappyHexMesh: Feature snapping of thin membrane edge | gooofy | OpenFOAM Meshing & Mesh Conversion | 7 | September 19, 2016 04:29 |
[snappyHexMesh] SnappyHexMesh : snapping not matching surface | Awak | OpenFOAM Meshing & Mesh Conversion | 4 | May 31, 2016 08:23 |
[snappyHexMesh] SnappyHexMesh - snapping the wrong elements | A.Wendy | OpenFOAM Meshing & Mesh Conversion | 1 | September 25, 2012 03:52 |