Comparison of Preconditioning Strategies in Energy Conserving Implicit Particle in Cell Methods
Lorenzo Siddi, Emanuele Cazzola, Giovanni Lapenta

TL;DR
This paper compares preconditioning strategies to accelerate fully implicit energy-conserving Particle-in-Cell methods, demonstrating that proper preconditioning makes them competitive with semi-implicit schemes and easier to extend to relativistic physics.
Contribution
It introduces and evaluates three preconditioning strategies, showing that field hiding with JFNK or direct Newton-Schwarz outperforms other methods in energy-conserving PIC simulations.
Findings
Field hiding with JFNK outperforms other preconditioners.
Preconditioned fully implicit methods are nearly as costly as semi-implicit methods.
Preconditioned methods are easier to implement for energy conservation and relativistic physics.
Abstract
This work presents a set of preconditioning strategies able to significantly accelerate the performance of fully implicit energy-conserving Particle-in-Cell methods to a level that becomes competitive with semi-implicit methods. We compare three different preconditioners. We consider three methods and compare them with a straight unpreconditioned Jacobian Free Newton Krylov (JFNK) implementation. The first two focus, respectively, on improving the handling of particles (particle hiding) or fields (field hiding) within the JFNK iteration. The third uses the field hiding preconditioner within a direct Newton iteration where a Schwarz-decomposed Jacobian is computed analytically. Clearly, field hiding used with JFNK or with the direct Newton-Schwarz (DNS) method outperforms all method. We compare these implementations with a recent semi-implicit energy conserving scheme. Fully implicit…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
