Using two level set files

Hello! I am new to MMG tool. I apologize for my English (I use a translator). Thank you for your wonderful MMG tool!
My questions:
I want to use the level set method to insert a crack surface mesh into a 3D mesh of some volume. I need to extract several layers of 3D elements around the surface of the crack and modify them according to a set of levels. In this case, the boundaries of the extracted elements must be preserved. Two sets of levels are required to describe the crack surface. Can I use two levelset files to remesh? How can I keep the border elements when remeshing?

I haven’t done this in awhile, so I’m not updated on latest version, but I was able to use two stress fields when generating my lattice like hyper-structures. As I remember though, I wasn’t able to do this directly in one step. I think I made two meshes and combined them in a final step.

As far as I know, I don’t think you can use two sets in one remeshing calculation.
Again though this was about 2 years ago and there have been a lot of changes and improvements since.
Hope this helps and maybe someone else can chime in.
I’m also really interesting in using multiple fields and would be interested in any info.
Best! -Todd

Hi @alexgh1993, hi @tcdoe,

Thanks for your help @tcdoe !
It is still not possible to provide 2 different level-set files to Mmg. The main raison is that it can raise a high number of topological configurations and issues that will be very hard to predict. We prefer to give the priority to the robustification of the discretization of one level-set for now (we still have work to do in this direction).

To preserve the border elements when remeshing you can try the -nosurf option of Mmg but the level-set will also not be remeshed.

To allow the remeshing of the level-set while preserving other boudaries, you can specify the boundaries as “required” . You will find a short description of the way to do it here. It is explained for node but you just has to use the RequiredEdges in 2D (resp. RequiredTriangles in 3D) instead of the RequiredVertice(s) one.

Best Regards,

Thanks for your help!

If you have two level functions f_1 and f_2 (assume you want to remesh the level set zero for each), it might be worth a try to use the product f_1\cdot f_2 as the new level function because it is zero precisely when either one of f_1 or f_2 is zero.