Version 5.6 on the website and negative Eigenvalues

Dear MMG Team,

first of all I want to thank you for this excellent piece of software. We were facing a problem with negative Eigenvalues though this seems fixed in the new version 5.6. I noticed that there is no announcement on the webpage and it also links to the 5.5.2 binaries.

So in the end I just wanted to ask if anything had changed with respect to the calculation of the Eigenvalues? There was a discussion about something similar in 2019 though I’m not sure if it is related.

Best,
Johannes

Below is the error I was getting with 5.5.2 but not with 5.6 anymore.


     $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 
         BAD ORIENTATION : vol < 0 --   192066 tetra reoriented
     $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 


  ## Warning: MMG5_chkBdryTria: 717842 extra boundaries provided. Ignored

  ## Warning: MMG5_simred: at least 1 metric with a negative eigenvalue: -0.455691 

  ## Warning: MMG3D_simred: at least 1 failing simultaneous reduction.

  ## Error: newton3: ERR 9102, newton3, no root found (fx 4.596930E-06).

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9102, newton3, no root found (fx 4.596930E-06).

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9102, newton3, no root found (fx -2.542710E-04).

  ## Error: newton3: ERR 9102, newton3, no root found (fx -1.476503E-01).

  ## Error: newton3: ERR 9102, newton3, no root found (fx -5.885438E-03).

  ## Error: newton3: ERR 9102, newton3, no root found (fx -5.885438E-03).

  ## Error: newton3: ERR 9102, newton3, no root found (fx 2.382105E-02).

  ## Error: newton3: ERR 9102, newton3, no root found (fx -1.476503E-01).

  ## Error: newton3: ERR 9102, newton3, no root found (fx 2.382105E-02).

  ## Error: newton3: ERR 9102, newton3, no root found (fx 2.382105E-02).

  ## Error: newton3: ERR 9102, newton3, no root found (fx -1.476503E-01).

[...]

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: newton3: ERR 9103, newton3, det = 0.

  ## Error: MMG5_minQualCheck: too bad quality for the worst element: (elt 2794 ->    0.000000e+00)

Hi and thank you Johannes,

I have added the new binaries and a post on the Mmg website (I had forgotten to do it, the period a little busy).

I don’t remember if it was a fix commited after the 5.5.2 release but I remember correcting an instability in the search for the roots of polynomials of degree 3 (the newton3 function): sometime, the convergency criterion was too tolerant and we were ending with a negative edge length. Now, in this case, we restart the roots computation with an increased accuracy.

More generally, we are investigating the lack of stability of Mmg in anisotropic mode. We know that some of errors are due to a high sensitiviy to numerical accuracy (a solution that we want to try for example is if using an external software as the eigen library may help).

Best Regards,
Algiane

That sounds awesome. We sometimes ran into this problem with large meshes and locally high anisotropy. I think this seems to support your reasoning. If we encounter similar cases in the future I’m going to share our findings with you. Thanks a lot and have a great week!