snappyHexMesh - mergeAcrossPatches fails on symmetryPlane
Summary
The new feature of snappyHexMesh "mergeAcrossPatches" works well on patch boundaries and greatly improves layer coverage. Unfortunately it damages a symmetry plane.
Steps to reproduce
Generate mesh for a case where the geometry intersects the symmetry plane.
Example case
Is attached.
What is the current bug behaviour?
When mergeAcrossPatches is true, not only the faces at patch boundaries on the geometry are merged (which is very desirable for layer coverage), but also the faces at the boundary between geometry and symmetry plane. Consequently, the symmetry plane is substantially not planar. See attached images.
What is the expected correct behavior?
The faces should only be merged at patch boundaries on the geometry. Intersections between the geometry and the domain boundaries should be treated as features where the faces won't be merged.
For a symmetry plane the current behavior leads to an error (as it is not planar), but the same applies for boundaries which are patches, e.g. the lowerWall boundary in the motorbike tutorial.
Relevant logs and/or images
Attachements:
- mergeAcrossPatches-false.png - No merged faces; symmetry plane planar
- mergeAcrossPatches-true.png - merged faces; "crimpled" edge between symmetry plane and geometry.
- mergeAcrossPatches.tgz - example case. Use Allrun to run (runs a few seconds). (/uploads/9917f61abe18891cca38d55325d8db74/mergeAcrossPatches.tgz)
Environment information
- OpenFOAM version : v1906
- Operating system : ubuntu
- Hardware info :
- Compiler : gcc
Possible fixes
Ideas:
- Explicitly exclude certain patches from the merge mechanism
- Identify feature at intersection of geometry with domain boundary.[mergeAcrossPatches.tgz]