Plasma simulation codes

Architect code

The simulation of plasma processes can be based on various approaches.

Kinetic theory of plasma describes and predicts the condition of plasma from microscopic interactions and motions of its constituents. This approach is very detailed and computationally heavy on the calculation time, while resolve the fine detail of the plasma interaction.

Fluid models describe macroscopic plasma phenomena, like density, flux, average velocity, pressure, temperature or heat flux, and reveals how the statistical plasma parameters evolve in time and space. This approach, based on partial differential equations, is faster than a fully kinetic model to compute, but it is lacking in accuracy when nonlinearity is dominant.


Architect code is a hybrid fluid-kinetic code that is used to perform simulations of beam driven plasma wakefield acceleration.


The code treats the evolution of the electron bunches in the 6-D phase space exploiting a full particle in cell approach. The kinetical treatment of the bunches allows analyzing the phase space evolution and the emittance growth of the system. Furthermore, it allows a quite simple interface of Architect code with particle tracking codes used e. g. for linac or FEL simulations.


Architect models the background plasma electrons as a cold relativistic fluid in a static positive background. The sum of the currents and densities of the beam and the fluid itself generates the electromagnetic fields that moves the electrons. This approach does not allow resolving nonlinear effects of the plasma itself, but considerably reduce the computing resources needed by a kinetic background.

Electromagnetic fields and fluid equations are solved in cylindrical symmetry on a moving window following the bunch.


We summarize the code loop in Fig. 1. The single time step can be ideally divided into five subsequent steps as follows:

  • the first step consists in deriving the bunch current projecting bunch particles in the r − z grid;
  • the second step consists in computing the background current from the fluid number density and momentum;
  • the third step corresponds to a finite difference time domain integration of Maxwell’s equations with a Yee scheme, the source terms represented by the current are known from the previous steps (with a general remark that Architect computes the total electromagnetic fields, the sum of bunch and background induced fields);
  • the fourth step integrates continuity and fluid momentum equations by using the just computed electromagnetic fields, in order to update number density and momentum;
  • the fifth and final step consists in particle time advancement.


The Architect code has been already cross validated with the PIC code ALaDyn, summarized below. The hybrid approach allows performing the simulations exploiting a computing power severely lower than the equivalent full PIC, allowing to make meter scale plasma channel simulations.

Fig. 1: Schematic of the Architect code time loop


Beam driven PIC codes: AlaDyn and Osiris

AlaDyn is a PIC code working on CPU designed to investigate three main physical regimes:

  • Laser-plasma interaction in under-dense gas targets for electron acceleration (LWFA).
  • Beam-plasma interaction in under-dense gas targets for electron acceleration (PWFA).
  • Laser-plasma interaction in over-dense solid targets for proton(ions) acceleration and related phenomenologies.


The code is firstly described in ALaDyn: A High-Accuracy PIC code for the Maxwell-Vlasov Equations by C. Benedetti et al., published on IEEE Transactions on Plasma Science, 36 4, 1790-1798 (2008) and then again in the update Charge preserving high order PIC schemes by P. Londrillo et al., published on Nucl. Instrum. Meth. A, 620 1, 28-35 (2010). PWFA modules have been presented in Numerical investigation of beam-driven PWFA in quasi-nonlinear regime by P. Londrillo et al., published on  Nucl. Instrum. Meth. A, 740 (2014).

Detailed information and description of the code can be found in: https://github.com/ALaDyn/ALaDyn

We are currently working for setting up here in Frascati a dedicated CPU/GPU  farm useful to support the present and future SPARC_LAB computational  activity (in one month we will have the first IBM Power9 server equipped with two GPU V100, as starting point) and actively working on the AlaDyn  code. In addition, our group and the INFN-LNF have recently signed a MOU with the OSIRIS collaboration, within the SPARC_LAB and EuPRAXIA framework.


Laser driven PIC codes: FBPIC

FBPIC [R. Lehe et. al, Comp. Phys. Comm. 203, 66 (2016)] is a spectral, quasi-3D PIC code which is well suited for quick parameter scans of setups which benefit from cylindrical symmetry.

The distinctive feature of FBPIC, compared to most other PIC codes, is to use a spectral cylindrical representation. This makes the code both fast and accurate, for situations with close-to-cylindrical symmetry. For a brief overview of the algorithm, its advantages and limitations see https://fbpic.github.io/.


Fig. 2: FBPIC simulation example.


Plasma simulations