test_triangulation


test_triangulation, a FORTRAN90 code which sets up a number of triangulation test problems.

As far as possible, a uniform and abstract approach has been used. For each test region, a number of routines are provided, via which it is possible for the user to determine many things about the region. Often, just one or two routines would be needed for a particular purpose. The names of the routines, and their purposes are:

The test problems include:

  1. The unit circle;
  2. The unit circle with a circular hole;
  3. A square with a circular hole;
  4. A hexagon with a hexagonal hole;
  5. The horn;
  6. The superellipse with a superelliptical hole;
  7. The bicycle seat;
  8. The slice of pie with a circular hole and triangular notch;
  9. Jeff Borggaard's square with two hexagonal holes;
  10. The unit square;
  11. The L-shaped region;
  12. John Shadid's H-shaped region;
  13. The Sandia fork;
  14. Marcus Garvie's Lake Alpha, with Beta Island;
  15. Sangbum Kim's forward step;

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

test_triangulation is available in a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CVT_TRIANGULATION, a FORTRAN90 code which uses routines from the TEST_TRIANGULATION library to create a CVT-based triangularization.

TABLE_IO, a FORTRAN90 code which is used to write some of the output files.

test_triangulation_test

TRIANGULATION, a FORTRAN90 code which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.

TRIANGULATION_BOUNDARY_NODES, a FORTRAN90 code which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.

TRIANGULATION_DISPLAY_OPENGL, a C++ program which reads files defining a triangulation and displays an image using Open GL.

TRIANGULATION_L2Q, a FORTRAN90 code which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.

TRIANGULATION_MASK, a FORTRAN90 code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.

TRIANGULATION ORDER3, a directory which describes the format for triangulations of order 3.

TRIANGULATION ORDER6, a directory which describes the format for triangulations of order 6.

TRIANGULATION_ORIENT, a FORTRAN90 code which reads data defining a triangulation, makes sure that every triangle has positive orientation, and if not, writes a corrected triangle file.

TRIANGULATION_PLOT, a FORTRAN90 code which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.

TRIANGULATION_Q2L, a FORTRAN90 code which reads data defining a 6-node triangulation, and subdivides each triangle into 4 3-node triangles, writing the resulting triangulation to a file.

TRIANGULATION_QUALITY, a FORTRAN90 code which reads data defining a triangulation and computes a number of quality measures.

TRIANGULATION_RCM, a FORTRAN90 code which reads data defining a triangulation, determines an ordering of the nodes that will reduce the bandwidth of the adjacency matrix, and writes the new triangulation information to a file.

TRIANGULATION_REFINE, a FORTRAN90 code which reads data defining a triangulation, replaces each triangle by four congruent smaller ones, and writes the new triangulation information to a file.

TRIANGULATION_TRIANGLE_NEIGHBORS, a FORTRAN90 code which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.

Reference:

  1. Marc deBerg, Marc Krevald, Mark Overmars, Otfried Schwarzkopf,
    Computational Geometry,
    Springer, 2000,
    ISBN: 3-540-65620-0.
  2. Barry Joe,
    GEOMPACK - a software package for the generation of meshes using geometric algorithms,
    Advances in Engineering Software,
    Volume 13, 1991, pages 325-331.
  3. Joseph ORourke,
    Computational Geometry,
    Second Edition,
    Cambridge, 1998,
    ISBN: 0521649765,
    LC: QA448.D38.
  4. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, June 2004, pages 329-345.

Source Code:


Last revised on 05 September 2020.