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_PATH
)
FFTW2 (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_PATH
)
FFTW3 (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_PATH
)
GRACKLE (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_PATH
)
HDF5 (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_PATH
)
LIBYT (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
.