Install WABBIT with requirements - adaptive-cfd/WABBIT GitHub Wiki
Several packages are required in order to successfully compile and run WABBIT:
- Fortran compiler (GFortran)
- BLAS + LAPACK
- MPI (OpenMPI)
- HDF5
- WABBIT Python Tools
- Python packages numpy, h5py
Some packages are optional to assist in the compilation process:
- Git
A detailed explanation for each package can be found below. A compilation from source for OpenMPI as well as HDF5 are suggested.
Fortran Compiler (GFortran)
WABBIT is build with Fortran. In order to compile a Fortran compiler is therefore needed. Check installation via:
gfortran --version
apt
Install with apt
:
sudo apt-get install gfortran
GIT
Git is used in order to pull WABBIT resources from Github in this explanation. Check installation via:
git --version
Installation using apt
sudo apt-get install git
BLAS and LAPACK
The packages BLAS and LAPACK are used for matrix operations.
Compilation from source
Download latest BLAS and LAPACK. Unpack each, then install BLAS:
make -j8
mv blas_LINUX.a libblas.a
Install LAPACK:
cp make.inc.example make.inc # use example make as make
make -j8
Installation using apt
sudo apt-get install libblas-dev liblapack-dev
MPI (OpenMPI)
As a parallel program, WABBIT it is based on MPI. We recommend OpenMPI.
Compilation from source
You can get the latest version of OpenMPI here. Unpack first and move to desired location, then build OpenMPI:
./configure --enable-mpi-fortran --prefix=$PWD/install
make -j8
make -j8 install
This builds OpenMPI at the current location.
Installation using apt
Optionally, OpenMPI can be installed using pre-compiled packages on apt:
sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev libgtk2.0-dev
HDF5
WABBIT uses the HDF5 format to load and store results.
Compilation from Source
You can download official releases here. Additionally, older versions can be found on there GitHub.
:warning: Currently version 1.14.3 was found to not work with WABBIT as of 11.03.24 Version 1.14.4 was checked and does work as of 04.07.24
Unpack and install, make sure your desired MPI implementation is loaded:
CC=mpicc ./configure --prefix=$PWD/install --enable-fortran --enable-parallel
make -j8
make -j8 install
The HDF5-installation can be checked with the following time. This might take time.
make check # run test suite.
make check-install # verify installation.
Installation using apt
Optionally, HDF5 can be installed using pre-compiled packages on apt.
sudo apt-get libhdf5-mpi-dev
A note on the HDF5 structure
Note: from hdf5 1.10 to 1.14 the folder structure of HDF5 has changed, and this needs to be reflected in the makefile
As of 19/Apr/2023, in the makefile it looks like this:
for HDF5 1.10:
-L$(HDF_ROOT)/lib
-I$(HDF_ROOT)/include
for HDF5 1.14:
-L$(HDF_SOURCE)/fortran/src/.libs -L$(HDF_SOURCE)/fortran/src
-I$(HDF_ROOT)/fortran/src
WABBIT Python Tools
Make sure to download the python tools needed for WABBIT testing:
git clone https://github.com/adaptive-cfd/python-tools.git
Unpack and place them in a folder of your choice
Python packages used by WABBIT
All python packages required by WABBIT have to be installed, via pip:
pip3 install numpy h5py
For usage with paraview, the latest version of vtk needs to be installed.
WABBIT
Clone the repository:
git clone https://github.com/adaptive-cfd/WABBIT.git
Unpack and compile, make sure all necessary packages are loaded:
make -j8 all
make test