Select Git revision
Forked from
gmsh / gmsh
20669 commits behind the upstream repository.
-
Christophe Geuzaine authoredChristophe Geuzaine authored
gmsh.html 10.21 KiB
<HTML>
<HEAD>
<TITLE>Gmsh: A three-dimensional finite element mesh generator with
built-in pre- and post-processing facilities</TITLE>
<meta name="description" content="Gmsh is a free automatic
three-dimensional finite element mesh generator with pre- and
post-processing facilities.">
<meta name="keywords" content="free mesh generator, free finite element software,
mesh generation, mesh refinement, free, delaunay triangulation,
automatic, maillages automatiques, mailleur, modelisation, opengl,
maillages 3D, 3D meshes, 3-D meshes, maillages 3-D, voronoi,
adaptation de maillages, mesh adaptation, modeling">
<META name="Autor-Handle" content="Christophe.Geuzaine@advalvas.be">
<LINK href="/general.css" rel="stylesheet">
</HEAD>
<BODY>
<h1 align="center">Gmsh: a three-dimensional finite element mesh
generator with built-in pre- and post-processing facilities</h1>
<p>
<h3 align="center">Christophe Geuzaine and Jean-François Remacle</h3>
<p>
<h3 align=center>Version <a href="doc/VERSIONS">1.27</a>, 9 October 2001</h3>
<p>
<h2>Description</h2>
Gmsh is an automatic three-dimensional finite element mesh generator,
primarily Delaunay, with built-in pre- and post-processing
facilities. Its primal goal is to provide a simple meshing tool for
academic test cases with parametric input and up to date visualization
capabilities. One of the strengths of Gmsh is its ability to respect a
characteristic length field for the generation of adapted meshes on
lines, surfaces and volumes. These adapted meshes can be mixed with
simple structured (transfinite, elliptic, etc.) meshes in order to
augment the flexibility.
<h3>Geometrical Entity Definition</h3>
Parameterized geometries are created by successively defining points,
oriented curves (segments, circles, ellipsis, splines, etc.), oriented
surfaces (plane surfaces, ruled surfaces, etc.) and volumes. Compound
groups of geometrical entities can be defined, based on these
elementary parameterized geometric entities. Data can be defined
either interactively thanks to the menu system, or directly in the ASCII
input files.
<h3>Mesh Generation</h3>
A finite element mesh is a tessellation of a given subset of
R<sup>3</sup> by elementary geometrical elements of various shapes (in
this case lines, triangles, quadrangles, tetrahedra, prisms and
hexahedra), arranged in such a way that two of them intersect, if they
do, along a common face, edge or node, and never otherwise. All the
finite element meshes produced by Gmsh as unstructured, even if they
were generated in a structured way. This implies that the elementary
geometrical elements are defined only by an ordered list of their
vertices (which allows the orientation of all their lower order
geometrical entities) but no predefined relation is assumed between
any two elementary elements.
<p>
The procedure follows the same order as for the geometry creation:
curves are discretized first; the mesh of the curves is then used to
mesh the surfaces; then the mesh of the surfaces is used to mesh the
volumes. This automatically assures the continuity of the mesh when,
for example, two surfaces share a common curve. Every meshing step is
constrained by the characteristic length field, which can be uniform,
specified by characteristic length associated to elementary
geometrical entities, or associated to another mesh (the background
mesh).
<p>
For each meshing step (i.e. the discretization of lines, surfaces and
volumes), all structured mesh directives are executed first, and serve
as additional constraints for the unstructured parts. The implemented
Delaunay algorithm is subdivided in the following five steps for
surface/volume discretization:
<p>
<ol>
<li>
trivial meshing of a box including the convex polygon/polyhedron
defined by the boundary nodes resulting from the discretization of the
curves/surfaces;
<li>
creation of the initial mesh by insertion of all the nodes on the
curves/surfaces thanks to the Bowyer algorithm;
<li>
boundary restoration to force all the edges/faces of the
curves/surfaces to be present in the initial mesh;
<li>
suppression of all the unwanted triangles/tetrahedra (in
particular those containing the nodes of the initial box);
<li>
insertion of new nodes by the Bowyer algorithm until the
characteristic size of each simplex is lower or equal to the
characteristic length field evaluated at the center of its
circumscribed circle/sphere.
</ol>
<h3>Scalar and Vector Field Visualization</h3>
Multiple post-processing scalar or vector maps can be loaded and
manipulated (globally or individually) along with the geometry and the
mesh. Scalar fields are represented by iso-value curves or color maps
and vector fields by three-dimensional arrows or displacement
maps. Post-processor functions include offsets, elevation, interactive
color map modification, range clamping, interactive and scriptable
animation, vector postscript output, etc. All post-processing options
can be accessed either interactively or through the the input ascii
files.
<h2>Documentation</h2>
<ul>
<li><A href="/gmsh/doc/tutorial.html">Online tutorial</A>
(Please <b>read</b> this tutorial before sending any question to the mailing list!)
<li><A href="/gmsh/doc/FORMATS">Mesh and post-processing file formats</A>
<li><A href="/gmsh/doc/VERSIONS">Version history</A>
<li><a href="/gmsh/doc/FAQ">Frequently asked questions</a>
<li><a href="/gmsh/doc/KEYWORDS">List of all reserved keywords</a>
<li><a href="/gmsh/doc/README.txt">For Windows versions only</a>
<!------------
<li><a href="/gmsh/doc/BUGS">List of open bugs</a>
<li><a href="/gmsh/doc/CONTRIBUTORS">List of contributors</a>
----------->
</ul>
<FORM METHOD=GET ACTION="http://www.geuz.org/search/search-geuz.cgi">
<INPUT SIZE=30 NAME="q" VALUE="">
<INPUT TYPE="submit" VALUE="Search!">
<INPUT TYPE=HIDDEN NAME="ul" VALUE="/gmsh/">
</FORM>
<h2>Mailing lists</h2>
<ul>
<li><a href="/mailman/listinfo/gmsh/">gmsh</a> is the public mailing
list for Gmsh users. You should send all questions, bug reports,
requests or pleas for changes related to Gmsh to this list. The
list is archived <a href="/pipermail/gmsh/">here</a>
<li><a href="/mailman/listinfo/gmsh-announce/">gmsh-announce</a> is
a moderated (i.e. "read-only") list for announcements about
significant Gmsh events. You should subscribe to this list to get
information about software releases, important bug fixes and
other Gmsh-specific news. The list is archived <a
href="/pipermail/gmsh-announce/">here</a>.
</ul>
<h2>Download</h2>
Executable versions of Gmsh are available for Windows and for most of
the classical UNIX platforms. These versions are free, and are all
dynamically linked with OpenGL<a href="#opengl-footnote"
name="opengl-footmark"><sup>1</sup></a>. The only thing required if
you use Gmsh is to mention it in your work. The tutorial and demo
files are included in the archives.
<ul>
<li><A href="/gmsh/bin/gmsh-1.27-Windows.zip">Windows zip archive (95/98/NT)</A>
<li><A href="/gmsh/bin/gmsh-1.27-1.i386.rpm">Linux RPM (Red Hat 6.2 and compatible, i386, glibc 2.1)</A>
<li><A href="/gmsh/bin/gmsh-1.27-Linux.tgz">Linux tarball (i386, glibc 2.1)</A>
<li><A href="/gmsh/bin/gmsh-1.27-OSF1.tgz">Compaq Tru64 tarball (OSF 4.0)</A>
<li><A href="/gmsh/bin/gmsh-1.27-SunOS.tgz">Sun tarball (SunOS 5.5)</A>
<li><A href="/gmsh/bin/gmsh-1.27-AIX.tgz">IBM tarball (AIX)</A>
<li><A href="/gmsh/bin/gmsh-1.27-IRIX.tgz">SGI IRIX tarball (IRIX 6.5)</A>
<li><A href="/gmsh/bin/gmsh-1.27-HP-UX.tgz">HP tarball (HPUX 10.20)</A>
</ul>
<p>
<a name="opengl-footnote"></a><a
href="#opengl-footmark"><sup>1</sup></a>For Unix versions only: you
should have the OpenGL libraries installed on your system, and in the
path of the library loader. A free replacement for OpenGL can be found
at <A
href="http://mesa3d.sourceforge.net">http://mesa3d.sourceforge.net</A>
(a Linux RPM is directly available <A
href="/gmsh/thirdparty/Mesa-3.2-2.i386.rpm">here</A>). Remember that
you may have to reconfigure the loader (ldconfig under Linux) or
modify the LD_LIBRARY_PATH (or SHLIB_PATH on HP) environment variable
in order for Gmsh to find the libraries.
<h2>Credits</h2>
Gmsh is developed by <A
HREF="mailto:Remacle@scorec.rpi.edu">Jean-François Remacle</A>
(currently with the <a href="http://www.rpi.edu">Rensselaer
Polytechnic Institute</a>) and <A
HREF="mailto:Christophe.Geuzaine@ulg.ac.be">Christophe Geuzaine</A>
(currently with the <a href="http://www.ulg.ac.be">University of
Liège</a>). Please use <A
HREF="mailto:gmsh@geuz.org">gmsh@geuz.org</A> instead of our personnal
e-mails to send questions or bug reports!
<h2>Gallery</h2>
Some pictures made with Gmsh:
<ul>
<li> Meshes of
<A href="/gmsh/gallery/Mesh1D.gif">lines</A>,
<A href="/gmsh/gallery/Mesh2DCiss.gif">surfaces</A> and
<A href="/gmsh/gallery/Mesh3D.gif">volumes</A>
respecting a given characteristic length field (d(r) = a (sin(X) * sin (Y)) + b).
<li> 3D mesh of an
<A href="/gmsh/gallery/bigelec4.gif">electrical component</A>
(courtesy S.K. Choi).
<li> Part of a <A href="/gmsh/gallery/shoulder.gif">shoulder bone</a>
(Javad Fatemi).
<li> A mechanical part in the demo files:
<A href="/gmsh/gallery/ex09-0.gif">pict1</A>,
<A href="/gmsh/gallery/ex09-1.gif">pict2</A>,
<A href="/gmsh/gallery/ex09-2.gif">pict3</A>.
<li> Mach number on a F16
<A href="/gmsh/gallery/f16-1.gif">pict1</A>,
<A href="/gmsh/gallery/f16-2.gif">pict2</A>,
<A href="/gmsh/gallery/f16-3.gif">pict3</A>,
<A href="/gmsh/gallery/f16-5.gif">pict4</A> (courtesy P. Geuzaine).
<li> Example of on-screen information display:
<A href="/gmsh/gallery/infodisplay1.gif">1</A>,
<A href="/gmsh/gallery/infodisplay2.gif">2</A>.
<li> A 3D <A href="/gmsh/gallery/adap.gif">adapted mesh</A>.
<li> Smooth 2D <A href="/gmsh/gallery/blob.gif">colormap</A> and
3D <A href="/gmsh/gallery/density.mov">quicktime movie</A>.
<li> Some didactic animations about computational electromagnetics at
<A href="http://elap.montefiore.ulg.ac.be/elm/demos_en.html">ELAP</A>.
</ul>
<h2>Links</h2>
Check out <A HREF="/getdp/">GetDP</A>, a scientific
computation software for the numerical solution of
integro-differential equations, using finite element and integral type
methods.
<p>
Back to <a href="/">geuz.org</a>.
<p>
$Date: 2001-10-12 17:57:56 $
</BODY>
</HTML>