MMGS(1)

📦 version 5.8.0, in fedora 43, fedora 44, nixpkgs unstable

MMGS — like, the surface triangulation glow-up manual 💅✨

okay bestie, so this is mmgs, from the General Commands Manual section (that's the manual name, keep it in your notes 📝). She's here to do adaptation and optimization of a surface triangulation representing a piecewise linear approximation of an underlying surface geometry. Yes that's a mouthful. Yes she ate. 🍓


✨ SYNOPSIS ✨

mmgs ⟨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] [-ls x] [-lssurf x]
     [-keep-ref] [-nreg] [-xreg] [-noinsert] [-nomove] [-noswap]
     [-nosizreq] [-nreg] [-nsd] [-optim] [-rn ⟨n⟩]

(and yes, -nreg really is in there twice — she said it, not me 🫶)


🌸 DESCRIPTION 🌸

The mmgs application is dedicated to surface triangulation remeshing. That's the whole vibe, that's the whole job.

By default 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.

The -optim option allows to improve the mesh quality with respect to initial mesh size and the surface approximation respect.

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


💖 COMMAND LINE ARGUMENTS 💖

1. Generic options 🎀

  • -h — Print help.
  • -v ⟨n⟩ — Tune level of verbosity. Takes values between -1 and 10.
  • -m ⟨n⟩ — Set maximal memory size to n MBytes.
  • -d — Turn on debug mode.
  • -default — Write a local parameter file (with extension .mmgs) with setted values.
  • -val — Print the default parameters values.

2. File specifications 📁

  • -in ⟨mesh_file⟩ — Input triangulation.
  • -out ⟨output_file⟩ — Output triangulation.
  • -sol ⟨solution_file⟩ — Load metric or level-set file.
  • -met ⟨metric_file⟩ — Load metric file in level-set mode.

3. Mode specifications (default is mesh adaptation) 🔥

  • -ls x — Create mesh of isovalue x (0.0 if x is not provided).
  • -lssurf x — Split boundary edges on isovalue x (0.0 if x is not provided).

4. 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 to 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 or not connected to base references provided in parameter file (level-set mode).
  • -keep-ref — Preserve initial domain references when create the mesh of isovalue.
  • -noinsert — No point insertion/deletion.
  • -nomove — No point relocation.
  • -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).
  • -optim — Mesh improvement with respect to the initial mesh size.
  • -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 🫶

mmgs returns:

  • the 0 value if successful;
  • the 1 value if the process fail but we can save a conform mesh;
  • the 2 value if the process fail and we can't save a conform mesh.
ngl bestie, 1 is the "we survived but barely 😭" outcome. 2 is the "we did not survive 💀" outcome. Plan accordingly.

🌈 SEE ALSO 🌈

mmg3d(1) mmg2d(1)


okay that's the whole page, you're literally an mmgs girlie now, no cap 💜 this was mmgs, dated May 04, 2015, living in the MMGS(1) slot of the General Commands Manual — periodt. go remesh something iconic ✨🧚

📦 where this page comes from