Jane Tournois, Noura Faraj, Jean-Marc Thiery, Tamy Boubekeur.
GeometryFactory, Telecom Paris
Tetrahedral Isotropic Remeshing
This new package implements the uniform version of the Multi-Material Adaptive Volume Remesher algorithm described by Noura Faraj et al. for quality tetrahedral remeshing. This practical iterative remeshing algorithm is designed to remesh multi-material tetrahedral meshes, by iteratively performing a sequence of elementary operations such as edge splits, edge collapses, edge flips, and vertex relocations following a Laplacian smoothing. The algorithm results in high-quality uniform isotropic meshes, with the user-defined uniform sizing field, while preserving the materials, the input geometric curve and surface features, and the topology of the feature complex.
Left: Tetrahedral mesh generated by CGAL's tetrahedral mesh generation algorithm. Dihedral angles are in [12, 162].
Middle: The same mesh after remeshing with the same size parameter. Dihedral angles are in [17.7, 149].
Right: The same mesh after remeshing with an as coarse as possible size parameter. Dihedral angles are in [45, 95].
Several options are available to tune the remeshing process for the user’s needs :
- remesh only a subregion of the mesh,
- remesh or preserve the input surfaces and feature polylines,
- preserve a set of facets and a set of edges from being remeshed,
- perform smoothing on feature polylines.
See CGAL::tetrahedral_isotropic_remeshing() for the complete API and list of options.
Improve a Tetrahedral Mesh Quality
Tetrahedral mesh generation can lead to over-refinement in some undesired places, e.g. where geometry is a thin volume and/or a polyline incident to sharp dihedral angles formed by the surface. Tetrahedral remeshing fixes those over-refinements while keeping the geometry and topology of the feature complex.
Top: Tetrahedral mesh with closeups on overly dense regions.
Bottom: Tetrahedral mesh after isotropic remeshing, with closeups on the same regions.
CGAL
The package Tetrahedral Remeshing is already integrated in CGAL's master branch on the CGAL GitHub repository, and will be officially released in the upcoming version of CGAL, CGAL 5.1, scheduled for September 2020.