Particle-based plasma simulation using a graph neural network

Marin Mlinarević, George K. Holt, Adriano Agnello
3/1/2025
physics.plasm-phcs.LGphysics.comp-ph

No confident code implementation found for this paper.

Abstract

A surrogate model for particle-in-cell plasma simulations based on a graph neural network is presented. The graph is constructed in such a way as to enable the representation of electromagnetic fields on a fixed spatial grid. The model is applied to simulate beams of electrons in one dimension over a wide range of temperatures, drift momenta and densities, and is shown to reproduce two-stream instabilities - a common and fundamental plasma instability. Qualitatively, the characteristic phase-space mixing of counterpropagating electron beams is observed. Quantitatively, the model's performance is evaluated in terms of the accuracy of its predictions of number density distributions, the electric field, and their Fourier decompositions, particularly the growth rate of the fastest-growing unstable mode, as well as particle position, momentum distributions, energy conservation and run time. The model achieves high accuracy with a time step longer than conventional simulation by two orders of magnitude. This work demonstrates that complex plasma dynamics can be learned and shows promise for the development of fast differentiable simulators suitable for solving forward and inverse problems in plasma physics.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{mlinarevi2025particlebased,
  title  = {Particle-based plasma simulation using a graph neural network},
  author = {Marin Mlinarević and George K. Holt and Adriano Agnello},
  year   = {2025},
  eprint = {2503.00274},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2503.00274v1}
}

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/2503.00274.svg)](https://codeofpaper.com/paper/2503.00274)

Discussion