Skip to content
Snippets Groups Projects
To learn more about this project, read the wiki.

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.