References Id for isosurface remeshing

How does MMG to manage the Reference Ids?

I process the same mesh, only changing the reference ids, and I cannot understand the results obtained. I attach one case giving me problems.

The first case the tetrahedra have as Id 3, and the second case 4. The resulting mesh in one case has tetrahedra with Id different of 3 all of them (so I understand no tetrahedra inside the level-set region) and the second case has some tetrahedra with Id 4 (corresponding with the tetrahedra inside the level-set).

Additionlly, what does represent the others Id, if all the original tetrahedra belong to the same group?

I am using mmg3d with isosurface:

mmg3d_O3 -ls out_step=0.mesh 

Thanks a lot

Vicente Mataix

Hi Vicente,

I am not able to unzip the that you provide (I don’t know why because the other file works): is it possible to send me it again?

For now :

  • I have run the “With4” testcase that gives the wanted results: the 2 squares represented by the level-set are discretized, the inside reference (=Id) is 3 and the outside one is 2. I don’t see any tetra with references 4 (neither in my output, nor in yours);

  • I have tried to recreate the “With3” test case by copying the mesh file with references 4 and changing the references by the ref 3. Running on this new mesh seems to give the same results than on the mesh with ref 4.

For your last question about the tetra Id, I am not sure to understand:

  • for now, in level-set mode, Mmg erease totally the references given by the user and create a new mesh that contains the isosurface (whose triangles have the reference 10), the volume inside the isosurface (with the reference 3) and the volume outside the isosurface (with the reference 2).



Here we have again the version With3: (7z format)

Then the in Isosurface cases the ids are always the same? I mean because in this case I will “protect” the Ids 3,4 and 10.

We use the Ids to retrieve our Groups (we call it different, but the GMSH notation will be called that way I think)

So I obtain the expected result with the IsosurfaceWith3 test case: I have the same squares with the Id 3 and the outside domain is of Id 2.
Do you use Gmsh to vizualize the Mmg outputs? If yes, are you using the .msh extension? (maybe it is a problem of output file).

For now the isosurface ids in mmg3d are always the same (2, 3 and 10) (we aim to provide a way for the user to choose this, maybe in the next release but not sure). So waiting for more flexibility in Mmg it is a good Idea to manage this on your side ;-).


Thanks a lot. I didn’t know about this behavior, and I presumed the same one as the MMG3D standard. I will adapt my code to this. Please, if a change related with this is applied notice me :smiley:

Thanks a lot, I solved the issue. BTW, the discussion in our repository was here:

Thanks to you,

I will keep you aware when the new options will be available. (and I will update the example of level-set discretization on the Mmg website).