CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Native Meshers: snappyHexMesh and Others (
-   -   SHM: feature edge snapping not conforming (

thab November 24, 2012 13:16

SHM: feature edge snapping not conforming
5 Attachment(s)

This is actually my first post here asking for help, so, please, feel free to ask for more information about the case.
I've been fighting with snappyHexMesh for some weeks now, read dozens of threads here, but still can't figure out a solution for my problem.

I'm trying to create a mesh for an agitated reactor with SHM and for that I created the geometry in ANSYS-Icem, exported it for STL format and used surfaceConvert utility to scale it (I'm using OpenFOAM-2.1.x).
After that, I ran surfaceFeatureExtract -includedAngle 150 to create the .eMesh file, converted it to .obj and checked with paraview. I'm posting the images for the stl surface and the obj file.
For the SHM parameters I used, I'm also posting one of the many dicts I have, the one that gave me the best results.

The geometry is composed by four surfaces: top, bottom and walls of the reactor, and only one surface that models an impeller. My problem, as it is quite visible in the images of the mesh I'm posting, is in the impeller surface.
Even with perfect feature edges, there's some problem with the snapping part and it doesn't seem to conform well in these sharp edges.

I have already tried many different parameters, sometimes with some improvement, but never getting the results I wish. I don't really know the code behind SHM, and I modify those parameters accordignly to what I understand from their description, but now I really think I need some help from more experienced profesionals.

Some of my attempts to improve the mesh:
- decreasing minRefinementCells to 0, so that it is obligated to refine a small amount of cells;
- increasing the level of refinement for the impeller patch, but with terrible results;
- refining the blockMesh base mesh, but now I already have more then 1 million elements;
- modifying resolveFeatureAngle, but I didn't find much difference between the meshes;
- increasing nSmoothPatch until it started to deform the mesh;
- increasing tolerance (it actually gave me better results);
- increasing nSolveIter (it actually gave me better results);
- increasing nRelaxIter (it actually gave me better results);
- increasing nFeatureSnapIter until it started to deform the mesh;
- increasing featureAngle
- split the impeller surface into many others, but it didn't make any difference
- tried creating some more curves in the impeller surface to "orient" SHM, but surfaceFeatureExtract doesn't get those very well;

and some many other small modifications...
I really hope a trained eye can catch something I missed in the Dict, or perhaps give some guidelines on the subject.

Many thanks in advance!

List of Figures:
STL_impeller.png - stl file clipped to show impeller surface
OBJ_impeller.png - feature edges extracted with angle 150 zoomed in for the impeller
MESH_zoom.png - output mesh zoomed in for walls detail
MESH_impeller_zoom.png - same mesh, zoomed in for detail on impeller (you can already see the deformations)
MESH_impeller_zoom3.png - same mesh, zoomed in for detail on impeller

Attachment 17190

Attachment 17192

Attachment 17194

Attachment 17195

Attachment 17196

thab November 24, 2012 13:22

1 Attachment(s)
Attaching the snappyHexMeshDict file.

Attachment 17199

kwardle November 26, 2012 12:57

Probably not super helpful, but keep in mind that featureEdge capturing in snappy is still a work in progress. What you are seeing is typical--actually, it is not perfect but looks fairly reasonable to me. Are the images you posted the best mesh case? Probably increasing tolerance (snap attract point distance) and iterations should help, but again there are still some problems with the algorithms for the featureEdge snapping. As I understand it, there are various algorithms--some work best for certain classes of edges and others for others, but there is no way at the moment to identify the type of edge and have the code automatically select the optimum algorithm.

thab November 26, 2012 15:04

Dear Kent,

Many thanks for the fast reply!
It was actually very helpful as I was very much afraid I wasn't understanding properly the concepts.

The images I posted were from the best mesh I achieved, and I'm seriously considering running a case with it, as you mentioned.
I'm currently working on those parameters (tolerance and iterations), running several meshes at a time. If I get anything new I'll surely post it here.

Thank you again!

All times are GMT -4. The time now is 09:00.