Fix quadrilateral boundary segments in GmshReader
All threads resolved!
All threads resolved!
- Add support for quadrilaterals as boundary segments
- Throw an exception if unsupported boundary segment type is used. Otherwise segment insertion indices will be messed up even for supported segment types.
- Add test case with unit cube and quadrilateral boundary segments.
Merge request reports
Activity
added bugfix label
mentioned in issue #115 (closed)
Notice that there's a few potential issues with this fix:
- I never used Gmsh, so I'd prefer if someone else checks this.
- It seems that quadrilateral boundary segments are only supported in
UGGrid
. However, looking at the code,UGGrid
uses a 'linear' dummy parametrization if only the vertices are passed. This may fail for distorted cubes, unless 'linear' actually means (griddim-1)-linear. - The test just checks if quadrilateral segments can be inserted and not if the insertion order and tags are correct. But this may already fix the issue with boundary tags in #115 (closed).
- With this patch
GmshReader
may throw for grids it accepted before. This is because it used to silently ignore unsupported boundary segments types which messed up the insertion indices. While I consider this a bugfix, it may annoy users if they have to fix their .msh files.
- Resolved by Oliver Sander
Looks good to me. Please merge. Consider adding a CHANGELOG entry.
As this is a clear fix and hardly invasive, I think this should be backported. And as the person who found the bug claims to still be on 2.6, we should consider a backport to there, too.
- Resolved by Oliver Sander
Disclaimer: I didn't check, but I really can't think why
UGGrid
should do something else.
mentioned in commit 99142f99
Please register or sign in to reply