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