# mmg3d - Man Page

Adaptation and optimization of a tetrahedral mesh and implicit domain meshing.

## Synopsis

mmg3d | ⟨mesh_file⟩ [output_file] [-sol ⟨solution_file⟩] [-met ⟨metric_file⟩] [-h] [-v] [-m ⟨n⟩] [-d] [-val] [-default] [-A] [-ar ⟨x⟩ | -nr] [-hmin ⟨x⟩] [-hmax ⟨x⟩] [-hsiz ⟨x⟩] [-hausd ⟨x⟩] [-hgrad ⟨x⟩] [-hgradreq ⟨x⟩] [-rmc x] [-opnbdy] [-lag ⟨n⟩] [-ls x] [-lssurf x] [-nofem] [-noinsert] [-nomove] [-noswap] [-nosurf] [-nosizreq] [-nreg] [-xreg] [-nsd] [-optim] [-optimLES] [-octree ⟨n⟩] [-rn ⟨n⟩] |

## Description

The **mmg3d** application is dedicated to tetrahedral remeshing. Both surface and volume mesh are modified.

By defaults it performs mesh modifications in order to control the surface approximation.

Providing a metric file, it adapts the mesh to the prescribed sizes at nodes.

Without metric file, the -optim option allows to improve the mesh quality with respect to the initial mesh size. -optimLES option allows to improve strongly the isotropic mesh quality for LES simulations.

Providing a level-set file containing the values of the level-set function at the mesh nodes, the -ls option allows to explicitly mesh an implicit domain and the -lssurf option splits mesh boundaries on a provided isovalue.

Providing a displacement file -lag option applies a lagrangian displacement to boundary mesh nodes.

## Command Line Arguments

Generic options:

File specifications:

Mode specifications (default is mesh adaptation):

- -lag ⟨n⟩
Lagrangian mesh displacement according to mode 0 (

*n=0*), 1 (*n=1*) or 2 (*n=2*). This option is only available with the*USE_ELAS*compilation flag. The LinearElasticity library must be founded to activate this flag.- -ls
`x` Create mesh of isovalue

*x*(0.0 if*x*is not provided).- -lssurf
`x` Split boundary mesh on isovalue

*x*(0.0 if*x*is not provided).

Parameters:

- -A
Enable anisotropy (without metric file).

- -ar ⟨x⟩ | -nr
Threshold for angle detection or sharp features detection disabling.

- -hmin ⟨x⟩
Minimal mesh size.

- -hmax ⟨x⟩
Maximal mesh size.

- -hsiz ⟨x⟩
Constant mesh size.

- -hausd ⟨x⟩
Control the Hausdorff distance between the surface mesh and the underlying surface geometry.

- -hgrad ⟨x⟩
Control the gradation.

- -hgradreq ⟨x⟩
Control the gradation from required entities toward others.

- -rmc
`x` Remove componants whose volumic fraction is less than

*x*(1.e-5 if*x*is not provided) of the whole mesh volume (level-set mode).- -opnbdy
Preserve input triangles at the interface of two domains of the same reference.

- -nofem
Do not force Mmg to create a finite element mesh.

- -noinsert
No point insertion/deletion.

- -nomove
No point relocation

- -nosurf
No surface modifications.

- -noswap
No edge or face flipping.

- -nosizreq
No imposition of the size of required edges over required vertices.

- -nreg
Normal regularization using laplacian - antilaplacian smoothing.

- -xreg
Vertex coordinates regularization using laplacian - antilaplacian smoothing.

- -nsd ⟨n⟩
Save the subdomain of index

*n*(default is*n=0*which save all subdomains).- -octree ⟨n⟩
Specify the maximal number of point per octree cell (only available without the

*PATTERN*compilation flag).- -optim
Mesh improvement with respect to the initial mesh size.

- -optimLES
Strong isotropic mesh optimization for LES computations.

- -rn ⟨n⟩
Turn on (

*n=1*) or off (*n=0*) the renumbering using the**SCOTCH**library (only available with the*USE_SCOTCH*compilation flag and if the scotch library is founded).

## Return Values

**mmg3d** returns:

the 0 value if successful;

the 1 value if the process fail but can save a conform mesh;

the 2 value if the process fail and can't save a comform mesh.