There are several finite element libraries which are or have been developed at the numerical analysis group in Heidelberg:
One of the most advanced finite element libraries is deal.II (Differential Equation Analysis Library), developed and maintained by Wolfgang Bangerth and Guido Kanschat, with help and contributions by several other members of the group and around the world. deal.II is available freely for non-commercial purposes under an open source license.

deal.II is a total reimplementation of some ideas in the predecessor library DEAL, using a modern object oriented approach, placing emphasis on extendibility, maintainability, ease of use, and speed. It runs in one, two, and three space dimensions, and provides locally refined meshes, different finite elements, and many more features.

The Differential Equations and Optimization Environment library (DOpElib) is a software toolbox that provides a unified interface to high level algorithms such as time-stepping methods, nonlinear solvers and optimization routines. This structure ensures that the user is only required to write those sections of code that are specific to the considered problem. Second, the exchange of parts of the used routines is possible with only a few lines of code to change instead of large reimplementations.

At the moment there are several wrappers to deal.II in order to use their finite elements and linear solvers. DOpElib can be used for solving stationary and nonstationary PDE problems as well as optimal control problems constrained by PDEs

The simulation toolkit Gascoigne is developed for incompressible, compressible, non-reacting and reacting flows in two and three dimensions. It combines error control, adaptive mesh refinement and a fast solution algorithm based on multigrid methods. The discretization of the underlying partial differential equations is done by stabilized finite elements on locally refined meshes. This allows the treatment of complex geometries including curved boundaries.
RoDoBo is a software package for solving optimization problems governed by stationary and nonstationary partial differential equations with interface to the finite element toolkit Gascoigne. This C++ library is developed for complex optimal control and parameter identification problems. It combines modern optimization techniques for large scale problems with established numerical methods for solving partial differential equations and efficient checkpointing algorithms for reducing the required amount of storage.
VisuSimple is an interactive visualization and graphics/mpeg-generation program for 2D- and 3D-data in the VTK-format - an easy to implement visual data format.

Using the graphical interface numerical data can be displayed in multiple ways simultaniously, e.g. as a mesh, a carpet, as a vectorfield (aka hedgehogs), boundarylines, isolines.... In all of these different layers of data, each of these views can be individually configured, moved, colored in a dialogbox. Hedgehogs can be normalized, cut off in length; datavalues can be exactly pinpointed...

Since VisuSimple is programmed using a well known scripting language and the excellent visual data processing toolkit VTK, modifications can be practically tested and integrated interactively into the source. The language Tcl is easily learned and so modifications can even be made by Tcl-quickstarters.

We provide the code of VisuSimple free to the public under an MIT-like-license - anyone is free to download it and apply their own modifications and even redistribute these under basic constrictions.

Adaptive Finite Elements Methods
for Solving Differential Equations
Sample Programs for Solving Practical Exercises. Download