Gadget4 Web page: https://wwwmpa.mpa-garching.mpg.de/gadget4/?

Gadget4 Git Repository: https://gitlab.mpcdf.mpg.de/vrs/gadget4

Clone/Download the code: git clone http://gitlab.mpcdf.mpg.de/vrs/gadget4

name the downloaded file: mv gadget4 gadget4_20210622

$ cd gadget4_20210622

$ ls

DEVELOPERS                README.md                 defines_extra             instructions_gadget4
Doxyfile                  Template-Config.sh        documentation             make-examples.sh
LICENSE                   Template-Makefile.systype doxygen                   src
Makefile                  buildsystem               examples

$ doxygen Doxyfile

Open browser with file:///Users/pancho/gadget4_20210622/doxygen/html/index.html

-------------

Compilation requirements:

mpi: The `Message Passing Interface' (version 3.0 or higher), e.g. MPICH https://www.mpich.org, or OpenMPI http://www.open-mpi.org.

gsl: The GNU scientific library. GADGET-4 only needs this library for a few very simple cosmological integrations at start-up.

fftw3: The `Fastest Fourier Transform in the West'. Note that the MPI-capable version of FFTW-3 is not explicitly required (it makes no difference whether it is available or not as GADGET-4 implements its own communication routines when MPI is used). FFTW is only needed for simulations that use the TreePM algorithm, or if power spectra are estimated, or cosmological ICs are created.

hdf5: The `Hierarchical Data Format'. This library is needed when one wants to read or write snapshot files in HDF5 format. It is highly recommended to use HDF5 instead of the plain binary output format that can be used as an alternative and still available for historical reasons.

hwloc : The `hardware locality library' is useful for allowing the code to probe the processor topology it is running on and enable a pinning to individual cores. This library is optional and only required if the IMPOSE_PINNING flag is set. Note that many MPI libraries nowadays in any cases enable pinning by default.

vectorclass : This is a C++ library that the code utilizes when explicit vectorization via the AVX instruction set is enabled in the SPH compute kernels. This is then implemented with the vectorclass library by Agner Fog. For simplicity, the source code of this library (which takes the form of C++ header files) is included in the GADGET-4 distribution in directory src/vectorclass. Note that potential updates and bug fixed in this library require a corresponding update of this subdirectory.

Compilation requires C++ compiler, at least the C++11 standard. For GNU gcc implies version 4.x or later.


Building the code

