Gyselalib++
Gyselalib++ Documentation

Gyselalib++ is a collection of C++ components for writing gyrokinetic semi-lagrangian codes and similar as well as a collection of such codes.

Compilation

to compile Gyselalib++:

git clone --recurse-submodules git@gitlab.maisondelasimulation.fr:gysela-developpers/gyselalibxx.git gyselalibxx
cd gyselalibxx
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall -Wno-sign-compare" ..
make

Execution

to run the tests:

ctest --output-on-failure

Then, just have a look at tests/geometryXVx/landau/fft/growthrate_t0.0to45.0.png:

tests/geometryXVx/landau/fft/growthrate\_t0.0to45.0.png

and tests/geometryXVx/landau/fft/frequency_t0.0to45.0.png:

tests/geometryXVx/landau/fft/frequency\_t0.0to45.0.png

Dependencies

To install dependencies through spack, first follow the the 3 first steps of https://github.com/pdidev/spack

Then execute the following:

spack env create gyselalibxx spack.yaml
spack env activate gyselalibxx
spack concretize --reuse
spack install

For example, you can find a Dockerfile installing these dependencies on ubuntu in docker/gyselalibxx_env/Dockerfile.