Operating System

DuMux builds and runs on Linux and Mac operating systems. Installation on Windows is possible but it is definitely not something to try if you are a beginner. If you use Windows, we recommend the Ubuntu bash on Windows. Alternatively, you can try to employ MinGW, Cygwin or a Linux Virtual Machine.


In order to build DuMux you need at least the following software:

Detailed information on supported compiler and CMake versions can be found in the handbook of the release you want to install.

The following software is recommend but optional:

Quick Start

We provide you with a shell-script that facilitates setting up a DUNE/DuMux directory tree and configures all modules with CMake. Download installdumux.sh and place it in a directory where you want to install DUNE/DuMux. Run the script by typing


For more detailed explanation on installation and building of DuMux, please have a look at the handbook of the latest release or see below.

Installing the DUNE and DuMux modules

DuMux depends on DUNE. You can obtain the required DUNE modules in form of binary packages for Debian, Ubuntu and openSUSE, see the DUNE binary packages. The DUNE releases can also be obtained as tarballs. Alternatively, you can use Git and download the modules by, e.g., typing inside a freshly created directory

for MOD in common geometry grid localfunctions istl; do
git clone -b releases/2.6 https://gitlab.dune-project.org/core/dune-$MOD.git;

DuMux releases of a certain version are made available as tarballs. It is also possible to download the releases and the current master branch from the git-repository.

To download a .tar.gz-file of DuMux, click below to the version-number you are going to install:
3.2.0, 3.1.0, 3.0.0, 2.12.0, 2.11.0, 2.10.0, 2.9.0, 2.8.0, 2.7.0, 2.6.0, 2.5.0, 2.4.0, 2.3.0, 2.2, 2.1.1, 2.1.0, 2.0.2, 2.0.1, 2.0, 1.0.

Our Git repository offers anonymous read access. You can clone it by
git clone https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git

To clone and directly switch to the branch of the 3.1 release, you can type
git clone -b releases/3.1 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git

Compatibility of DUNE and DuMux versions

DuMux version(s) compatible DUNE version(s)
3.1, 3.2, 3.3-git 2.6*, 2.7, 2.8-git**
3.0 2.6*, 2.7
2.9, 2.10, 2.11, 2.12 2.4, 2.5, 2.6*
2.6, 2.7, 2.8 2.3, 2.4
2.5 2.2, 2.3

*Please use the most recent corresponding Git branches releases/2.6 instead of the 2.6.0 tarballs.

**Compatibility with Dune 2.8-git is tested automatically only for DuMux 3.3-git.

Building DuMux

DuMux is built like any other DUNE module. If the DUNE core modules and DuMux are folders in the same directory, you can build everything by

./dune-common/bin/dunecontrol --opts=dumux/cmake.opts all

Releases 2.X used dumux/debug.opts or dumux/optim.opts instead of dumux/cmake.opts. More details on the DUNE build system can be found in the DUNE installation notes.

DUNE and DuMux rely heavily on compiler optimization. The speed difference between running a compiler-optimized versus a non-optimized DuMux executable can easily exceed a factor of 10. Use -DCMAKE_BUILD_TYPE=Release instead of -DCMAKE_BUILD_TYPE=Debug in the cmake.opts for an optimized build.

Running a DuMux Test

All numerical models of DuMux are compiled in a build-folder (default: build-cmake) and tested in the test subfolder. For example, to run the fully-implicit immiscible two-phase test,

cd build-cmake/test/porousmediumflow/2p/implicit/incompressible
make test_2p_incompressible_box

Besides console output, DuMux produces VTK output files that can be visualized by, e.g., Paraview.