diff --git a/README.md b/README.md index e1ab10dff7f81c2aaca392a1b117532cbae68e63..5910bc562d29c7b9d8f532d77a92d699dc0dd2b2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,39 @@ -AMDiS (Adaptive MultiDimensional Simulations) is a C++ library to solve a broad class of partial differential equations (PDE) using adaptive finite elements. +AMDiS (Adaptive MultiDimensional Simulations) is a C++ library to solve a broad class of partial differential equations (PDEs) using adaptive finite elements. Here you will find some information and tutorials about AMDiS usage/installation/extension... -Install AMDiS by using cmake: +## Installation of AMDiS (Linux) +The buildsystem of AMDiS is based on [CMake](https://cmake.org). For an installation with default parameters, create a build directory and call cmake: ``` -cmake AMDiS -make && make install +mkdir build && cd build +cmake -DCMAKE_INSTALL_PREFIX=[install_dir] ../AMDiS +make +[sudo] make install ``` +where `[install_dir]` is some directory the files should be installed in. There, subdirectories `lib/amdis/`, `include/amdis/` and `share/amdis/` are created and filled. Here, we assume that `../AMDiS` (relative to the build directory) contains the file `CMakeLists.txt` that configures the build process. + +### System requirements +AMDiS build with c++ compilers supporting the c++11 standard, e.g. +- gcc, version >= 4.7 +- clang, version >= 3.1 +- intel, version >= 2013 + +We assume the following libraries to be found in standard location: +- [boost](http://boost.org) (modules: system, iostreams, filesystem, program_options, and date_time), version >= 1.48 +- [CMake](https://cmake.org), version >= 3.1 + +For the parallel AMDiS we require additionally +- [ParMETIS](http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview), version >= 4.0 +- [PETSc](https://www.mcs.anl.gov/petsc), version >= 3.3 + +When PETSc is configured with ParMETIS, the version from PETSc can be used directly. + +### CMake options +When configuring AMDiS several options can be modified. For an interactive gui, use either `ccmake`, or `cmake-gui`. + +| Option | Type | Description | +| -------------- | ---- | ----------- | +| ENABLE_UMFPACK | BOOL | Compile with support for suitesparse UMFPack library | +| ENABLE_COMPRESSION | BOOL | Allow compressed output of .vtk and .arh files. Need zlib and libbz2 to be installed on the system. | +| ENABLE_PARALLEL_DOMAIN | BOOL | Switch to parallel AMDiS. Needs PETSc and ParMETIS to be installed. | +| PETSC_DIR | PATH | Path to the PETSc root directory, containing the lib/ and include/ subdirectories. | +| PARMETIS_DIR | PATH | Path to the ParMETIS root directory, containing the lib/ and include/ subdirectories. | +| ENABLE_EXTENSIONS | BOOL | Add additional features, not yet part of the standard AMDiS. Experimental! Should be used with care. |