DISTMESH_3D
A Simple Mesh Generator in MATLAB


DISTMESH_3D is a set of MATLAB routines for the generation and manipulation of unstructured meshes in 3D. The code is relatively simple, and the user is able to define a variety of geometric shapes, and desired mesh densities.

DISTMESH_3D is, pretty much, simply the subset of Persson and Strang's DISTMESH package that works on 3D problems.

Related Programs:

CVT_TET_MESH is an executable FORTRAN90 program which uses CVT methods to compute a tet mesh in a region.

DISTMESH is a library of MATLAB routines for creating meshes, for 2D or 3D data.

GEOMPACK is a MATLAB library of routines which can compute the tet mesh for a set of 3D points, as well as the adjacency information.

MATLAB has a command delaunay3 that can compute the tet mesh for a set of 3D points.

TABLE is a data directory which contains a description and examples of TABLE files.

TABLE_IO is a library of MATLAB routines for reading and writing TABLE files.

TABLE_TET_MESH is an executable FORTRAN90 program which can compute the tet mesh for a given set of points.

TEST_TET_MESH is a library of FORTRAN90 routines defining test problems for 3D tetrahedral meshing.

TET_MESH is a library of MATLAB routines useful for tet mesh calculations.

TET_MESH_DISPLAY_MATLAB is an executable MATLAB program which can read in the node and tetra files defining a tet mesh and display a wireframe image.

TET_MESH_DISPLAY_OPEN_GL is an executable C++ program which can read in the node and tetra files defining a tet mesh and display a wireframe image using OPEN_GL.

TET_MESH_L2Q is an executable MATLAB program which converts a linear to quadratic tet mesh.

TET_MESH_ORDER4 is a directory which contains a description and examples of a tet mesh using order 4 elements.

TET_MESH_ORDER10 is a directory which contains a description and examples of a tet mesh using order 10 elements.

TET_MESH_Q2L is an executable MATLAB program which converts a quadratic to linear tet mesh.

TET_MESH_QUALITY is a MATLAB program which computes the quality of a tet mesh.

TET_MESH_RCM is an executable MATLAB program which takes a tet mesh and relabels the nodes to reduce the bandwidth of the corresponding adjacency matrix.

TET_MESH_REFINE is an executable MATLAB program which can refine a tet mesh.

TET_MESH_TET_NEIGHBORS is an executable MATLAB program which computes the tetrahedral adjacency information.

Reference:

  1. http://math.mit.edu/~persson/
    Per-Olof Persson's web site.
  2. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, June 2004, pages 329-345,
    Available online at ../../pdf/persson_distmesh.pdf

DISTMESH is Copyright (C) 2004 Per-Olof Persson.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

If you use DISTMESH in any program or publication, please acknowledge its authors by citing the reference.

Source Code:

Routines to write data to files (borrowed from TABLE_IO) include:

Examples and Tests:

Problem #1 is the 3x1x1 channel:

Problem #2 is the vertical cylinder:

Problem #3 is the unit cube:

Problem #4 is the unit sphere:

Problem #5 is the cylinder with a spherical hole:

You can go up one level to the MATLAB source codes.


Last revised on 20 March 2006.