Commit e7573f43 authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

Update README.md

parent 59f0c65c
Preparing the Sources
=========================
The project *dune-amdis* requires a modern compiler supporting c++14 standard
and an up-to-date cmake >= 3.1 installed on the system.
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
Installation using dune-docker
------------------------------
```
dunecontrol --current all
```
The easyest way to compile and run the code is to use the prepared docker images.
Therefore, 1. install *docker*, 2. clone the project *dune-docker*, 3. create the
image `dune:git`, 4. run this docker image with interactive shell.
(See also the `README.md` in the *dune-docker* project for details).
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-typetree](https://gitlab.dune-project.org/staging/dune-typetree)
- [dune-functions](https://gitlab.dune-project.org/staging/dune-functions)
- [dune-istl](https://gitlab.dune-project.org/core/dune-istl)
Prepare for installation
------------------------
(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.
In order to resolve external dependencies, run the script `contrib/ci-setup`. This
will download the latest MTL4 library (and maybe more).
Additionally we require the following libraries to be found:
- [MTL4](https://gitlab.math.tu-dresden.de/spraetor/mtl4) (use this fork to get up-to-date changes)
- [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html) (optional)
Compile and link the library and examples
-----------------------------------------
And a compiler that supports the C++14 standard, e.g. g++ >= 4.9 and clang >= 3.6, and cmake >= 3.1.
Simply run
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:
```
dunecontrol --opts=/duneci/opts.gcc --current all
CMAKE_FLAGS="-DMTL_DIR:PATH=[MTL_ROOT]" dunecontrol --current configure
cmake --build build-cmake
```
to build the library and to compile and link the examples from the `src/` directory.
\ No newline at end of file
This compiles the library and all examples in the `src/` directory.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment