Gyselalib++ is a collection of C++ components for writing gyrokinetic semi-lagrangian codes and similar as well as a collection of such codes. It is based on DDC. We strongly encourage new developers to begin by reading our documentation about Using DDC in Gyselalibxx.
In order to set up Gyselalib++ on a new machine, simply run:
or
on a machine for which Gyselalib++ is already used an environment script may be available to set up the necessary modules etc.
Please check the folder toolchains to find the existing configurations. See the documentation about Pre-made build settings for more information on the provided files.
For example in order to set up the environment on the Adastra supercalculator simply run:
To compile Gyselalib++, navigate to the folder where the library was cloned to and run:
The toolchains are found in the folder toolchains/
. Each toolchain is designed for specific hardware with the exception of those in the folder docker.gyselalibxx_env/
. These toolchains can be used with the docker environment on most hardware.
For more details about toolchains, see the documentation about Pre-made build settings.
to run the tests:
Then, just have a look at tests/geometryXVx/landau/fft/growthrate_t0.0to45.0.png
:
and tests/geometryXVx/landau/fft/frequency_t0.0to45.0.png
:
To install dependencies through spack, first follow the the 3 first steps of https://github.com/pdidev/spack
Then execute the following:
For example, you can find a Dockerfile installing these dependencies on ubuntu in docker/gyselalibxx_env/Dockerfile
.