Implementation of a particle merging process in the PIC code Smilei

Maison de la Simulation has participated to the implementation of a particle merging process in the Particle-in-Cell (PIC) code Smilei. Smilei is an open-source and highly parallel code dedicated to laser-plasma simulation. It is developed by several labs (LLR, LULI) in France. It is nonetheless used in many other countries in Europe and in the World.

In PIC codes, dealing with macro-particles represents the major part of the code and is therefore the most time-consuming part in running simulations.  Basically, more particles means slower computation although the correlation is not linear with vectorization. Consequently, most optimization strategies today focus on managing particles the most efficient as possible. Some simulation scenario induce particle growth such as laser interaction with ionization, magnetic shower or electron-positron pair cascading. These simulation cases reveal very difficult to simulate with long simulation times. In extreme cases, when the growth is exponential, the only possible solution is merging particles. This enables to maintain the number of particles at a reasonable level to achieve the simulation.

Description of the particle merging process of M. Vranic.

The method of M. Vranic et al. has been implemented with different optimization choices in all dimensions. It is schematically described in the figure above. Furthermore, an advanced documentation of the adapted algorithms is available on the official Smilei website. Nonetheless, this first implementation is still considered as a beta and constitutes the first step toward the comparison of different future methods. Moreover, it can induce numerical artifacts in the momentum distributions. The method should hence be used with caution.

The following video illustrates the use of the merging. This is the simulation of the collision of 2 counter-propagating extremely intense laser plane wave that induce a pair cascading phenomenon at the middle of the simulation from a seed.

InKS, a programming model to separate algorithms and optimized implementation in HPC code

During his PhD at Maison de la Simulation, Ksander EJJAAOUANI has developed a new programming model called InKs. His PhD has been conducted under the direction of M. Mehrenberger et M. Bastoul and has been supervised by Julien Bigot (Maison de la Simulation) et Olivier Aumage (INRIA).

The programming model InKS aims at improving simulation code readability, portability and maintainability. At the same time, it aims at increasing  developer productivity working on scientific application. To reach this goal, InKS proposes two languages. Each of them is dedicated to specific application parts. The first, InKSPIA, enables to express all algorithmic aspects of a scientific simulation code while setting optimization choice aside. It enables to describe the foundation of the simulation: the algorithm. The second language, InKSPSO, enables optimization specialist to use algorithm's content to design a large range of optimization choice. The model enables to write many versions of these optimizations, one by architecture, from a unique algorithm. By focusing on the invariant part of a program, the algorithm, the InKS model prevent developers to rewrite different versions of the same code. It thus boost developer productivity. How the model works is schematically presented in the following figure:

Presentation of the InKS model

Results from the InKS model have been published in different articles:

The project is also hosted in GitHub.

Ksander EJJAAOUANI will defend his PhD the coming Octobre, 25th including the development in InKS.

Envelop model in the simulation code Smilei

A new model called envelop model has been developped in the opensource and collaborative Particle-In-Cell code Smilei. It has been developed by Francesco Massimo and Arnaud Beck (LLR) based on published methods and the Maison de la Simulation has participated to the optimization of this module. This model uses an approximation to propagate the laser and model the interaction with the ambient matter. It enables to importantly reduce the simulation cost of the simulations by doing 3D simulation at the cost slightly above the 2D. Both with the Cartesian and the cylindrical geometry can be used with this implementation. It is particularly suitable for simulation laser-wakefield electron acceleration scenarios. This is here the main reason of this development.

This model has been used during the "grand challenge" on the super-computer Irene Joliot-Curie. It will be used to simulate experiments on the future multi-petawatt laser Apollon located in the plateau of Saclay. Some results have been published in Plasma Physics and Controlled Fusion in 2019 by F. Massimo and his team. The article is available via this link.

Link toward the article published in journal Plasma Physics and Controlled Fusion in 2019 by F. Massimo et al.
Link toward the proceedings article of the 13th conference on Computational Accelerator Physics in 2019 by F. Massimo et al.