Linux
Note that these build instructions are using the GNU compilers but Intel's compiler can be used as well.
Get the code
sudo apt-get install git
sudo apt-get install git-lfs
git lfs install # enable large file support
# ssh only
git clone git@gitlab.uliege.be:am-dept/amfe.git
Required packages
# Common
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install swig
sudo apt-get install libeigen3-dev
sudo apt-get install gmsh
# Python 3
sudo apt-get install python3-dev
sudo apt-get install python3-mpi4py python3-numpy python3-scipy python3-matplotlib
sudo apt-get install libvtk7-dev python3-vtk7
# Intel Math Kernel Libraries (MKL) and Threading Building Blocks (TBB)...
cd /tmp
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
sudo sh -c 'echo deb https://apt.repos.intel.com/tbb all main > /etc/apt/sources.list.d/intel-tbb.list'
sudo apt-get update
sudo apt-get install intel-mkl-64bit-2019.2-057
sudo apt-get install intel-tbb-64bit-2019.2-057
echo "source /opt/intel/mkl/bin/mklvars.sh intel64" >> ~/.bashrc
echo "source /opt/intel/tbb/bin/tbbvars.sh intel64" >> ~/.bashrc
# ... or Openblas and default TBB
sudo apt-get install libopenblas-dev
sudo apt-get install libtbb-dev
Optional packages
sudo apt-get install libmumps-seq-dev
sudo apt-get install doxygen
sudo apt-get install graphviz
Compilation
mkdir build && cd build
cmake ..
make [-j4]
[make install] # to install
[make dox] # to build the documentation
For a complete list of options, refer to the build page.
Test
cd build
ctest [-E exclude_pattern] [-R include_pattern] [-j4]