The settag function updates tag info by travelling the tetra of the shell of a given edge. Commit 0f487e0a (which aims to add the support of required entities) has introduced the fact that the edge tag is updated only for tetra in which the edge belongs to a boundary face.
Thus, if the edge has no boundary face, it is not updated.
It may leads to tag inconsistencies in ParMmg where the settag function is called (in cleanMesh function).
and where edges not belonging to bdy faces may be marked as MG_BDY.
As a recall:
any edge marked as MG_BDY has to have consistent tags with the tags of the same edge in the other tetra.
regular edges belonging to a boundary face inside the current tet may have a 0 tag (because for now the splitting operators are creating boundary edges with 0 tags when splitting boundary triangles, see split_3d.c).
regular or non regular edges not having a bdy face inside the tetra may have a 0 tag.
Resolution
Now the edge tag is updated for all the tetra of the shell that have a xtetra.
Check for regression
This modification has been tested by running, in Debug mode, the continuous integration tests that contains required entities (Req pattern in test name) and the tests related to the nosurf option (nosurf pattern) : the adaptation waves are the same.
Remark: Comparative outputs may contains useless 2D or surface tests due to the usage of the regex.
Description of the issue
The settag function updates tag info by travelling the tetra of the shell of a given edge. Commit 0f487e0a (which aims to add the support of required entities) has introduced the fact that the edge tag is updated only for tetra in which the edge belongs to a boundary face.
Thus, if the edge has no boundary face, it is not updated.
It may leads to tag inconsistencies in ParMmg where the settag function is called (in
cleanMesh
function). and where edges not belonging to bdy faces may be marked as MG_BDY.As a recall:
Resolution
Now the edge tag is updated for all the tetra of the shell that have a xtetra.
Check for regression
This modification has been tested by running, in Debug mode, the continuous integration tests that contains required entities (
Req
pattern in test name) and the tests related to the nosurf option (nosurf
pattern) : the adaptation waves are the same.Remark: Comparative outputs may contains useless 2D or surface tests due to the usage of the regex.
old-nosurf.txt new-nosurf.txt old-req.txt new-req.txt