λPIC: A callback-centric particle-in-cell framework
Xuesong Geng, Yunwei Cui, Lingang Zhang, Liangliang Ji
Abstract
We present λPIC, a Python-based electromagnetic particle-in-cell framework built around a callback-centric architecture. Existing PIC codes typically tie high performance to static, pre-compiled timestep loops, hindering implementation of custom physics, diagnostics, or output logic. λPIC breaks this coupling by exposing every stage of the loop as a named stage (hook), permitting attaching arbitrary Python functions that operate on the full simulation state, enabling custom algorithms and in-situ analysis without modifying the core algorithms. Under this flexible framework, performance-critical kernels are written in C extensions and Numba, fields and particles are stored in NumPy arrays, and MPI parallelism is paired with graph partitioning to support dynamic load balancing and non-rectangular domains. Although λPIC is designed as general-purpose, it has special focus on intense laser-plasma interactions. Future work will extend the framework to GPU acceleration and additional physics modules including implicit solvers and nuclear physics.
Create a lesson
Related papers
Automatic generation of exchange-correlation response kernels
Susi Lehtola
A unified gas-kinetic wave-particle method for multiscale gas-mixture flow with an elementary chemical reaction
Cao Junzhe, Wei Yufeng, Long Wenpei et al.
Energy Yield and Lifetime Climate Classification via Machine Learning for Optimizing Photovoltaic Module Design and Materials
Youri Blom, Sofia Dutto, Alexandru Costache et al.
Rapidly Convergent Finite-Element Domain Decomposition Method With Two-Channel Transmission Conditions
Furkan Şık, Fernando L. Teixeira, Balasubramaniam Shanker
A sharp-diffuse interface model for intermittent and isolated topological transitions
Raaghav Ramani
Macroparticles with different weights relax to different temperatures in Particle-In-Cell simulations
Remi Lehe, Arianna Formenti, Justin R. Angus et al.