Commit 0c2ad814 authored by Jan Zapletal's avatar Jan Zapletal

working on readme

parent 050541b5
......@@ -4,6 +4,45 @@
The purpose of the library is to generate the Dirichlet-to-Neumann (Steklov-Poincaré) operator for the Laplace equation in 3D. It is primarily designed to be used in a boundary element tearing and interconnecting (BETI) solver The operator can be used to solve the stationary heat equation or an electrostatic problem and is primarily des. The operator is discretized by the Galerkin boundary element method.
## Mathematical background
## Compilation
The Makefile for heatDtN have been derived from a NetBeans project, the project compiles as a dynamic library in `./dist/heatdtn_lib/libheatdtn.so`. The user should only modify the Makefile in the root of heatDtN. The library relies on Eigen (tested with, e.g. version 3.3.6) and Intel MKL (or possibly another BLAS/LAPACK implementation) which are NOT distributed in this repository. The user is required to download both and set the `EIGEN_INC` variable in `./Makefile`, e.g.
```
EIGEN_INC=/home/zap150/eigen-eigen-b3f3d4950030
```
and run the MKL script `mklvars.sh` distributed with Intel MKL to se the `MKLROOT` variable. The variables `CXX`, `CXXFLAGS`, `LDLIBSOPTIONS` should then be set by the user, see the examples below for the Intel and GNU toolchains. Please note that the Intel compiler is recommended to make use of vectorization.
### Intel
```
CXX=icpc
CXXFLAGS=-m64 -xHost -qopenmp -w2 -I${MKLROOT}/include -I${EIGEN_INC}
LDLIBSOPTIONS=-qopenmp -L${MKLROOT}/lib/intel64 -Wl,-rpath,'${MKLROOT}/lib/intel64' -lmkl_core -lmkl_intel_thread -lmkl_intel_lp64
```
### GNU
```
CXX=g++
CXXFLAGS=-m64 -fopenmp -Wall -Wno-sign-compare -I${MKLROOT}/include -I${EIGEN_INC}
LDLIBSOPTIONS=-fopenmp -L${MKLROOT}/lib/intel64 -Wl,-rpath,'${MKLROOT}/lib/intel64' -lmkl_core -lmkl_gnu_thread -lmkl_intel_lp64
```
### Examples
A simple program linking against `libheatdtn.so` is provided in the directory `./Examples`. Modify `./Examples/Makefile` to suit your needs and run `make` to compile `./Examples/testHeatDtN`. Run the program to test the library.
## heatDtN API
## Compilation with ESPRESO
## Licence
......
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