-
Notifications
You must be signed in to change notification settings - Fork 27
Install WABBIT with requirements
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.
WABBIT is build with Fortran. In order to compile a Fortran compiler is therefore needed. Check installation via:
gfortran --version
Install with apt
(on UBUNTU-based operating systems):
sudo apt-get install gfortran
Git is used in order to pull WABBIT resources from Github in this explanation. Check installation via:
git --version
sudo apt-get install git
The packages BLAS and LAPACK are used for matrix operations.
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
sudo apt-get install libblas-dev liblapack-dev
sudo dnf install lapack-devel blas-devel
As a parallel program, WABBIT uses mpi.
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.
Optionally, OpenMPI can be installed using pre-compiled packages on apt:
sudo apt-get install openmpi-bin openmpi-common libopenmpi-dev libgtk2.0-dev
WABBIT uses the HDF5 format to load and store results.
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 /install
subfolder 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.
Optionally, HDF5 can be installed using pre-compiled packages on apt.
sudo apt-get libhdf5-mpi-dev
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
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
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.
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