Skip to content

Gevolution

fomics edited this page Sep 11, 2017 · 1 revision

Gevolution is a cosmological N-body code which solves the evolution of massive particles under gravity. The special feature of gevolution is that gravity is described by general relativity using a weak-field expansion. The code is based on a particle-mesh approach, i.e. the stress-energy of the particles is projected onto a lattice and the gravitational fields are solved on this lattice using spectral methods.

Gevolution uses the LATField2 library as back end for data management and parallelization. LATfield2 provides an API for operations on fields that are discretized on a lattice (in real space as well as in Fourier space), the fast Fourier transforms (FFT), and the particle description, including update and projection methods. It employs the MPI protocol for parallelization. Both, gevolution and LATfield2, are written in C++. LATfield2 was modified already at EuroHack15 to utilize the cuFFT library. The work at EuroHack17 focussed on porting LATfield2 field operations as well as Gevolution's own FFT operations to GPU.

Final presentation

Clone this wiki locally