*** Wartungsfenster jeden ersten Mittwoch vormittag im Monat ***

Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
installationHelp.txt 3.34 KiB
# Installation instructions for ngsolve, bem++ and ngbem, created on 2018/06/12
# we consider a local installation to the ${HOME} directory

#------------------------------------------------------------------------------#

# 0) Dependencies:
# This list is probably neither complete nor strict.
# However, if you encounter problems during installation of ngsolve or bem++,
# try installing/updating these packages

# Install with package manager: (sudo apt-get install ...)
python3 python3-tk libpython3-dev libxmu-dev tk-dev tcl-dev cmake git g++ libglu1-mesa-dev liblapacke-dev cython cython3  mpich libboost-all-dev libtbb-dev python3-pip

# install with pip (pip3 install ...)
numpy scipy mpi4py

#------------------------------------------------------------------------------#

# A) NgSolve
# - We rely on a local installation, see https://ngsolve.org/docu/latest/install/installlinux.html

# add the following line to the ~/.bashrc
export NETGENDIR=${HOME}/ngs/ngsolve-install/bin
export PYTHONPATH=${HOME}/ngs/ngsolve-install/lib/python3/dist-packages/:$PYTHONPATH
export PATH=$NETGENDIR:$PATH

#------------------------------------------------------------------------------#

# B) BEM++
# again: local installation, for further information see http://www.bempp.org/installation.html
# summarizing our experience, you need the following: python3, cmake, git, cython, scipy, numpy - versions as new as possible

#------------------------------------------------------------------------------#

# B.1) Eigen
# first we need to download the "eigen" headers from http://eigen.tuxfamily.org/index.php?title=Main_Page

cd ~
mkdir eigen
cd eigen
# get newest release, i.e., numbers in the following 3 lines may vary
wget "http://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2"
tar -xjf 3.3.4.tar.bz2
mv eigen-eigen-5a0156e40feb/ eigen-headers
# that's it, nothing needs to be built here, only the Eigen headers are needed

#------------------------------------------------------------------------------#

# B.2) BEM++
# now we start the local bempp installation, further info athttp://www.bempp.org/installation.html

cd ~
mkdir bempp
cd bempp
git clone https://bitbucket.org/bemppsolutions/bempp.git bempp-src
mkdir bempp-install
mkdir bempp-build
cd bempp-build
export CXX=$(which g++-6)
cmake ../bempp-src -DEIGEN3_INCLUDE_DIR=${HOME}/eigen/eigen-headers -DPYTHON_EXECUTABLE=/usr/bin/python3 -DCMAKE_INSTALL_PREFIX=${HOME}/bempp/bempp-install
make -j8
make install

# add the following line to the ~/.bashrc
export PYTHONPATH=$PYTHONPATH:${HOME}/bempp/bempp-install/lib/python3.4/site-packages

#------------------------------------------------------------------------------#

# C) NGBEM
# good thing: it's on github now - https://github.com/arieder/ngbem
# since we use the purely Python based interface, cloning is sufficient.

cd ~
git clone https://github.com/arieder/ngbem.git ngbem

# add the following line to the ~/.bashrc
export PYTHONPATH=$PYTHONPATH:${HOME}/ngbem

#------------------------------------------------------------------------------#

# D) COMMICS
# clone this repository, e.g.,
cd ~
mkdir commics
cd commics
git clone git@gitlab.asc.tuwien.ac.at:cpfeiler/commics.git

# since commics is python3 based, nothing needs to be built

# add the following line to the ~/.bashrc
export PYTHONPATH=$PYTHONPATH:${HOME}/commics

#------------------------------------------------------------------------------#