Installation: External Libraries - hyschive/gamer-fork GitHub Wiki

FFTW

GAMER supports both FFTW2 and FFTW3 for various calculations (e.g., the root-level Poisson solver). Follow the installation instructions on the FFTW website. Note that it must be configured with floating-point type prefix --enable-type-prefix for FFTW2 and MPI support --enable-mpi for both FFTW2 and FFTW3. Here are example installation scripts using the GNU compiler for FFTW2 and FFTW3, respectively:

FFTW2 (FFTW2_PATH)

export FFTW_PATH=PATH_TO_INSTALL_YOUR_FFTW
export CC=gcc
export F77=gfortran
export CFLAGS=-O3
export FFLAGS=-O3

make clean
./configure --enable-mpi --enable-type-prefix --prefix $FFTW_PATH --enable-float
make
make install

make clean
./configure --enable-mpi --enable-type-prefix --prefix $FFTW_PATH
make
make install

FFTW3 (FFTW3_PATH)

export FFTW_PATH=PATH_TO_INSTALL_YOUR_FFTW
export CC=gcc
export F77=gfortran
export CFLAGS=-O3
export FFLAGS=-O3

make distclean
./configure --enable-openmp --enable-mpi --enable-shared --prefix $FFTW_PATH --enable-float
make
make install

make distclean
./configure --enable-openmp --enable-mpi --enable-shared --prefix $FFTW_PATH
make
make install

GRACKLE (GRACKLE_PATH)

GAMER uses GRACKLE for the chemistry and radiative processes. Follow the installation instructions in the GRACKLE website. Note that it must be configured with a consistent floating-point accuracy as GAMER using

> make precision-{32,64}

Specifically, configure GRACKLE with make precision-64/32 when compiling GAMER with/without the option --double , respectively.

In addition, when enabling OpenMP in GAMER (i.e., with the compile-time option --openmp ), GRACKLE must be configured with OpenMP support as well using

> make omp-on

HDF5 (HDF5_PATH)

GAMER uses HDF5 for storing snapshots. It is not necessary to enable either --enable-cxx or --enable-parallel when configuring HDF5 since GAMER currently adopts the C interface with serial I/O. Here is an example installation script using the icc compiler (remember to replace PATH_TO_INSTALL_YOUR_HDF5 with your installation path):

CC=icc ./configure --prefix=PATH_TO_INSTALL_YOUR_HDF5
make
make install

LIBYT (LIBYT_PATH)

GAMER uses libyt for in situ Python analysis. See In Situ Python Analysis for details.

libyt has two modes, normal mode and interactive mode. Please refer to libyt -- How to Install.

Set LIBYT_PATH to the folder that contains subfolders include and lib.

Links