|
[Sponsors] |
December 13, 2023, 09:50 |
Acute angle snapping
|
#1 |
Member
Julio Pieri
Join Date: Sep 2017
Posts: 96
Rep Power: 8 |
Hi all!
I consider myself an experienced OF/SHM user, but I never had this much trouble with meshing. I'm familiar with all of snappy's commands and options, but I'm struggling with an acute corner. Attached you can see the problem that I'm facing. Castellated phase seem to cut out "too much" elements, and the snapping phase can't reach the correct surface. The final elements are terrible. In the picture you can see the stl surface (shaded) and the eMesh file. I've tried changing every single Snap parameter, iterations, tolerance, number of elements, etc - without success. The elements do get a little better, but hardly usable. My procedure is to cut the inside of the STL (containing just the tubes and the steam-drum) out of the domain - I've made a background mesh of the furnace and I'm just removing the tubes from it. This guarantees good elements on all other corners, avoiding snappying surfaces that could be created straight from the background. Alternatively, I could have made the usual "sculpt the whole confined fluid domain out of a big blockMesh". 1) How do you guys snap this kind of sharp corner? 2) I'm using meshQuality as default. Maybe changing it could help? 3) I'm suspecting that my eMesh is also not very good. I generated it with surfaceFeatureExtract from the main STL, and with angle of 150. Is that how you guys do it? Could the problem be here? Basic info: v2212, Background mesh generated in Salome, Watertight stl created in FreeCAD and re-triangulated in Blender (uniform and small triangles). The STL is bigger than the background mesh (pic) - which leads to success when snapping corners of tubes that are 90deg with mesh. Other corners are ok - for instance, when the tube crosses a vertical side of the mesh. My (simplified) snappy-dict is: Code:
castellatedMesh true; snap true; addLayers false; // Geometry. Definition of all surfaces. All surfaces are of class // searchableSurface. // Surfaces are used // - to specify refinement for any mesh cell intersecting it // - to specify refinement for any mesh cell inside/outside/near // - to 'snap' the mesh boundary to the surface geometry { mesh.stl { type triSurfaceMesh; name mesh; } } castellatedMeshControls { maxLocalCells 10000000; maxGlobalCells 20000000; minRefinementCells 10; maxLoadUnbalance 0.10; nCellsBetweenLevels 4; features ( { file "mesh.eMesh"; level 0; } ); refinementSurfaces { mesh { level (3 3); patchInfo { type wall; } } } // Resolve sharp angles resolveFeatureAngle 54; refinementRegions { } locationInMesh (0.861 0.001 8.711); allowFreeStandingZoneFaces false; } snapControls { nSmoothPatch 3; // tried 4, 5 and 8 tolerance 1; // tried 0.8, 1.5 and 3 nSolveIter 300; // tried 150 nRelaxIter 12; // tried 4 // Feature snapping nFeatureSnapIter 4; // tried 6, 8, 12 and 24 implicitFeatureSnap true; // tried false, although implicit usually works better for me explicitFeatureSnap false; multiRegionFeatureSnap false; } |
|
Tags |
acute angle, corner, sharp angle, snap, snappyhexmesh |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Fluent UDF Mesh Motion Issue: Blade Pitch w/ Respect to Azimuth Angle | recmvp | Fluent UDF and Scheme Programming | 0 | July 30, 2023 15:50 |
[snappyHexMesh] SHM not snapping to edge features after adding layers | stefano.garbin | OpenFOAM Meshing & Mesh Conversion | 1 | March 10, 2022 03:17 |
Dynamic contact angle issue: fluent UDF couldn't set the correct contact angle | FelixJJ | FLUENT | 2 | October 20, 2021 02:39 |
[Netgen] Import netgen mesh to OpenFOAM | hsieh | OpenFOAM Meshing & Mesh Conversion | 32 | September 13, 2011 05:50 |
Normal vector, slope and aspect angle | g_niro | Main CFD Forum | 0 | February 2, 2011 17:24 |