Current Status of GRUMMP
The current release of GRUMMP is version 0.7.0.1.1 This version consists of eight executable programs.
- tri generates two-dimensional triangular isotropic unstructured
meshes, using a seriously enhanced version of Ruppert's algorithm.
Recent work at UBC has extended Ruppert's scheme to allow better user
control over cell size and grading [11] and
to allow meshing with curved boundaries [1].
- meshopt2d improves existing two-dimensional triangular isotropic
unstructured meshes, including performing adaptive refinement based
on a user-provided length scale.
- coarsen2d produces a triangular unstructured mesh with approximately
twice the local length scale of the input mesh, including directional
anisotropic coarsening of quasi-structured parts of the fine mesh.
- tetra generates three-dimensional tetrahedral isotropic unstructured
meshes, using Shewchuk's algorithm [16] modified
for cell size and grading control [11].
- meshopt3d improves existing three-dimensional tetrahedral
isotropic unstructured meshes, using techniques developed by Freitag
and Ollivier-Gooch [3]. Just as in 2D, this executable
also performs adaptive refinement.
- coarsen3d produces a tetrahedral unstructured mesh with approximately
twice the local length scale of the input mesh, including directional
anisotropic coarsening of quasi-structured parts of the fine mesh.
- scat2d performs linear interpolation of two-dimensional scattered
data.
- scat3d performs linear interpolation of three-dimensional
scattered data.
For further information on invoking these programs, including a description
of command line arguments, see Chapter 2. For a description
of the file formats which GRUMMP executables read and write, see Chapter 3.
As of this writing, GRUMMP supports anisotropic adaptation in 2D,
including good alignment of points in the direction of smaller lengthscale.
Optionally, triangles can be merged into quads. (The 3D variant is
far less advanced.)
Also, starting with version 0.7.0, GRUMMP now supports multithreaded
isotropic mesh refinement and swapping. Work in ongoing on distributed
memory parallelism.