recently introduced by Chen for dealing with the case where the tensor field ... formly distributed point set in the domain of interest, for example by Lloyd.
ACS Algorithms for Complex Shapes with Certified Numerics and Topology
Comparison of algorithms for anisotropic meshing and adaptive refinement
Jean-Daniel Boissonnat, David Cohen-Steiner, Mariette Yvinec
ACS Technical Report No.: ACS-TR-362603
Part of deliverable: Site: Month:
WP-III/D1 INRIA 12
Project co-funded by the European Commission within FP6 (2002–2006) under contract nr. IST-006413
2
Abstract In this report, we investigate different approaches for solving the — difficult— problem of anisotropic mesh generation in two dimensions. Among these methods, two seem particularly promising for the extension in three dimensions.
1
Introduction
Anisotropic mesh generation consists in building a triangulation of a given domain whose triangles aspect ratio match as closely as possible a given symmetric positive definite tensor field. The main application is by far scientific computing. In this report we test experimentally several approaches for twodimensional anisotropic generation. The first class of approaches we examine attempt to generalize the algorithm recently introduced by Chen for dealing with the case where the tensor field is the Hessian of some convex function. To this end, we try to find the triangulation that minimizes a variant of the ODT energy used by Chen [1]. The minimization algorithm alternatively performs points location optimization and connectivity optimization steps, like in the standard case. While points location can be optimized almost as usual, the connectivity update step cannot be performed through a regular triangulation any more. Experiments show that without connectivity updates, results tend to be unsatisfactory. We thus tried two strategies for connectivity updates, one based on edge collapses, and the other on edge flips. Experimental results show that the latter option significantly outperforms the two others. In the second approach, the combinatorial structure of the mesh is obtained by dualizing the anisotropic Voronoi diagram introduced by Labelle and Shewchuck. Unfortunately, this does not always lead to a triangulation [2]. We fix this problem by performing iterative point insertion while necessary. While standard furthest point insertion was shown to be sufficient in the plane, a different strategy, based on so-called umbrellas, was introduced to handle the three dimensional case [3]. The latter also gives better results already in the plane.
2
Optimal Delaunay triangulations
A classical approach for isotropic mesh generation is to first generate a uniformly distributed point set in the domain of interest, for example by Lloyd iterations. Then, the desired mesh is obtained as the Delaunay triangulation of the resulting set of points. While this is actually a good strategy in two dimensions, it turns out that this is no longer the case in three dimensions, which is the most important case for applications. The reason is that Lloyd iterations 1
may converge to configurations containing four nearly cocircular nearby points, which lead to almost flat Delaunay tetrahedra.
Chen’s idea. The breakthrough paper by Chen shows a simple way to solve this problem. The idea is to build a triangulation T such that the L1 error R 2 ˆ T |f − f | between function f (x) = ||x|| and its linear interpolation on T is minimal. There is a simple heuristic for solving this problem, which is in a certain precise sense dual to Lloyd iterations. The idea is to alternate point location optimization with mesh connectivity optimization. Mesh connectivity optimization is rather easy in this case, since the Delaunay triangulation reaches the global optimum, as can be seen using the paraboloid lifting characterization of Delaunay triangulations. For the point relocation step, it turns out that there is a simple closed form formula for the optimal position of each point, considering all other points fixed. We may thus loop over all points and relocate sequentially each point according to this formula. As shown by Chen, when replacing ||x||2 by another smooth convex function in the above approach, optimal triangulations tend to have tetrahedra whose aspect ratio is given by the Hessian tensor field of the function. From a computational point of view, we note that in this anisotropic case, the mesh connectivity optimization step now requires to build the regular triangulation of the points, the weights being equal to the difference between the function value and the squared norm of the point. The relocation step is similar as in the isotropic case, substituting the isotropic metric with the local metric. To sum up, given a tensor that is the Hessian of some function, we have a valid approach for anisotropic mesh generation.
General tensor fields. Unfortunately, tensor fields do not in general arise as Hessian of a function, just as vector fields are not gradient fields in general. While this does not cause much problems for the point relocation steps, we see that the mesh connectivity update step now becomes much more difficult, since the approach based on regular triangulations completely breaks down. We tried and compared three strategies for connectivity updates. In the first one, we simply do not perform any connectivity updates. Result are quite poor. In the second one, we start with an initial fine mesh of the domain, and we optimize its connectivity by edge collapses. More precisely, at each step, we perform the edge collapse that makes Chen’s energy decrease the most. The obtained meshes tend to be smoother, but suffer from severe boundary effects (figure 1). In the third approach, we optimize connectivity by edge flips: at each step, we perform the allowable edge flip that makes Chen’s energy decrease the most. This is by far the best approach among the three. Resulting meshes seem almost ideal (figure 2). The latter method directly extends to three dimensions. However, a significant difference is that unlike in two dimensions, it is unknown whether flipping 2
Figure 1: Top: ODT smoothing without connectivity updates. The tensor field is the identity outside the central square and the matrix (10, 0, 0, 0) within the square. Bottom: ODT smoothing with edge collapse. The tensor is (3, 2, 2, 3) within the square. suffices to reach any triangulation starting from some initial triangulation. On the other hand, it could very well be that this does not cause problems in practice. Only careful three dimensional experiments could tell whether this is the case or not. We plan to investigate this question in the future.
3
Anisotropic Voronoi diagrams
Given a tensor field, a natural idea for building an anisotropic mesh based on a fixed set of points would be to compute the Voronoi diagram of these points for the metric given by the tensor field, and to output the dual of this diagram. Unfortunately, this dual is not in general a triangulation, because Voronoi cells 3
may have a non trivial topology. In two dimensions, it can be shown that this does not happen if the points density is large enough compared to the derivatives of the tensor field. Hence, a valid approach in two dimensions is to refine the initial set points until the Voronoi diagram is dual to a triangulation. However, this is unfortunately not the case in three dimensions. Again, the problematic case arises when four nearby points are almost cocircular. Using a different approach, called locally uniform anisotropic meshing, the latter problem may be solved. For a given set of points pi with local tensors Ti , we may compute, for each i, the Delaunay triangulation of the pj ’s under the metric Ti . Call the star of pi in this triangulation the umbrella of pi . A locally uniform anisotropic mesh is a mesh such that the star of each point is equal to its umbrella. If it exists, a locally uniform mesh clearly is a good candidate for the “ideal” anisotropic mesh. The problem is that it may not be the case, since umbrellas of different points may not be consistent. Fortunately, it can be shown that this problem may be solved by sufficiently refining the initial point set. An example of a mesh obtained by this process is shown in figure 3.
References [1] Chen L and Xu J, Mesh Smoothing Schemes based on optimal Delaunay triangulations, Journal of Computational Mathematics 22, 2, 299-308 (2004). [2] Boissonnat J.D., Wormser C and Yvinec M, Anisotropic diagrams: Labelle Shewchuck approach revisited, In proceedings Canadian Conference on Computational geometry (2006). [3] Boissonnat J.D., Wormser C and Yvinec M, Locally uniform anisotropic meshing, In proceedings Symposium on Computational geometry (2008).
4
Figure 2: ODT smoothing with edge flips. The tensor field is the identity outside the central square and the matrix (10, 0, 0, 1) within the top square. Thye middle and bottom squares respectively have tensors (2, −2, −2, 2) and (3, 2, 2, 3).
5
Figure 3: Example of an anisotropic mesh obtained using umbrellas.
6