There are also 2 mailing lists:
FEA-L: To get on this list, send email to firstname.lastname@example.org.
The first line of the body of the message should contain the statement
feusers: To get on this list, send email to email@example.com.
The first 2 lines of the body of the message should contain
Books and References for PDE and FEM
Axelsson, O.; Barker, V.A. 1984,
Finite Element Solution of Boundary Value Problems: Theory
An Adaptive Multilevel Approach to Parabolic Equations in Two
Space Dimensions, Dissertation, Freie Universitaet Berlin, 1991.
Bornemann, F.; Erdmann, B.; Kornhuber, R.,
Adaptive Multilevel Methods in Three Space Dimensions,
Int. J. Numer. Meths. in Eng., 36, 1993.
Braess, Dietrich. 1992,
Finite Elemente, Springer,
Braess, Dietrich. 1992,
Finite Elements: Theory, fast solvers, and applications in solid mechanics
translated from the 2nd German Edition by Larry Schumaker.
The book is directed to graduate students in mathematics and to
young researchers. We take into account that most of the research is now
concentrated on finite elements for hard problems and on the fast
solution of the resulting equations. Therefore the nonconforming
elements and saddle point problems get as much space as the conforming
elements. Moreover we treat the method of conjugate gradients and
multigrid methods. Finally we present an introduction to the
application of finite elements in solid mechanics which up to now
does not exist in textbooks in a similar way.
Brenner; Scott. 1994,
The Mathematical Theory of Finite Elements,
Numerical Methods for Differential Equations,
[G. Scott Lett] "very good".
Ciarlet, Philippe G. 1978,
The finite element method for elliptic problems,
Deuflhard, P.; Leinen, P.; Yserentant, H.,
Concepts of an Adaptive Hierarchical Finite Element Code.,
IMPACT, 1, 1989.
Numerik Partieller Differentialgleichungen,
Numerical Solution of Partial Differential Equations by the Finite
[Hans Sandholt] I found great pleasure to read it.
Elliptic Differential Equations. Theory and Numerical Treatment,
Springer Series in Computational Mathematics 18,
Iterative Solution of Large Sparse Systems of Equations,
Applied Mathematical Sciences, Vol. 95.,
[G. Scott Lett] A good book to start; helping to bridge the gap
between recipes and understanding.
Hughes, T.J.R. 1987.
The Finite Element Method
Monotone Multigrid Methods for Nonlinear Variational Problems.
Habilitationsschrift, Freie Universitaet Berlin, 1995.
Oden, J.T.; Reddy, J. N. 1976.
An introduction to the mathematical theory of finite elements.
New York: Wiley-Interscience
Schwarz, H.R. 1984.
Methode der Finiten Elemente.
Teubner. (In German)
Strang; Fix. 1973.
An Analysis of the Finite Element Method.
Wait, R.; Mitchell, A.R. 1985.
Finite Element Analysis and Applications.
John Wiley & Sons.
Zienkiewicz, O.C.; Morgan, K. 1983.
Finite Elements and Approximation.
J. Wiley & Sons
Sandia's Comparison of Meshing Software Packages
Sandia survey of meshing software (1998)
Albert Hines' Comparison of Meshing Software Packages
[Albert M. Hines, Feb 1996]:
This table reflects the best information that I can gather
to date on some of the more popular meshers. Many others exist
and may be better or worse than those listed here. This study was
conducted by Howmet, a manufacturing corporation with no incentive
to support or reject any package over another. Portions of the
study were also funded by your generous tax donations through an
ICCA program designed to enhance the capability of US investment
casting through (among many other things) automeshing software.
The meshes were used for heat transfer and fluid flow predominantly.
A limited amount of stress analysis and electromagnetics were also
investigated. The desired modeling analysis is a crucial factor
in determining whether a meshing package will support the
mesh quality and refinement necessary for a simulation.
(e.g. mesh quality is almost a non-issue for heat transfer,
but not for stress!) The geometries that I have considered
are aerospace turbine engine components: complex 3-D thin walled
structures. Bulky or spindly geometries may behave differently
(e.g. engine blocks, oil rigs, etc.).
The scale used is 0 to 10. A zero means that it meets none of my
expectations. A 10 means that it meets all of my expectations.
A cumulative score should not be obtained by adding columns.
Many entries are more important than others. Weighting for
the various tasks are different for each analyst/application.
The scores are often subjective and should be considered at best
approximate. They do not necessarily reflect the opinion of Howmet
Corporation or, for that matter, of anyone other than myself.
They are, however, the result of careful and expensive investigation
into the market.
SOFTWARE(5): OCTREE PATRAN MESHCAST HYPERMESH ALG
3-D SURFACE MESH (*)
automesh robustness (a) 9 8 7 4 3
automesh flexibilty (b) 4 6 8 7 5
number of elements (c) 10 6 7 6 8
meshing speed (d) 3 1 9 5 3
typical element quality (e) 1 8 7 4 5
semi-auto effectiveness N/A 7 3 10 6
mesh editing N/A 8 1 10 2
3-D SOLID MESH
automesh robustness (a) 8 7 (4) 7 N/A 4
automesh options (b) 6 7 7 N/A 6
number of elements (c) 10 4 (4) 5 N/A 3
meshing speed (d) 4 1 9 N/A 3
typical element quality (e) 2 6 (4) 7 N/A 4
semi-auto effectiveness N/A 4 N/A 9 6
mesh editing N/A 8 3 10 6
software vendor meshing (f) 8 2 9 5 8
auto-hex meshing N/A N/A N/A N/A 3
Ease of use (g) 3 4 9 8 4
I/O options 4 8 7 9 7
Error reporting 3 4 3 3 3
Barrier-free tech. support 8 1 10 6 3
Competent/helpful tech. support 6 6 8 7 8
Ease of install/maintenance 8 4 8 7 8
"Bug-free-ness" 6 7 3 4 4
COST(1) $12,000 $6800(2) $10,000(3) $4500 $5,525
* OCTREE surface mesh obtained by extracting faces of its solid elements.
(a) Should mesh the first time with given parameters. This refers to
(b) Includes things like a finely meshed boundary with coarsely meshed
interior, ignoring features smaller than a given size, multiple element
layers through thin sections, multiple meshing algorithms, etc. Refers
to tetrahedral elements.
(c) Being in industry, practicality is a must. Meshes > ~100,000 nodes
do not run in a reasonable amount of time in our lab. If a
program cannot mesh a part within this limitation, I consider
it unable to mesh the part, even if it might successfully
generate the mesh. Automeshers should allow the specification
of a target number of nodes. Any mesh above this size should
send a flag to remesh, ignoring small features.
(d) Again, from a practical point of view, there are limits beyond which I
consider the program to fail. The most glaring comparison is
between PATRAN and MeshCAST. A typical part that meshes less
than 10 minutes with MeshCAST normally takes several days to
mesh in PATRAN. It is likely that given infinite time, PATRAN
would succeed (after all, it contains the RPI finite octree
mesher as one of its algorithms!), however, I can't justify
tying a machine up for a week to find out if it will mesh (and often it
crashes at the end of the meshing cycle!).
(e) There are many if's and's & but's here. Basically I use aspect ratio and
dihedral angle for tetrahedra, jacobian at the gauss points for hex'es,
wedge's, and quad's, and interior angle for triangles. These are the only
element types that I use.
(f) For many problems, I could not successfully mesh the part, so I sent the
geometry to the software vendor. In other cases, I sent it specifically
to evaluate the software run under the developer's care. Score reflects
willingness, speed, size, and quality of the mesh received.
(g) I am partial to a Mac-like interface, which I consider to be the computer
world's 'reference standard'. Program should require minimal training and
manuals. All options should be available on the menus (no hidden or
cryptic commands). This is not just personal preference, but time and
dollars in training.
(1) Cost is annual lease, US dollars, except as noted. Platform is HP-735
network license. Cost is what we pay, not necessarily list price.
(2) Unigraphics common database module $3,000 extra (i.e. $9,800). Base
license includes one translator, we chose IGES.
(3) This price includes the fluids, thermal, radiation, solver modules. I am
not sure of the price of just MeshCAST by itself.
(4) This is very approximated assuming infinite meshing time.
(5) Versions tested: OCTREE: March 1,1995, P3: v1.4, Meshcast: v3.0.3,
Hypermesh: v2.00b, Algor: July, 1995.
PDE and FEM Software on the net
PDE and FEM Software on the net:
(See also Computational Geometry )
is an interactive environment for modeling and solving
scientific and engineering problems based on partial
is a collection of finite element libraries in C++
is a free system for introductory level finite element analysis. FElt
is intended largely as a teaching tool. At this stage it should be able
to handle most static and dynamic linear analysis problems (structural
and thermal) that you'd find in a one or two term introductory class in
finite element analysis; it also has some capabilities for modal and
spectral analysis. The FElt element library currently contains fifteen
elements ranging from a simple spring to an 8-node brick. The main
FElt applications are all built around a single intuitive, powerful,
and easy-to-use input syntax.
is a set of C++ classes for finite element work, garbage collection
algorithms, and sparse matrix algorithms. A bit rough; incomplete
in some areas.
linear scalar elliptic and parabolic problems in 1, 2, 3 space dimensions
with adaptive finite element methods.
Furthermore, the toolbox includes extensions for handling systems of
equations and example algorithms for nonlinear methods
used in obstacle, porous media or Stefan problems.
Core of the program is a variety og multilevel/multigrid preconditioners
for the arising linear systems.
This object-oriented code is written in C++ and can
be compiled with Gnu g++, version 2.7.2, and some other compilers.
If you want to compile with Gnu g++, version 2.6.3, you have to change
the definition of the complex-type in the file general.h.
was first developed by David Eppstein to triangulate point set
input in two dimensions, following the algorithm in "Provably Good Mesh
Generation" by Bern, Eppstein, and Gilbert. During the summer of 1991,
Scott Mitchell extended the program to triangulate polygonal regions with
holes, again in two dimensions. The algorithm followed borrows ideas both
from  and "Quality Mesh Generation in Three Dimensions" by Mitchell
Tripoint takes input from text files as the polygon to triangulate. Output
is also as text files, using the same data format. Points are represented
by their coordinates, and edges by the indecies of their endpoints.
There is a matlab code front end, called drawmesh.m. This allows the
graphical input of the input polygon using the mouse, and the display with
zooming of the output triangulation. There is also matlab code called
dispmesh.m, which allows the displaying of output only. This allows the
user freedom over how to generate the input.
The algorithm is similar to one in "Provably
Good Mesh Generation". The main differences include: Tripoint uses
connected component information while generating the quadtree, as in .
Tripoint does not cut dangling acute triangles from the input as a first step
as in . Ideally, as in , tripoint would center input verticies in
boxes, and use a very general and easy algorithm for triangulating
individual boxes. Instead, vertices are not centered, and
the ideal algorithm is used with added special case analysis for boxes near
an input vertex.
is free software
available on the Web for fully automatic unstructured finite element
mesh generation in two and three dimensions. It can generate meshes
for complex domains with curved boundaries and nonmanifold features.
QMG 2.0 can be run either from the shell, under Tcl/Tk (a freeware
scripting language) or Matlab. The Matlab version includes a simple
finite element solver. QMG is written in primarily in C++.
The main new feature of QMG2.0 (compared to QMG1.1) is its ability to
handle true curved geometry. QMG2.0 permits boundaries defined by
Bezier curves, triangular Bezier patches and quadrilateral
tensor-product Bezier patches. Representations of certain simple
curved geometries (cylinders, spheres, tori) using Bezier patches
are shipped with QMG.
is a comprehensive finite-difference, lumped parameter
(circuit or network analogy) tool for analyzing complex thermal/fluid
systems. It is used at over 300 sites in the aerospace, electronics,
petrochemical, and automotive industries.
is part of Craig Douglas' multigrid package. This is an
abstract solver. It is PDE, domain, and discretization independent.
It only handles linear problems, however. It is an ongoing project
with a number of contributors from around the world. Some of these
wish to remain anonymous. Serial, parallel, and semi-chaotic solvers
are or will be included during 1994. A paper describing this is in
the file mgnet/papers/Douglas/mad5.ps. This is an object oriented code.
The user interface is written in C. Most of the solvers are
written in Fortran-77+m4. The same calling sequence is used
independent of the data's type (real and complex, single and double
precision are supported). The user interface builds all of the truly
nasty data structures needed by the code. The ownership of this
code is convoluted.
is a two-dimensional quality mesh generator and delaunay triangulator.
Triangle generates exact Delaunay triangulations, constrained Delaunay
triangulations, and quality conforming Delaunay triangulations. The
latter can be generated with no small angles, and are thus suitable
for finite element analysis.
FreeFEM++ and FreeFEM3d
FreeFEM++ and FreeFEM3D
implement a language dedicated to the finite element method,
intended to ease the solution of PDEs.
They include a fast quadtree-based interpolation algorithm and a
language for the manipulation of data on multiple meshes
is software for incompressible Navier-Stokes equations.
It including all sources, manuals and many (!) demos for nonstationary flows
(as MPEG movies), is "downloadable" via Internet, see
is a package for solving elliptic partial
differential equations in general regions of the plane.
It is based on continuous piecewise linear triangular finite elements,
and features adaptive local mesh refinement, multigraph iteration,
and pseudo-arclength continuation options for parameter
dependencies. The package includes an initial mesh generator
and several graphics packages. Full documentation is provided in
PLTMG: A Software Package for Solving Elliptic Partial Differential Equations
- Users' Guide 8.0 (ISBN 0-89871-409-5), available from SIAM Publications.
PLTMG is provided as Fortran (and a little C) source code, in
both single and double precision versions. The included X-Windows GUI uses the
default Athena Widget set, and makes calls to standard library routines
of the X-Windows system, which must be loaded along with the PLTMG software.
PLTMG is available from Netlib (see Netlib ) and Mgnet.
includes a suite of portable fortran programs which automatically
discretize and use multigrid techniques to generate second- and fourth-order
approximations to elliptic Partial Differential Equations (PDEs) on
rectangular regions. The elliptic PDEs can be real or complex in two-
and three-dimensions with any combination of mixed derivate, specified, or
periodic boundary conditions. Multigrid V or W cycles which use point,
line(s), or planar relaxation and fully weighted residual restriction are
available for algorithm tuning to obtain optimal multigrid performance.
MUDPACK was written to avoid repeated "re-invention of the wheel" in human
code development time which can be at least as important as saving machine
is a collection of serial and parallel programs & libraries that
can be used to partitioning unstructured graphs, finite element
meshes, and hypergraphs, both on serial as well as on parallel
is an MPI-based parallel library that implements a variety of
algorithms for partitioning unstructured graphs, meshes, and for
computing fill-reducing orderings of sparse matrices.
is a library containing about 3000 procedures written in Fortran 77. These procedures were designed with the utmost concern for software portability.