Skip to content
Snippets Groups Projects
README.md 2.29 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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:
    - [dune-common](https://gitlab.dune-project.org/core/dune-common)
    - [dune-geometry](https://gitlab.dune-project.org/core/dune-geometry)
    - [dune-grid](https://gitlab.dune-project.org/core/dune-grid)
    - [dune-localfunctions](https://gitlab.dune-project.org/core/dune-localfunctions)
    
    - [dune-istl](https://gitlab.dune-project.org/core/dune-istl)
    
    - [dune-typetree](https://gitlab.dune-project.org/staging/dune-typetree)
    - [dune-functions](https://gitlab.dune-project.org/staging/dune-functions)
    
    (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. You can use the script
    
    ```
    bin/install_all_dune_modules.sh DOWNLOAD_DIR
    ```
    
    to clone all dune repositories into `DOWNLOAD_DIR` and provide a simple way using `dunecontrol`
    to install all of them at once.
    
    Additionally the following optional libraries can be used:
    
    - [MTL4](https://gitlab.math.tu-dresden.de/spraetor/mtl4) (use this fork to get up-to-date changes)
    
    - [Eigen3](http://eigen.tuxfamily.org) >= 3.3
    - [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html)
    
    - 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