Skip to content
Snippets Groups Projects
dumux logo

DuMux course material

The material is organized as follows

  • Exercises: click here to go to the exercise description
  • Slides: click here to view the slides
  • Links: click here 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 DuMux installed or not, choose the one that fits your needs.

Install DuMux together with the course

The easiest way to install everything you need is to use the install scripts provided in DuMux, for instance, with this sequence of commands (you need wget and python3 (>= 3.5 and <= 3.10) installed):

wget https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/raw/master/bin/installdumux.py
python3 installdumux.py --dumux-version 3.7 --dune-version 2.9
cd dumux
python3 dumux/bin/installexternal.py dumux-course --dumux-branch releases/3.7 --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 DuMux project

If you already have an installation of DuMux, navigate to your DuMux root directory and then run the following commands:

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

This will download and then configure the course repository using dunecontrol. If there is an error with the build setup try deleting the CMake cache and reconfigure by running

./dune-common/bin/dunecontrol bexec rm -r CMakeFiles CMakeCache.txt
./dune-common/bin/dunecontrol --opts=./dumux/cmake.opts all

After this, you can start with the exercises.

Requirements

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

  • gcc >= 9.3
  • cmake >= 3.14
  • 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.

Troubleshooting

If installdumux.py script fails, the terminal output can be found in installdumux.log.

On a recent mac with silicon chip you may get an error similar to clang: error: the clang compiler does not support '-march=native'. In this case copy configure options file cmake.opts by running

cd dumux
cp dumux/cmake.opts mycmake.opts

In mycmake.opts delete the line containing -march=native \. Rerun dunecontrol using mycmake.opts :

./dune-common/bin/dunecontrol bexec rm -r CMakeFiles CMakeCache.txt
./dune-common/bin/dunecontrol --opts=mycmake.opts configure
./dune-common/bin/dunecontrol --opts=mycmake.opts make -j

Continue with the command mentioned above (from installexternal.py) but always use --opts=mycmake.opts for dunecontrol.

When was this course last updated?

Last updated for: DuMux course 2023.

Funding acknowledgement

The 2023 update of the dumux-course was financially supported by the German Research Foundation (DFG) within the Collaborative Research Center on Interface-Driven Multi-Field Processes in Porous Media (SFB 1313, Project No. 327154368). T. Koch acknowledges funding by the European Union's Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 801133. D. Gläser thanks the Federal Government and the Heads of Government of the Länder, as well as the Joint Science Conference (GWK), for their funding and support within the framework of the NFDI4Ing consortium; funded by the German Research Foundation (DFG), Project No. 442146713.