Something went wrong on our end
-
Carl-Martin Pfeiler authoredCarl-Martin Pfeiler authored
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
#------------------------------------------------------------------------------#