triangulation_triangle_neighbors


triangulation_triangle_neighbors, a MATLAB code which computes the three neighboring triangles of each triangle in a triangulation.

The user supplies a node file and a triangle file, containing the coordinates of the nodes, and the indices of the nodes that make up each triangle. Either 3-node or 6-node triangles may be used.

The program reads the data, computes the triangle neighbor information, and writes out the information to a file. In cases where one side of a triangle has no triangle neighbor, a value of -1 is assigned.

The triangle neighbor array is useful if the triangulation has to be searched to find the triangle containing a given point. It is also useful when analyzing the bandwidth of the adjacency matrix, or of a finite element matrix derived from the triangulation.

Usage:

triangulation_triangle_neighbors ( 'prefix' )
where 'prefix' is the common prefix for the node and triangle files, and will also be used to name the output file:

Licensing:

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

Languages:

triangulation_triangle_neighbors is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

mesh_bandwidth, a MATLAB code which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.

mesh_to_xml, a MATLAB code which reads information defining a 1d, 2d or 3d mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding xml file for input to dolfin or fenics.

neighbors_to_metis_graph, a MATLAB code which reads a triangle mesh neighbor file created by triangulation_triangle_neighbors and writes a modified version of the same data suitable for input to the mesh partitioning program metis.

rcm, a MATLAB code which uses the reverse cuthill-mckee method for mesh renumbering.

tet_mesh_rcm, a MATLAB code which applies the reverse cuthill-mckee reordering to a tetrahedral mesh of nodes in 3d.

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

triangulation_boundary_edges, a MATLAB code which reads data defining a triangulation, determines which edges lie on the boundary, organizes them into connected components, and writes this information to a file.

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

triangulation_corner, a MATLAB code which patches triangulations so that no triangle has two sides on the boundary.

triangulation_delaunay_discrepancy, a MATLAB code which measures the amount by which a triangulation fails the local delaunay test;

triangulation_display, a MATLAB code which displays the nodes and elements of a triangulation on the MATLAB graphics screen;

triangulation_histogram, a MATLAB code which computes histograms of data over a triangulation.

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

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

triangulation_order3, a directory which contains a description and examples of order 3 triangulations.

triangulation_order6, a directory which contains a description and examples of order 6 triangulations.

triangulation_orient, a MATLAB 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 MATLAB code which reads data defining a triangulation and creates a postscript image of the nodes and triangles.

triangulation_q2l, a MATLAB 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_quad, a MATLAB code which estimates the integral of a function over a triangulated region.

triangulation_quality, a MATLAB code which reads data defining a triangulation and computes a number of quality measures.

triangulation_rcm, a MATLAB code which can reorder the nodes of a triangulation so that the bandwidth of the associated adjacency matrix is reduced.

triangulation_refine, a MATLAB 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_test

voronoi_neighbors, a MATLAB code which is given a set of points in the plane and determines the voronoi adjacency structure, that is, which points share an edge of the voronoi diagram.

Reference:

  1. Marc deBerg, Marc Krevald, Mark Overmars, Otfried Schwarzkopf,
    Computational Geometry,
    Springer, 2000,
    ISBN: 3-540-65620-0.
  2. Joseph ORourke,
    Computational Geometry,
    Second Edition,
    Cambridge, 1998,
    ISBN: 0521649765,
    LC: QA448.D38.

Source Code:


Last revised on 11 April 2019.