DuMux builds and runs on Linux and Mac operating systems. If you use Windows, we recommend the Ubuntu bash on Windows. Alternatively, you can try to employ MinGW, Cygwin or a Linux Virtual Machine.
DuMux depends on DUNE. The dependencies of DUNE are described in the DUNE installation notes. In addition to the DUNE requirements, DuMux asks for a more modern C++ compiler (GCC >= 4.9 or Clang >= 3.5). You can also have a look at the more detailed explanations in our handbook.
You can obtain the required DUNE modules in form of binary packages for Debian, Ubuntu and openSUSE, see the
DUNE download page.
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.5 https://gitlab.dune-project.org/core/dune-$MOD.git;
Download and unpack a DuMux release tarball,
or git-clone a DuMux folder.
DuMux is built like any other DUNE module. For example, if the DUNE core modules and
DuMux are folders in the same directory, you can build everything by
./dune-common/bin/dunecontrol --opts=dumux/debug.opts all
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 dumux/optim.opts instead of dumux/debug.opts for an optimized build.
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,
Besides console output, DuMux produces VTK output files that can be visualized by, e.g., Paraview.