A demonstration of Triangle

Triangle is specialized for creating two-dimensional finite element meshes, but can also perform simpler related tasks such as forming Delaunay triangulations. Here is a sample Planar Straight Line Graph (PSLG), a Delaunay triangulation of its vertices, a constrained Delaunay triangulation of the PSLG, a conforming Delaunay triangulation of the PSLG, and a quality conforming Delaunay triangulation of the PSLG with no angle smaller than twenty-five degrees. The latter is suitable for finite element analysis.

The number of triangles required to triangulate a PSLG depends in part on the angle criterion. Here is a PSLG of Lake Superior, along with triangulations having minimum angles of zero, five, fifteen, twenty-five, and 33.8 degrees. (For angles larger than 33.8 degrees, Triangle's algorithm usually doesn't converge.)

In the examples above, the number of triangles required is governed by the geometry and the angle constraint; Triangle attempts to keep this number small, so that simulations on Triangle's meshes will not take longer than necessary. Of course, in many cases small triangles are desired to simulate the physics to a sufficient degree of accuracy. In the next example, a multilayered object (actually a vertical cross-sample of layers of soil) is meshed, and a different maximum triangle area constraint is imposed on each layer.

The next example demonstrates two meshes; the latter was created by refining the former. The refinement was not arbitrary; a heat conduction problem was solved on the first mesh using the finite element method, and a posteriori error estimates were used to dictate area constraints on each element. The latter mesh was generated using these area constraints. For best results, one should probably iterate this process several times.

Finally, here's a sequence of successively refined meshes, suitable for multilevel methods. Each of these was generated with a single global area constraint specified on the command line, as opposed to the element-by-element constraints imposed on the guitar above.