Notus relies on the ADIOS and HYPRE libraries. Optionally, Notus relies on MUMPS, LIS, ADIOS2, HDF5, T3PIO libraries
Some libraries may depend to other libraries:
All these libraries (except BLAS and LAPACK that have to be installed on the system) can be downloaded and built thanks to the third-party libraries bundle that we advise to use.
Remark: on Condor supercomputer on which all librairies are already installed, you can skip this section and switch to the next one.
We provide a git repository that you can clone (or download). It contains a third-party library installation script and an src
directory that contains all the third-party libraries tarballs required by Notus.
To clone the bundle into the notus_third_party
directory (no space in the directory path):
git clone https://git.notus-cfd.org/notus/notus_third_party.git notus_third_party
By default the script installs the third-party libraries in the $HOME/usr
directory. You can modify the installation directory with the --install-dir
option.
To build and install all third-party libraries on different kind of Linux systems, see the Readme page of the script.
Installing all the third party libraries may not be useful since some of them are very specific. We advice to install the minimum required (-m
option) first. MUMPS solver may be useful (for 2D problem) and be installed in a second step with options --metis --scalapack --mumps
(or scalapack-patched
if --scalapack
failed).
The script build_notus_third_party_lib.sh
can be executed with the following options:
Usage : build_notus_third_party_lib.sh [OPTIONS] -a build and install all third-party libraries -m build and install minimum required third-party libraries (MXML, ADIOS, HYPRE) -c clean directories before building -j number of threads used to compile (default 4) -h print usage --install-dir DIRECTORY installation directory (defaut /home/glockner/usr) --use-mkl use MKL for BLAS and LAPACK --mxml build and install Mini-XML (2.12) --adios build and install ADIOS (1.13.1) --adios2 build and install ADIOS2 (2.5.0) --hdf5 build and install HDF5 (1.12.0) --hypre build and install HYPRE (2.18.2) --hypre-debug build and install HYPRE (2.18.2) enabling debug compiler options --metis build and install METIS (5.1.0) --scalapack build and install ScaLAPACK (2.0.2) --scalapack-patched build and install patched ScaLAPACK (2.0.2) --mumps build and install MUMPS (5.3.1) --lis build and install LIS (2.0.19) --t3pio build and install T3PIO (2.4) Use these alternative versions if it fails with non-patched versions --scalapack-patched build and install patched ScaLAPACK (2.0.2) --lis-patched build and install patched LIS (2.0.19) To download and install a different version, use the following options: --mxml-version VERSION select the Mini-XML version --adios-version VERSION select the ADIOS version --hdf5-version VERSION select the HDF5 version --hypre-version VERSION select the HYPRE version --metis-version VERSION select the METIS version --scalapack-version VERSION select the ScaLAPACK version --mumps-version VERSION select the MUMPS version --lis-version VERSION select the LIS version --t3pio-version VERSION select the T3PIO version --cc c compiler select the C compiler (default gcc) --cxx c++ compiler select the C++ compiler (default g++) --fc fortran compiler select the Fortran compiler (default gfortran) --mpicc MPI c wrapper select the C compiler (default mpicc) --mpicxx MPI c++ wrapper select the C++ compiler (default mpic++) --mpifc MPI fortran wrapper select the Fortran compiler (default mpif90) --with-MPI-include DIR MPI include directory (user specifies that mpi.h is in DIR) --with-blas-lib-dir DIR BLAS directory (default /usr/lib) --with-lapack-lib-dir DIR LAPACK directory (default /usr/lib)