This paper describes PyGyro, a parallel 4D drift-kinetic code which implements backward semi-Lagrangian methods combined with field-aligned interpolation and time-splitting. The purpose of PyGyro is twofold: to develop an advanced parallelisation scheme based on fast data transpositions, and to demonstrate the efficacy of a development workflow with code written in Python. Bottlenecks are accelerated with the Pyccel transpiler to achieve Fortran-like execution times. The resulting simulations are shown to correctly reproduce the expected physics and demonstrate good strong scaling, well beyond what was achieved by an existing Fortran code.
@article{EP_2024_77_a8,
author = {Emily Bourne and Yaman G\"u\c{c}l\"u},
title = {Highly parallel drift-kinetic {semi-Lagrangian} simulations in {Python}},
journal = {ESAIM. Proceedings},
pages = {176--194},
year = {2024},
volume = {77},
doi = {10.1051/proc/202477176},
language = {en},
url = {http://geodesic.mathdoc.fr/articles/10.1051/proc/202477176/}
}
TY - JOUR
AU - Emily Bourne
AU - Yaman Güçlü
TI - Highly parallel drift-kinetic semi-Lagrangian simulations in Python
JO - ESAIM. Proceedings
PY - 2024
SP - 176
EP - 194
VL - 77
UR - http://geodesic.mathdoc.fr/articles/10.1051/proc/202477176/
DO - 10.1051/proc/202477176
LA - en
ID - EP_2024_77_a8
ER -