deal.II comes with quite extensive online documentation, which falls into several categories. They are listed below.
First, there is the README file of the library. It gives information on system requirements, installation, and copyright.
The tutorial is for new users of the library. It explains the basic elements of finite element programs based on the library, and provides small example programs. You can also reach the tutorial link from the menu bar at the left.
Note that the tutorials need to be generated first, if you download deal.II. Please follow the instructions in the ReadMe file on how to do this.
The programming interface/manual pages are what you will need most often as a reference of all classes, functions and variables in the library. They are extensively documented (presently more than 5000 pages if printed), and generated by Doxygen. There is also a quick link to these pages from the menu bar at the left.
The documentation uses many of the features of Doxygen. In particular, the link takes you straight to a page that lists modules, a way to group classes with similar purposes. This may be what you are probably interested in when you are not yet familiar with the library. If you already know your way around and want to look up the signature of a particular member function, for example, you may go to the class view or choose any of the other ways in which Doxygen allows you to navigate through the documentation.
Just as for the tutorials, the API docs need to be generated first, if you download deal.II. Please follow the instructions in the ReadMe file on how to do this.
If you plan to develop your own applications using deal.II, it might be worth to take a look at this page.
We have a few reports written on deal.II, the following of which are online:
A paper on the principles, goals, and methods of deal.II by the deal.II main authors Wolfgang Bangerth, Ralf Hartmann and Guido Kanschat. This paper has appeared in the ACM Transactions on Mathematical Software. For the full reference, see our publications page.
A report describing the background, purpose and methods of deal.II. This report is superceded by the paper listed above.
A publication on the basics of dimension independent programming in deal.II (by Wolfgang Bangerth). This explains some of the fundamentals of the library's design, though rather briefly due to the page limit imposed for the publication.
This publication has initially appeared in the proceedings of the 16th IMACS World Congress, Lausanne, Switzerland, 2000. See the publications page for the full reference as well as a way to obtain a reprint of the original paper as a postscript of PDF file.
A brief report about the classes involved in the iterators and accessors used to access cells in the triangulations and the data thereon, such as their geometry, the number of the degrees of freedom, data values, etc. You may want to read this object or parts of it if you want to know what information is available from iterators (by Wolfgang Bangerth).
A report on how multithreading is implemented and supported in deal.II (by Wolfgang Bangerth). This report is also available as preprint 2000-11 from the IWR preprint server. However, this report described a previous version of the threading scheme. After deal.II 3.4, this scheme was replaced by another one that is more flexible and easier to use. While the general observations of the report are still valid, the syntax presented there is no longer. There is a short document describing the new syntax and some considerations we had in implementing it.
A brief report on mapping functions of higher polynomial
degrees (by Ralf Hartmann). These allow the realisation
of higher order boundary approximations. This report
gives the theoretical background of the
MappingQ
class.
A report on assembling matrices (by Wolfgang Bangerth). This report looks in particular at how matrices are assembled for vector-valued problems, and how things change if vector-valued finite elements are used for which the shape functions have more than one non-zero vector component, such as Nedelec or Raviart-Thomas elements. There are printable versions of the report in postscript and PDF format.
A very detailed report on Nedelec elements (by Anna Schneebeli, University of Basel, Switzerland). It explains the construction and application of Nedelec edge elements for H-curl spaces, as used, for example, in the numerical solution of the Maxwell equations. It also gives numerical results obtained with deal.II. There is also a postscript version of the report.
A list of publications about and based on deal.II can be found on this page. There is also a list of presentations on development with and applications based on deal.II.
deal.II is copyright of the deal.II authors, Wolfgang Bangerth, Ralf Hartmann and Guido Kanschat. It is a joint effort of the three main authors and quite a number of contributors. deal.II is distributed under an OpenSource license. The full text of the license can be found in license.html.
We have a mailing list for discussion of issues of general interest to users and developers of deal.II.
More specific questions may be sent to the authors immediately at the address firstName.last_name at dealii.org.