Gyselalib++: A Portable C++ Library for Semi-Lagrangian Kinetic and Gyrokinetic Simulations
Gyselalib++ provides the mathematical building blocks to construct kinetic or gyrokinetic plasma simulation codes in C++, simulating a distribution function discretised in phase space on a fixed grid. It relies on the Discrete Domain Computation (DDC) library (Padioleau et al., 2025) to statically type the discretisation dimensions, thus preventing many common sources of errors. Via DDC, Gyselalib++ also leverages the Kokkos framework (Trott et al., 2022), ensuring performance portability across various CPU and GPU architectures. The library provides a variety of tools including semi-Lagrangian advection operators, quadrature rules, and solvers for elliptic and hyperbolic partial differential equations (PDEs). The majority of the operators are designed to work on non-orthonormal coordinate systems; those that don’t use the static typing to raise compiler errors preventing their misuse.
10.21105.joss.08582.pdf
Main Document
Published version
openaccess
CC BY
204.76 KB
Adobe PDF
5fa43cf3c732b809353e7d6182ca9579