APS Logo

PyPIC3D: A Just-in-time Compilable Particle-in-cell Code Written In Python

POSTER

Abstract

Plasma phenomena are incredibly nonlinear and rely heavily on kinetic effects to drive many different interesting phenomena, such as shocks and instabilities. Such phenomena are not captured by fluid models, and kinetic simulations, such as Particle-in-Cell ones, are needed. Here, we describe the development of a new particle-in-cell code, PyPIC3D, written in Python using JAX, which allows auto-differentiability. We show that we can achieve C++ level performance, including parallelization, without additional libraries or compilation steps. Furthermore, the code can run on either CPU or GPU architectures, is open-source and easy to read and modify. Its current capabilities include relativistic effects, electrostatic or electromagnetic solvers, as well as a Esirkepov current deposition method.

Presenters

  • Christopher Woolford

    University of Wisconsin-Madison

Authors

  • Christopher Woolford

    University of Wisconsin-Madison