Class notes for 2008/08/26

Tasks for today: Get a copy of the library, read the readme file, and get things installed.

Getting a copy

A copy of the software has been placed into a subversion repository that we will use collectively throughout the semester. Subversion is a version control system (similarly to, but more modern than the better known Concurrent Version System CVS) where a program's source code is located in a central archive. Everyone who wants to work with it can check out a copy into a local directory. One can then edit and improve that version, and if one is confident that the changes made are reasonable, commit this modified version back into the repository from where others can then get this improved version. Even if one doesn't make any changes, one may want to get the newest version from the repository every once in a while by "updating" one's local copy.

The repository we will use for this class is located at where you can browse the latest version at all times, file by file. Of course getting a package of several thousand files one file at a time is not practical, but this website is a frontend for subversion only anyway, so let's use subversion to get the entire package at once by "checking a version out":

    svn checkout

After doing so, you should have a complete copy of the latest state of the library in a subdirectory called deal.II.

For later reference: there is a book on subversion, of which to everyone's delight there is an online version with the entire content at You will probably have to consult this reference sometime in the future.

Installation the library

The next step is to get it installed. That means, you have to compile the library, and also generate documentation -- as a matter of fact, almost all the documentation you find on the webpage is also available locally, so you can work offline and still have access to the documentation.

To get going, point a browser to the file doc/index.html that is your entry point into the documentation of the library. Select the README link at the left to get to the ReadMe file first -- it describes installation of the library. If you're adventurous, assume that you have all the right software and skip the first part by going straight to the installation instructions. Read those.

There will probably not be any time to actually compile the software, so skip that part and only generate the documentation, as described in the last paragraph of that section. After class, please go back and actually compile the software. You should also read over the rest of the ReadMe file.

From there on

Depending on how much time we will then still have, we will take a look at some parts of the documentation and where to go from there. If you already want to take a look: in the menubar at the left of the readme file (or the index.html file, for that matter), there are entries "Tutorial" and "Manual". The first takes you to a page in which you will find a list of 32 example programs, starting from rather simple to rather complicated. We will go through several of them in the near future, and most of you will want to take one or the other as the basis for your projects. The "Manual" link leads you to documentation automatically generated by the doxygen program from the deal.II source files. It lists all classes and functions in the library, together with their documentation. The initial "module" view presents a number of modules into which these classes have been grouped, according to their functionality. You will frequently consider this manual if you want to find out whether a certain functionality already exists, or if you have forgotten the meaning and order of arguments to some of the functions.