arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2607.13507physics.comp-phphysics.plasm-ph

λPIC:一个以回调为中心的粒子模拟框架

$λ$PIC: A callback-centric particle-in-cell framework

Xuesong Geng, Yunwei Cui, Lingang Zhang, Liangliang Ji

AI总结:

介绍基于Python的电磁粒子模拟框架λPIC,以回调为中心架构打破现有代码局限,能实现自定义算法与原位分析,关键内核用C扩展等编写,支持动态负载平衡,特别关注强激光与等离子体相互作用,未来将扩展到GPU加速等。

AI中文摘要:

我们展示了λPIC,这是一个基于Python的电磁粒子模拟框架,围绕以回调为中心的架构构建。现有的粒子模拟代码通常将高性能与静态、预编译的时间步长循环绑定,阻碍了自定义物理、诊断或输出逻辑的实现。λPIC通过将循环的每个阶段作为命名阶段(钩子)公开来打破这种耦合,允许附加对完整模拟状态进行操作的任意Python函数,从而在不修改核心算法的情况下实现自定义算法和原位分析。在这个灵活的框架下,性能关键内核用C扩展和Numba编写,场和粒子存储在NumPy数组中,MPI并行与图分区相结合以支持动态负载平衡。虽然λPIC设计为通用框架,但特别关注强激光与等离子体相互作用。未来工作将把框架扩展到GPU加速以及包括隐式求解器和核物理在内的其他物理模块。

英文摘要:

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.

补充信息

↑