deal.II: A Finite Element Differential Equations Analysis Library

http://www.dealii.org/

What is deal.II?

deal.II is a C++ program library targeted at the computational solution of partial differential equations using adaptive finite elements. It uses state-of-the-art programming techniques to offer you a modern interface to the complex data structures and algorithms required.

The main aim of deal.II is to enable rapid development of modern finite element codes, using among other aspects adaptive meshes and a wide array of tools classes often used in finite element program. Writing such programs is a non-trivial task, and successful programs tend to become very large and complex. We believe that this is best done using a program library that frees the application programmer from aspects like grid handling and refinement, handling of degrees of freedom, input of meshes and output of results in graphics formats, and the like. Also, support for several space dimensions at once is included in a way such that programs can be written independent of the space dimension without unreasonable penalties on run-time and memory consumption.

deal.II is widely used in many academic and commercial projects. For its creation, the principal authors have received the 2007 J. H. Wilkinson Prize for Numerical Software. It is also part of the industry standard SPEC CPU 2006 benchmark suite used to determine the speed of computers and compilers, and comes pre-installed on the machines offered by the commercial Sun Grid program.

deal.II emerged from work at the Numerical Methods Group at Universität Heidelberg, Germany, which is at the forefront of adaptive finite element methods and error estimators. Its main authors presently work at Texas A&M University and the Institute of Aerodynamics and Flow Technology of the German Aerospace Center (DLR) in Braunschweig. Other contributors and several hundred users are scattered around the world (see our credits page for a detailed list of people contributing to deal.II).

What deal.II can offer you

If you are active in the field of adaptive finite element methods, deal.II might be the right library for your projects. Among other features, it offers:

  • Support for one, two, and three space dimensions, using a unified interface that allows to write programs almost dimension independent.

  • Handling of locally refined grids, including different adaptive refinement strategies based on local error indicators and error estimators. Both hp, and hp refinement is fully supported for continuous and discontinuous elements.

  • Support for a variety of finite elements: Lagrange elements of any order, continuous and discontinuous; Nedelec and Raviart-Thomas elements of any order; elements composed of other elements.

  • Extensive documentation: all documentation is available online in a logical tree structure to allow fast access to the information you need. If printed it comprises more than 450 pages of tutorials, several reports, and presently some 4,000 pages of programming interface documentation with explanations of all classes, functions, and variables. All documentation comes with the library and is available online locally on your computer after installation.

  • Modern software techniques that make access to the complex data structures and algorithms as transparent as possible. The use of object oriented programming allows for program structures similar to the structures in mathematical analysis.

  • Fast algorithms that enable you to solve problems with up to several millions of degrees of freedom quickly. As opposed to programming symbolic algebra packages the penalty for readability is low.

  • A complete stand-alone linear algebra library including sparse matrices, vectors, Krylov subspace solvers, support for blocked systems, and interface to other packages such as PETSc and METIS.

  • Support for several output formats, including many common formats for visualization of scientific data.

  • Support for a variety of computer platforms and compilers. On multiprocessor machines, many operations are parallelized. deal.II also supports computations on distributed clusters of computers coupled via MPI.

  • Free source code under an Open Source license, and the invitation to contribute to further development of the library.

Online documentation

deal.II has quite extensive online documentation. It is available for several versions and can be found by clicking on the link for your version below.

Those parts of the online documentation that are most often accessed are the API references. For your convenience, they are also listed in the navigation panel on the left.

Contributed documentation: The deal.II Wiki is hosted at Università di Pavia by Luca Heltai. Please consider contributing questions and solutions there! It is probably the best forum for sharing information on deal.II beyond the mailing lists.

News: To see what is going on with deal.II, visit the News page.

License: deal.II is Open Source, in the sense advocated by the Open Source Initiative. You are free to use it for non-commercial purposes, i.e. in particular in research and education, and you are guaranteed full access to the source code. For the details, see the ReadMe file, and the full text of the license.

Future: We have a page where we list our plans for extensions of deal.II in the future.

Contact

There are two email addresses for contact with deal.II developers and users:

The deal.II mailing list is used to communicate everything interesting to all deal.II users. This includes bug reports and to if you want to announce enhancements you made. Information on updates will also be distributed through the mailing list. It may not be used for job offers and to ask for internships!.

Send email to Wolfgang.BangerthGuido.Kanschat or Ralf.Hartmann at dealii.org if you have questions about obtaining deal.II, license issues and anything that applies to the library immediately.

We appreciate comments and suggestions on deal.II. They can be addressed to either of the addresses above, depending on their public or private nature.

Legal Notice: Some countries' laws require us to post this legal notice. Please write to the responsible federal judges if you find this silly.

用户登录