[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tetgen



This is new from Si Hang--I though that people who are interested in femm
would also be interested in his new 3D mesh generator.

I've included a copy of his webpage at http://www.weboo.com/sh/tetgen.htm

Dave.
----
Tetgen

A Quality Tetrahedral Mesh Generator


Si hang
MS. in Computer Science
Zhejiang University P.R.China
sihang@xxxxxxxxx

Tetgen generates exact Delaunay tetrahedralizations, constrained (conforming)
Delaunay tetrahedralizations, and quality conforming Delaunay
tetrahedralizations.
Tetgen comes as standalone program, or as C++ library to be linked into
another application. It is available in source code status, and it should run
on any computer with a C++ compiler, e.g. cc/gcc under Unix/Linux and
bcc32/msvc under Windows 98/NT/2000. Actually Tetgen is a Triangle-like
program, the coding style and most features were derived from Triangle.

Tetgen (version 1.0) source code with user's manual is freely available for
academic and research purpose. Please note that although Tetgen is freely
available, it is copyrighted by the author and may not be sold or included in
commercial products without a license.

Features in Version 1.0.

Fast and robust algorithms. It use the randomized incremental-flip algorithm
and Delaunay refinement algorithm, optionally uses robust geometric
predicates algorithm to compute Delaunay tetrahedralization of a given 3D
point set and quality conforming Delaunay tetrahedralization of a mesh model.
In the worst case, this is quadratic in the number of input points, butfor
most cases it is closer to linear. For example, on my PC workstation
(PIII-500, 128MB), it takes a few seconds to a few minutes to generate
Delaunay tetrahedralization for random distributed point sets from 10k to
1000k. The quality mesh generation speed is about 3k elements and 600 Steiner
points per second to refine a 10x10x10 cube.

Capable of generating large grids. Assuming there is sufficient memory on
your computer, and no small features in your input mesh model. Tetgen's
Delaunay based refinement algorithm and can generate meshes containing
millions of elements and is guaranteed to terminate. For example, it takes
about 12 minutes CPU times to generate 1,864,984 tetrahedrons and 301,174
points for a 10x10x10 cube on my PIII-500 pc workstation.

Simple input/output File Format. The input geometric model to Tetgen is a
Piecewise Linear Complex (PLC), and is described in a .poly file. This file
can be created by the user, or generated by other CAD programs, which have
the ability of automatically discretize a geometric model. The output is
optional, includes nodes file(.node), elements file(.ele), (convex hull) face
file(.face) and neighbor elements file(.neigh), also have files (.ele.gid,
.face.gid, .off) for viewing mesh result by other shared programs(Gid,
Geomview)

Refinement control is easy. User can specify the suitable radius-edge ratio
value or use default value 2.0, to control the global quality of mesh. Thus
can obtain an almost good mesh with good grading. User also can specifythe
maximum element volume in different regions and result a non-uniform element
size mesh. In addition, Tetgen allow user to assign arbitrary number of
attributes associate with nodes and tetrahedral elements.

Easy programming interface. This feature is particular useful for FEM (FVM)
code developers. To call Tetgen as a function in other program, user only
need compile the Tetgen source code(without the tetmain.cpp) and link to a
library file, then it's only need to write a little code to call Tetgenin
their program, see tetmain.cpp for an quick and simple demo.

Download
Tetgen is distributed in source code state. The source codes of Tetgen only
uses the standard C/C++ library, it should run on all 32-bit and 64-bit
computer with a standard C++ compiler, e.g. cc/gcc under Unix/Linux and
bcc32/msvc under Windows 98/NT. Currently, I only compiled and tested Tetgen
with gcc-2.96 under Linux (Redhat 7.0), Borland C++ 5.5 bcc32 and Visual C++
6.0 under Wind98/NT/2000. If you have succeeded to compile Tetgen with other
compilers and under other platforms, please kindly let me know. if you use
Tetgen is to mention it in your work. The UserManual and some example data
files are included in the archives.
Download: Windows zip archive (.zip, file size: 660k)
Download: Linux tarball (.tar.gz, file size: 641k)
For viewing the mesh results: you also need one of following share programs:
Gid (academic version) (For Windows and Unix/Linux) (Recommend)
Geomview (For Unix/Linux only)

Instructions for using Tetgen

Installation
Compiling for Unix/Linux
Compiling for Windows98/NT/2000
Using Tetgen
Command line switches
Example of how to use command line switches
File formats
.node files
.ele files
.poly files
.face files
.neigh files
Troubleshooting (please read this before mailing me bugs)
References

A Brief Plea

If you use Tetgen especially if you use it to accomplish real work, I would
like very much to hear from you. A short letter or email (to
sihang@xxxxxxxxx) describing how you use Tetgen will mean a lot to me. The
more people I know are using this program, the more easily I can justify
spending time on improvements. If you use a mesh generated by Tetgen ina
publication, please include an acknowledgment as well. For other mesh
generation pointers, take a look at Robert Schneiders' Finite Element Mesh
Generation
page, the Mesh Generators page of Roger Young's Finite Element
Resources
catalogue, and Steve Owen's Meshing Research Corner. See also Nina
Amenta's Directoryof Computational Geometry Software.