Implicit domain meshing (mmgs)

Dear Algiane,

I have been trying to use mmgsls() to mesh an implicitly defined surface. I have followed the same procedure used for mmg3dls. I assumed that in this case I have to define a box (similar to the 3D mesh used in mmg3dls but without the tetrahedrals since mmgs does not use them anyway. What I get then is the box with its surface triangulation and extra nodes inside this box whose sole purpose is to serve as the points at which to define sol). I then compute my sol values for all my points. I checked my mmgMesh and mmgSol structures and they have the expected number of points and so on. However, when I pass it to MMGS_mmgsls it seems to only consider the information at the box surface and ignores all points inside which results in it splitting the surface of my box according where the implicit function cuts it, but it does not mesh the actual implicit surface that’s there. I have tried both functions that cut the box and functions that define surfaces completely inside the box. In the last case it does not do much, just gives back the triangulation of box. So clearly I must be doing something wrong. Perhaps you can point me in the right direction.


Hi Karl,

I have added a short tutorial about the level-set discretization in mmgs on the Mmg website.

I think that your mistake is that you assume that Mmgs will generate a 3D volume mesh while it only discretize a line inside your surface mesh (equivalent to the 2D ls discretization but with 3D coordinates).

I hope that it will help.


Hi Algiane,

I was not thinking of a 3D volume mesh really but more like getting the 3D surface (surface at the zero level-set) without going through a volume mesh like what happens when using mmg3d. This in the hope it would be faster. But yeah, my mistake was my assumption.

Thanks for your reply!

K. Pineapple