Skip to content

Install WABBIT with requirements

Julius edited this page Nov 13, 2025 · 7 revisions

Several packages are required in order to successfully compile and run WABBIT:

  1. Fortran compiler (GFortran)
  2. BLAS + LAPACK
  3. MPI (OpenMPI)
  4. HDF5
  5. WABBIT Python Tools
  6. Python packages numpy, h5py
  7. FFTW (optional, only when using the Poisson Solver)

Some packages are optional to assist in the compilation process:

  1. 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 gfortran or mpiifort (or in fact any other FORTRAN compiler, but most people will probably use gfortran locally and mpiifort on supercomputers). In order to compile a Fortran compiler is therefore needed. Check installation via:

gfortran --version

Installation (on local machines)

sudo apt-get install gfortran # Install with `apt` (on UBUNTU-based operating systems)
sudo dnf install gfortran # fedora-based operating systems

GIT

Git is used in order to pull WABBIT resources from Github in this explanation. Check installation via:

git --version

Installation using apt (on UBUNTU-based operating systems)

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 (Ubuntu linux)

sudo apt-get install libblas-dev liblapack-dev

Installation using dnf(fedora linux)

sudo dnf install lapack-devel blas-devel

MPI (OpenMPI)

As a parallel program, WABBIT uses mpi.

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.

⚠️ 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

Using the above code, HDF5 is installed in the /installsubfolder of the current directory $PWD. You will have to tell WABBIT where to find it by setting export HDF_ROOT=$PWD/install. Of course, you can install the compiled version of HDF also in another folder (e.g. simply $PWD and then set $HDF_ROOT acoordingly.)

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

Install FFTW (optional)

FFTW is the basic fast Fourier transform. It is used by the latest version of WABBIT (2025) for the Poisson solver (incompressible fluid dynamics instead of the artificial compressibility method) Note on many machines, FFTW is already installed, but you still have to worry about linking it to WABBIT. It's not really hard to install FFTW, so we suggest you simply install it in your home folder.

cd $HOME  
mkdir src
cd src
wget http://www.fftw.org/fftw-3.3.4.tar.gz  
tar vxzf fftw-3.3.4.tar.gz
cd fftw-3.3.4  
./configure --prefix=$PWD --enable-sse2 --enable-openmp  --enable-mpi
make clean
make
make install

Tell flusi where to find FFTW:

export FFT_ROOT=$PWD
# you might want to add this to your .bashrc:
echo "export FFT_ROOT=$HOME/src/fftw-3.3.4" >> $HOME/.bashrc

Note: on some newer machines, depending on the configuration, the compiler builds the library in $FFT_ROOT/lib64 and not in $FFT_ROOT/lib. In that case, please make a softlink ln -s lib64/ lib/