Runko: Modern multiphysics toolbox for plasma simulations

J. Nättilä
6/14/2019
physics.comp-phastro-ph.IMphysics.plasm-ph

Official code: hel-astro-lab/runko (61 stars, GPL-3.0, last commit 2026-10-20).

Abstract

Runko is a new open-source plasma simulation framework implemented in C++ and Python. It is designed to function as an easy-to-extend general toolbox for simulating astrophysical plasmas with different theoretical and numerical models. Computationally intensive low-level kernels are written in modern C++ taking advantage of polymorphic classes, multiple inheritance, and template metaprogramming. High-level functionality is operated with Python scripts. The hybrid program design ensures good code performance together with ease of use. The framework has a modular object-oriented design that allows the user to easily add new numerical algorithms to the system. The code can be run on various computing platforms ranging from laptops (shared-memory systems) to massively parallel supercomputer architectures (distributed-memory systems). The framework supports heterogeneous multiphysics simulations in which different physical solvers can be combined and run simultaneously. Here we showcase the framework's relativistic particle-in-cell (PIC) module by presenting (i) 1D simulations of relativistic Weibel instability, (ii) 2D simulations of relativistic kinetic turbulence in a suddenly stirred magnetically-dominated pair plasma, and (iii) 3D simulations of collisionless shocks in an unmagnetized medium.

View on arXivView PDF

Code Implementations(1)

GPL-3.0

Modern C++/python CPU/GPU plasma toolbox

6123C++, LuaOct 19, 20182 days agoGPL-3.0
astrophysicscppgpu-computinghigh-performance-computingparticle-in-cell+1 more

Cite this paper

@article{nttil2019runko,
  title  = {Runko: Modern multiphysics toolbox for plasma simulations},
  author = {J. Nättilä},
  year   = {2019},
  eprint = {1906.06306},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1906.06306}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1906.06306.svg)](https://codeofpaper.com/paper/1906.06306)

Discussion