carrier image

Triangle: A Two-Dimensional Quality Mesh Generator

Carnegie Mellon University

MESHING
RESEARCH
CORNER

MESH/GRID
GENERATION
SOFTWARE
SURVEY

Contact: Jonathan Richard Shewchuk

Email: jrs@cs.cmu.edu

Web Site: http://www.cs.cmu.edu/~quake/triangle.html

Availability: Research Code, Source Code Available

    Research code. Free for internal use within an organization. Must be licensed for inclusion (as a subroutine or library) in commercial products.

Customer Support: No

Approximate Number of Users: 1000?

Pricing: Contact jrs@cs.cmu.edu for information about licensing Triangle for inclusion in a commercial product.

Platform: Windows, Macintosh, UNIX

    Triangle is written in portable C, and can be compiled on virtually anything with a reasonable C compiler. (However, it has no user interface.) An accompanying mesh visualization program, called Show Me, runs only under Unix with X.

Input: Native

    A native format specifying vertices and boundary segments.

Engineering Discipline:

    A very wide variety. Includes a large range of PDE problems as well as applications such as radiosity and rendering, contouring, vision, terrain databases, and many more.

Elements: Triangle

Surface Meshing: No

Tri/Tet Method: Delaunay

    Delaunay; specifically, Jim Ruppert's Delaunay refinement algorithm.

Element Sizing Method: Automatic based on feature sizes

    Automatic based on feature size. Users can also refine meshes by tagging the elements of a coarse mesh with upper bounds on allowable area.

Other Features: Refinement

    Refinement (based on per-element a posteriori error estimates). Note that refinement is not element-hierarchical. Triangle can also be used to form constrained Delaunay triangulations.

Comments:

    Triangle is unusually robust, and generally succeeds with numerically difficult inputs where other programs crash. Works best with IEEE floating-point arithmetic. Triangle does not support curved boundaries, unfortunately.