# 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 #------------------------------------------------------------------------------#