- Improved robustness in initial tetrahedralization. A few
cases still fail, but changes to the heuristics used in surface recovery
break other cases. An area of vast improvement over version 0.1.7,
but more work is still needed.
- Support for curved boundaries in two dimensions. Circles,
circular arcs, and splines are supported, as well as straight line
segments. See the documentation for tri for details about
file format.
- Guaranteed-quality meshing. In 2D, GRUMMP now generates meshes
with all angles greater than 30°, except near input angles
smaller than about 60°. In 3D, the theoretical guarantee
is on the ratio of edge length to circumradius; in practice, with
smoothing GRUMMP produces 3D meshes for “thick” domains with dihedral
angles in excess of 18°-20° (except, again,
near small angles in the input). A bonus with these new algorithms
is that mesh generation is actually faster than in version
0.1.7. (It hardly seems fair that such a massive change in the internals
of the code lead to only one item in the change list...)
- Improved length scale calculation. GRUMMP now uses, in both
2D and 3D, a much better approximation to the true local geometric
feature size.
- Global control of cell size relative to feature size and
of the rate of change of cell size (grading). Both of these accompany
the improved length scale calculation.
- Change in output format for multi-domain meshes. Because
of internal changes in data representation, output file format has
been changed for multi-domain meshes. As a result, two default file
format templates now exist, one each for single- and multi-domain
cases.
- Internal cleanup continues. Quite a bit of obsolete code
has been deprecated, and many of these pieces have been removed from
the distribution.