snappyHexMesh castellation phase continues refining upon multiple runs
Summary
Hello,
I'm not sure if this is a bug, but it is at least behavior I didn't expect.
I have some models where I'm attempting to refine parts of a blockMesh multiple times using the castellation phase of snappyHexMesh and some geometry. I've noticed that if I run the castellation phase multiple times in a row (no changes to snappyHexMeshDict), snappy will continue finding and refining internal cells during the shell refinement phase. Upon continued runs, eventually the internal cells it finds to refine dwindles and it no longer performs refinement.
Why is additional refinement found during subsequent runs with no change in settings? I don't know if snappy was meant to be run in this way, but I was hoping to be able to do some upfront proximity refinement on certain surfaces before including all geometry to mesh and snap.
Steps to reproduce
This can reproduced on the snappyHexMesh flange tutorial. Disable snapping in the snappyHexMeshDict. Run the allrun script, note how many cells are in the mesh, then manually run the snappyHexMesh -overwrite
command again. You'll see that snappy found 2 extra cells to refine. Any additional runs do not refine anything further, which is what I expected to happen the first time.
I have some models though that go through multiple iterations of the above, the tutorial is just an easy example.
Example case
snappyHexMesh flange tutorial
What is the current bug behaviour?
snappy finds additional cells to refine during the castellation phase when run multiple times in a row.
What is the expected correct behavior?
snappy shouldn't find additional cells to refine during the castellation phase when run multiple times in a row.
Relevant logs and/or images
Shell refinement iteration 0
----------------------------
Marked for refinement due to distance to explicit features : 0 cells.
Marked for refinement due to refinement shells : 0 cells.
Determined cells to refine in = 0.12 s
Selected for internal refinement : 2 cells (out of 19314)
Edge intersection testing:
Number of edges : 66888
Number of edges to retest : 216
Number of intersected edges : 12407
Refined mesh in = 0.04 s
After refinement shell refinement iteration 0 : cells:19328 faces:66888 points:28292
Cells per refinement level:
0 0
1 1180
2 17072
3 107
Environment information
- OpenFOAM version : v1906
- Operating system : RHEL
- Compiler : gcc