<img src="https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/raw/master/doc/logo/dumux_logo_hires_whitebg.png?inline=false" alt="dumux logo" width="400"/>

# DuMu<sup>x</sup> course material

The material is organized as follows

* __Exercises__: click [here](./exercises/README.md) to go to the exercise description
* __Slides__: click [here](./slides/README.md) to download the slides
* __Links__: click [here](./links/README.md) to go to a list of useful links

## Installation of the course

To get started with the course, you have two options.
Depending on whether you already have DuMu<sup>x</sup> installed or not, choose the one that fits your needs.

### Install DuMu<sup>x</sup> together with the course

The easiest way to install everything you need is to use the install scripts provided in DuMu<sup>x</sup>,
for instance, with this sequence of commands:

```bash
wget https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/raw/master/bin/installdumux.py
python3 installdumux.py --dumux-version master --dune-version 2.9
cd dumux
python3 dumux/bin/installexternal.py dumux-course --dumux-branch master --dune-branch releases/2.9
./dune-common/bin/dunecontrol bexec rm -r CMakeFiles CMakeCache.txt
./dune-common/bin/dunecontrol --opts=./dumux/cmake.opts all
```

If you don't have `wget` and don't want to install it, you can just manually download the
`installdumux.py` script from the git repository.

### Install the course into your existing DuMu<sup>x</sup> project

If you already have an installation of DuMu<sup>x</sup>,
navigate to your DuMu<sup>x</sup> root directory
and then run the following commands:

```bash
python3 dumux/bin/installexternal.py dumux-course
./dune-common/bin/dunecontrol --opts=./dumux/cmake.opts all
```

This will download and then configure the course repository using `dunecontrol`.
After this, you can start with the [exercises](https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-course/-/tree/master/exercises).

### Requirements

For a successful installation and the execution of all exercises, the following
software packages are needed:

  * gcc >= 7
  * cmake >= 3.13
  * git
  * pkg-config
  * paraview (to visualize the results)
  * gnuplot (to plot some curves)
  * wget (to download some config files during the installation)

For some excercises you might need UMFPack. UMFPack can be installed via Suitesparse.
For instance on Ubuntu use `apt-get install libsuitesparse-dev`.

Last updated for: __DuMu<sup>x</sup> course 2023__.