View Issue Details

IDProjectCategoryView StatusLast Update
0000552OpenFOAMBugpublic2012-06-12 09:18
Reporternogenmyr Assigned Touser4 
Status resolvedResolutionfixed 
PlatformLinuxOSCentOSOS Version5
Summary0000552: snappyHexMesh ignores refining on ring-formed feature lines...
DescriptionIf an eMesh file contains a ring formed feature line (i.e. without start or end), snappyHexMesh will ignore the refinement level specified for it. It will still snap to it, however. If the user simply edits the eMesh file such that one point in the ring is duplicated and the ring is made discontinious, snappyHexMesh will both refine according to snappyHexMeshDict and snap to it.

Steps To ReproduceThe attached case is a setup for meshing inside of a simple cylinder.

1. Untaring and running blockMesh and snappyHexMesh will give a snapped mesh, but without refinement level 2 as specified:

   Marked for refinement due to explicit features : 0 cells.

2. Now, removing output dirs 1&2 and altering line 32&33 in snappyHexMeshDict and rerunning snappyHexMesh will give expected results:

Marked for refinement due to explicit features : 160 cells.

TagsNo tags attached.



2012-06-11 14:09


testCase.tar.gz (174,080 bytes)


2012-06-11 14:16

reporter   ~0001376

Forgot to add. This was also discussed here


2012-06-11 14:29


Interesting problem.

snappyHexMesh uses tracking along feature edges to find out the cells the edge is going through. To avoid starting too many tracks it only seeds points with != 2 (feature) edges connected to it and this is your problem. Either 'break' the track or have an additional feature edge at a point.


2012-06-12 07:54

reporter   ~0001383

Thanks for the feedback! I had a look at the code, and I see why you need to reduce the number of seeds. I was thinking that maybe one could keep track of which feature edges that were tracked. Then, after the loop one could check if there are edges which were not visited. If there is, one could select a random point belonging to those edges and do more tracking.

It is also possible like you say to just break the loops. However, the user is in little control of the formation of eMesh files if he for instance uses the surfaceFeatureExtract tool.

Great mesher, else!


2012-06-12 09:18


Fixed in 0d67705b13eb7566914d9c2713feaec3e16b6fc1.

It keeps count of the edgeMeshes that will not get visited. (can only be ring shaped ones).

You'll still not get uniform refinement though (well you do but then it gets deleted since it is not inside the final mesh) but that is another issue.

Thanks for reporting.

Issue History

Date Modified Username Field Change
2012-06-11 14:09 nogenmyr New Issue
2012-06-11 14:09 nogenmyr File Added: testCase.tar.gz
2012-06-11 14:16 nogenmyr Note Added: 0001376
2012-06-11 14:29 user4 Note Added: 0001377
2012-06-12 07:54 nogenmyr Note Added: 0001383
2012-06-12 09:18 user4 Note Added: 0001386
2012-06-12 09:18 user4 Status new => resolved
2012-06-12 09:18 user4 Fixed in Version => 2.1.x
2012-06-12 09:18 user4 Resolution open => fixed
2012-06-12 09:18 user4 Assigned To => user4