We hope to solve some multi-material problem. The materialâ€™s interfaces are described by the level-set functions. We want to know the possibility if MMG2D/MMG3D can update one mesh based on two different level-set functions, and to define the interface labels/region labels?

Our another interest is to refine the mesh alongside the fluid-solid boundary. And this boundary is described by the level-set function. Also, we hope the refinement elements can be distributed uniformly along the boundary. We guess that one possible way is to update mesh firstly based on an implicit solution (level set), secondly based on a solution (velocity gradient). Or is there any other way to achieve this goal?

It is not possible to discretize more than 1 level-set value in one call. You will need to discretize each level-set successively and to preserve the first discretized value using the remaping of the references by a .mmg2d file (How to keep original region label after MMG update).

I am not sure to understand this question: you want to discretize the level-set and to respect a size map defined on the intial mesh?

I think the link you sent to me right now: https://www.mmgtools.org/local-parameters-for-bound can perfectly address our issue. In that case we can get the refined mesh alongside the level set interface uniformly, so we do not have to refine a second time based on the solution file.