Required elements cause poor quality mesh


I am trying to produce mesh with very flat elements. In this testcase I use a very simple metric where the target vertices lengths are x =500, y=500 and z=50. I have two example meshes one with the bottom bulk and boundary elements fixed and the other with no fixed elements. Apart from the RequiredVertices, RequiredTriangles, RequiredTetrahedra they are identical. If I remesh using mmg with the same input parameters, I get very different outputs.

The left hand side is with required elements and the right hand side of the image is without required elements.

I am not sure why the quality of the output mesh changes so dramatically especially as only one row along the bottom of the mesh is fixed. I would ideally like to produce a mesh similar to the output without required vertices but with the bottom elements fixed in place.

I have attached the input meshes and the parameters along with my outputs. (582.6 KB)

Thanks for any help!

Hi @iwheel,

I think that your quality issue is due to the required gradation (a specific gradation that applies from required eges onto other entites to avoid mesh degeneracy when metric doesn’t match with the size of the required edges).

Can you try:

  • to disable it (-hgradreq -1 with command line interface or MMG3D_Set_dparameter(mesh,met,MMG3D_DPARAM_hgradreq,-1) with API functions)?
  • if results are still bad, you can try to disable at the same time the computation of input mesh size at required edges (-nosizreq with CLI and MMG3D_Set_iparameter(mesh,met,MMG3D_IPARAM_nosizreq,1) with API functions).

Please, let me know if it solves your issue. If yes and just to give some roadmap overview: I plan to review and correct the issues in the required gradation for the end of the year (but this developement raises some locks in the anisotropic case).

Best Regards,

Hi @Algiane ,

Thanks for your help. The first option you suggested works perfectly!