Skip to content
Snippets Groups Projects

AMDiS

The Adaptive Multi-Dimensional Simulation Toolbox (AMDiS) is implemented as a discretization module on top of the Dune framework.

Installation

We provide a cmake-based configuration and use the dunecontrol build system. Simply run

dunecontrol --current all

The dunecontrol script searches for the required (and suggested) dune modules this library depends on. These include:

(See the file dune.module for an up-to-date list of dependencies). The dune modules can be obtained from https://gitlab.dune-project.org and need to be found in a subdirectory of DUNE_CONTROL_PATH. See also https://dune-project.org/doc/installation for details about the installation of dune modules.

Additionally the following optional libraries can be used:

  • MTL4 (use this fork to get up-to-date changes)
  • Eigen3 >= 3.3
  • SuiteSparse
  • libalberta >= 3.0 (For Alberta-Grids)

And a compiler that supports the C++14 standard, e.g. g++ >= 5.0 and clang >= 3.6, and cmake >= 3.1.

By default, the dune-istl linear-algebra backend is used. To choose one of ISTL, MTL, or EIGEN, you can specify the cmake parameter -DBACKEND=[ISTL,MTL,EIGEN].

If your MTL4 installation is not found by default, you have to specify the path, where the file MTLConfig.cmake is found, here called MTL_ROOT. Then simply use dunecontrol to configure and cmake to build:

CMAKE_FLAGS="-DBACKEND=MTL -DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current configure
cmake --build build-cmake