Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split internal edges connecting bdy points (mmg3d lag). #236

Merged
merged 1 commit into from
Dec 18, 2023

Conversation

Algiane
Copy link
Member

@Algiane Algiane commented Dec 18, 2023

This PR:

  1. autorize the split of internal edges connecting boundary points in lagrangian option of mmg3d.
  2. fix the detection of boundary edges (that has lead to forbid the previous splits, see commit 73ae8fe7e). Erroneous check was added by commit 5384387d7 under the erroneous assertion that boundary edges belonging to boundary faces are always marked as MG_BDY. It is not the case as at least pattern splitting are created regular boundary edges with no tags and as tetra without boundary faces may have edges along the boundary and either no xtetra, or a xtetra with a 0 tag for the edge or a xtetra whith suitable edge infos.

History

  1. In oct 2028, probably linked to a bug report from a user, commit 5384387d7 attempts to authorize the split of internal edges connecting boundary points while forbidding split of bdy edges but the detection of the boundary edges was erroneous. 2 cases were forbidden:

    • tetra without boundary faces but with one boundary edge may not have an xtetra attached or may have a xtetra with wrong info (no tag) for the boundary edge not linked to a boundary face inside the xtetra.
    • splitting operators are creating regular boundary edges without boundary tags.
  2. In Nov 2020, again probably linked to a bug report from a user, the commit 73ae8fe7e has reintroduced the test over the boundary extremities to forbid the split of boundary edges (forbidding the split of internal edges connecting boundary nodes at the same time).

Test case

I have not founded the inital test cases or a test case where the previous commits are creating visible errors so I attach a simple test case with an attempt to highlight potential issues.

lagMot.tgz

Mmg is run in lagrangian mode with remeshing allowed (-lag 2) :

mmg3d_debug -lag 2 tinyBoxt.mesh -v 5

Split of internal edges connecting boundary nodes

The following patch is applied to highlight the too strict ban of edge splitting :
intEdge-bdyPts.patch.

The tetra 256 for example is totally constrained as it has all its vertices along boundaries.
IntEdg-BdyPts-tet256
We would like to authorize the split of the internal edges of this tetra.

Wrong detection of boundary edges

On the current test case, there are no boundary edges that should be splitted and that are detected as the longest of the tetra so it is not possible to show a split that should be avoid.

Though, we can highlight that boundary edges are found after the test that should skip them (patch
bdyEdg-noTag.patch.

For example, the following picture shows such an edge and the tetra from which it is not detected as boundary by initial test but it is by the new one.
bdyEdg-noTag

  - Autorize the split of internal edges connecting boundary points in lagrangian option of mmg3d.
  - Fix the detection of boundary edges (that has lead to forbid the previous splits, see commit `73ae8fe7e`). Erroneous check was added by commit `5384387d7` under the erroneous assertion that boundary edges belonging to boundary faces are always marked as `MG_BDY`. It is not the case as at least pattern splitting are created regular boundary edges with no tags and as tetra without boundary faces may have edges along the boundary and either no xtetra, or a xtetra with a 0 tag for the edge or a xtetra whith suitable edge infos.
@Algiane Algiane self-assigned this Dec 18, 2023
@Algiane Algiane added kind: enhancement enhancement to an existing feature part: mmg3d mmg3d specific part: lagrangian movement lagrangian movement mode specificity labels Dec 18, 2023
@Algiane Algiane merged commit ce4b29f into develop Dec 18, 2023
23 checks passed
@Algiane Algiane deleted the feature/lag-mode-fix-bdy-edge-test branch December 18, 2023 16:02
@Algiane Algiane mentioned this pull request Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: enhancement enhancement to an existing feature part: lagrangian movement lagrangian movement mode specificity part: mmg3d mmg3d specific
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant