A High-Accuracy PIC Code for the Maxwell–Vlasov Equations

View project on GitHub

The ALaDyn PIC Code


ALaDyn is a Particle in Cell (PIC) code 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.

Recent developments and applications are reported in the attached references.

PIC numerical model

A PIC method is based on a hybrid formal setting, whereby plasma particles are represented on a Lagrangian framework whereas self-consistent fields are represented on the Eulerian framework given by Maxwell equations.
As most other PIC codes, ALaDyn discretize particle and field dynamical equations by centred finite differences on a staggered space and time grid (Yee’s module) using one step second order leap-frog integrator.
To connect Lagrangian particles to Eulerian fields collocated on the spatial grid, finite order B-splines are used. B-splines are local polynomials with compact support, allowing to represent delta-like point particles on a grid for charge deposition and, by converse, to assign field grid data to a point particle.
Energy preserving PIC schemes do not satisfy local charge conservation and the related Poisson equation. By converse, using one of the many numerical recipes to enforce the continuity equations, energy conservation is heavily damaged.
ALaDyn code implements both charge or energy preserving schemes, letting the user to choose, depending on the problem at hand.
Besides the standard leap-frog integrator, ALaDyn also implements a fourth order in space and time Runge-Kutta integrator. This scheme requires larger computational resources, of course, but can be of help to improve on accuracy and reduce dispersive effects of wave propagation.
The code implements also reduced models based on:

  • Envelope (two-scale) approximation of the laser fields and of the particle dynamics;
  • A cold fluid approximation of the wake fields.

Reduced models are well tested only for (quasi) linear regimes. Serious problems arise for non linear dynamics.

In all the above configurations field induced ionization (tunnelling) are also implemented and can be activated if requested by the user. All ionization models are based on ADK scheme plus barrier suppression (BSI) for higher Z ions. For solid targets, impact (collisional) ionization is under development.


ALaDyn is almost completely written in Fortran 90, but a couple of utility modules are written in C++. C can also be easily used to extend code functionalities. Fortran 90 is the most popular computational language in PIC codes, probably because of the higher efficiency in handling multidimensional arrays on a grid. Finite difference integration allows to exploit efficient parallelism by domain decomposition using MPI technique to distribute the computational work among CPU units.

ALaDyn has been successfully ported to many HPC architectures, both in Italy at CINECA and in Europe through PRACE Partnerships. From the CINECA IBM-SP6 system in 2011, to the test system at CINECA based on IBM/BGP in 2012, then CINECA FERMI in 2014 and MARCONI in 2016, ALaDyn run on a multitude of HPC architectures, always extracting top range performances.

A new version has been recently released open source on the web, with a GPLv3 license. In part it has been rewritten from scratch and it is the basis for future development. Sources can be found, together with other codes, in our organization GitHub page at