Runko — modern toolbox for plasma simulations
Runko is a modern numerical toolkit for simulating astrophysical plasmas. It is written in C++23/Python3 and is designed to be highly modular. The name originates from the Finnish word runko meaning literally “a frame”.
To get started, follow these manual pages in order. This will get you up-to-date in the prerequisites, installation, and understanding the various algorithms. Notes and tips that focus on code development are listed at the end of the manual.
Warning
This documentation is about Runko v5 which contains major breaking changes compared to v4. Runko v5 comes with HIP based GPU backend which required significant refactors and API changes. Some features present in v4 are not (yet) ported for v5.
Physical modules
The framework consists of various physics modules that can be run independently or combined together to create multi-physics simulations. Different modules include:
Finite difference time domain electromagnetic module
Particle-in-cell (PIC) module
About
This project was originally developed by Joonas Nättilä while in Nordic Institute for Theoretical Physics (NORDITA). Key contributors that provided additional features and/or improvements include
Fredrik Robertsen (CSC)
John Hope (Univ. Bath)
Kristoffer Smedt (Univ. Leeds)
Camilia Demidem (Nordita)
Maarja Bussov (Univ. Helsinki)
Alexandra Veledina (Univ. Turku)
Miro Palmu (Univ. Helsinki)
Recent changes
21/05/2021 Added a PIC algorithm section
20/05/2021 Added a theory section for Vlasov-Maxwell systems and FDTD method
19/05/2021 Added a unit conversion tool
15/05/2021 Launched the improved web manual
Theory:
Algorithms:
Tutorials: