Section: New Results

Particle-In-Cell simulations for Vlasov-Poisson equations

Participants : Sever Hirstoaga, Yann Barsamian.

In the work [3], we implement in Selalib an efficient, regarding the memory access, Particle-In-Cell method which enables simulations with a large number of particles. Numerical results for classical one-dimensional Landau damping and two-dimensional Kelvin-Helmholtz test cases are exposed. The implementation also relies on a standard hybrid MPI/OpenMP parallelization. Code performance is assessed by the observed speedup and attained memory bandwidth. A convergence result is also illustrated by comparing the numerical solution of a four-dimensional Vlasov-Poisson system against the one for the guiding center model.

Then, we continued to optimize the code by analyzing different data structures for the particles (structure of arrays vs. arrays of structure) and for the grid fields (using space-filling curves like Morton, Hilbert etc.) with the aim of improving the cache reuse. In addition, we added the functionality of vectorization from the compiler and we obtained significant gain by testing the different data structures. We thus achieved to run PIC simulations processing 65 million particles/second on an Intel Haswell architecture, without hyper-threading. The hybrid parallelization through OpenMP/MPI gave satisfactory strong and weak scaling up to 8192 cores on GENCI's supercomputer Curie.