The isosurface discretization mode

This section details the routines involved in the isosurface discretization mode of \(\texttt{mmg}\). We exemplify this feature with the standard discretization mode, contained in the file \(\texttt{mmg3d2.c}\), and we briefly describe the adjustments needed in the other cases.

The rough sketch of the isosurface discretization procedure reads as follows.

  • The values of the level set function that are very close to \(0\) are set to \(0\) exactly with the function \(\texttt{MMG3D_snpval}\).

  • The information about the surface part of the computational domain are transferred to the xtetra structure of the 3d mesh.

  • The function \(\texttt{MMG3D_resetRef_ls}\) is used to discard all information about a possible isosurface that might have been discretized into the mesh.

\(\texttt{MMG3D_snpval}\)

\(\texttt{MMG3D_resetRef_ls}\)

\(\texttt{MMG3D_setref_ls}\)

This function travels the tetrahedra of the mesh. The reference of each such element is updated Depending on the signs of the level set function sol : the function \(\texttt{MMG5_isSplit}\) is returns the references refint and refext of the interior and exterior phases delimited by the isosurface in the region labelled by ref.