Gmsh FAQ
GMSH FREQUENTLY ASKED QUESTIONS ($Date: 2004/09/15 02:54:11 $)
GENERAL
- What is Gmsh?
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.
- What does 'Gmsh' mean?
Nothing ;-)
(People tend to pronounce 'Gmsh' as 'Gee-mesh'.)
- Where can I find more information?
http://www.geuz.org/gmsh/ is the primary site to obtain information
about Gmsh. You will for example find a searchable archive of the Gmsh
mailing list (<gmsh@geuz.org>) on this site.
INSTALLATION
- Which OSes does Gmsh run on?
Windows 95/98/NT/2000, Linux (with glibc > 2.1), Compaq Tru 64 Unix
(aka OSF1), Sun OS, IBM AIX, SGI IRIX, HP-UX.
- Are there additional requirements to run Gmsh?
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 . For
Windows versions: please read the README.txt file included in the
distribution.
GENERAL PROBLEMS
- Gmsh complains about missing libraries.
Try 'ldd gmsh' to check if all required shared libraries are installed on
your system. If not, install them.
- Gmsh does not work under HP-UX.
The HP version is reported not to work with HP's native OpenGL. You
should install Mesa instead.
- Gmsh keeps re-displaying its graphics when other windows partially hide the graphical window.
Disable opaque move in your window manager.
GEOMETRY PROBLEMS
- Does Gmsh support NURBS curves/surfaces?
Not yet.
- Gmsh is very slow when I use many transformations (Translate, Rotate, Symmetry, Extrude, etc. ). What's wrong?
The default behavior of Gmsh is to check and suppress all duplicate
entities (points, lines and surfaces) each time a transformation
command is issued. This can slow down things a lot if many
transformations are performed. There are two solutions to this
problem:
- you may save the unrolled geometry in another file (e.g. with
gmsh file.geo -0 > flat.geo), and use this new file for subsequent
computations;
- you may set the 'Geometry.AutoCoherence' option to 0. This will
prevent any automatic duplicate check/replacement. If you still
need to remove the duplicates entities, simply add 'Coherence;' at
strategic locations in your geo files (e.g. before the creation of
line loops, etc.).
MESH PROBLEMS
- What should I do when the 2D unstructured algorithm fails?
Try the new isotropic algorithm:
- on the command line: gmsh -algo tri
- in the interface: Options->Mesh->2D->New isotropic algorithm
- in input files: Mesh.Algorithm = 3
The old 2D algorithm will disappear once all its features are
integrated in the new one, so please don't send bug reports on the
old algorithm anymore.
- The new 2D unstructured algorithm also fails! Then what?
Send us your geometry, and we will investigate. Please keep the
following in mind though: 2D (surface) meshes are generated by
projecting a 2D mesh in the mean plane of the surface. This gives nice
results only if the surface curvature is small enough. Otherwise you
have to cut the surface in pieces. For example, using half circles
to define a cylinder will fail with the unstructured algorithm (you
should define arcs with angles smaller than Pi, and thus define the
cylinder with at least three patch surfaces).
- What should I do when the 3D unstructured algorithm fails?
The 3D algorithm is still very experimental. Try to change some
characteristic lengths in your input file to generate meshes that
better suit the geometrical details of your structure.
- I changed the characteristic lengths, but the 3D algorithm still does not work. What should I do?
Buy a professional mesh generator ;-)
- The 3D algorithm is reaaaaally slow. Can you improve it?
We are working on it. But since we have a (very) limited amount of
time to spend on the development of Gmsh, this may take a while. For
very big meshes, see the answer to the previous question...
- The quality of the elements generated by the 3D algorithm is very bad.
Yes, this is normal(!). At the time of this writing, we do not
post-process the 3D Delaunay mesh, so that some (typically 0.1 to 5%)
badly shaped tetrahedra will likely subsist in any unstructured
3D mesh. This may/should be fixed in the future.
- Non-recombined 3D extruded meshes sometimes fail.
The swapping algorithm is not very clever at the moment. Try to change
the surface mesh a bit, or recombine your mesh to generate prisms or
hexahedra.
SOLVER PROBLEMS
- How do I integrate my own solver with Gmsh?
If you want to simply launch a program from within Gmsh, just edit
the options to define your solver commands (e.g. Solver.Name0,
Solver.Executable0, etc.), and set the ClientServer option to zero
(e.g. Solver.ClientServer0 = 0).
If you want your solver to interact with Gmsh (for error messages,
option definitions, post-processing, etc.), you will need to link your
solver with the 'GmshClient.c' file and add the appropriate function
calls inside your program. You will of course also need to define your
solver commands in an option file, but this time you should set the
ClientServer variable to 1 (e.g. Solver.ClientServer = 1). A complete
example on how to build a solver that interacts with Gmsh is available
at http://www.geuz.org/gmsh/doc/mysolver.tgz.
- On Windows, Gmsh does not seem to find the solver executable. What's wrong?
- the shell executable 'sh.exe' has to be in your path;
- the solver executable (e.g. 'getdp.exe') has to be in the same
directory as 'sh.exe', unless you configure sh accordingly
- if an absolute path is given to locate getdp.exe, it should begin
with /cygwin/drive/.
POST-PROCESSING PROBLEMS
- The graphics display very slowly.
Are you are executing Gmsh from a remote host (via the network) without GLX?
You should turn double buffering off (with the -nodb command line option).
- Big post-processing scenes are slow to display.
Try display lists (-dl command line option).