Description:
Presentation
The Gysela 5D code models the electrostatic branch of the Ion Temperature Gradient turbulence in tokamak plasmas.
Gysela is a 5D full-f and flux-driven gyrokinetic code. As such, it evolves in time the five-dimensional (3D in configuration space, 2D in velocity space) ion distribution function. For now, Gysela assumes electrons to be adiabatic and considers a global simplified magnetic geometry (concentric toroidal magnetic flux surfaces with circular cross-sections). The code simulates the full ion distribution function without any scale separation between equilibrium and fluctuations (”full-f”).
From the physics point of view, the other peculiarities of the Gysela code are the presence of an ion-ion collision operator accounting for neoclassical transport, and the existence of versatile sources (heat, momentum, …) which sustain the mean profiles on confinement times (“flux-driven”).
From the numerical point of view, Gysela is based on a semi-lagrangian scheme, hence is name: GYSELA 5D is an acronym for GYrokinetic SEmi-LAgrangian in 5 Dimensions. Two solvers are at the heart of Gysela: a Vlasov solver for computing ions advections and a Poisson solver for computing the magnetic field.
Technical information:
- website : http://gyseladoc.gforge.inria.fr/
- Scientific domain : Fusion
- Language : Fortran
- Parallelism : MPI + OpenMP
- GPU acceleration : No
- Scalability : good
- Vectorization: good
Compilation and simulation:
Here we describe the different phases from the download to the validation of the simulation.
Download:
The sources are available in a tarball and correspond to a stable release. To un-tar this release, run
export TARBALL_PATH=path/to/gysela/tarball (for occigen: export TARBALL_PATH=$SCRATCHDIR/abs_porjects/)
./download.sh
Compile:
Compile the code using:
source machines/occigen-bdw/env_bench
./compile.sh
In source machines/occigen-bdw/env_bench
occigen-bdw is to be replaced with the proper machine name (jean-zay-cpu, irene-amd...). It the directory does not exist fo a machine, please add it.
machines/occigen-bdw/env
contains the information for compilation. To use GYSELAX, you need to export the ARCH environment variables (export ARCH=occigen2). Then, the user needs to source the gysela environement variable setting file gysela/scripts/lib/setup_path.sh
. This is done in the env file.
Run and validate the simulation:
For each test case, given in a separate folder (e.g. testcase_small), you can find three scripts:
- prepare.sh: prepare the simulation (move data to the right location, recompile some minor changes, ...)
- run.sh : run the application and print out the evaluated metric
- validate.sh: validation of the simulation on a scientific point of view
For running and validating the simulation, one should be able to do:
cd testcase_XXX
./prepare.sh
./run.sh
./validate.sh
Those steps can also be used in a batch file for running the simulation using a job scheduler.