Several applications are considered in EPEEC: AVBP (Cerfacs, a numerical simulation framework for the study of fluid dynamics and combustion problems), DIOGENeS (Inria, a numerical simulation framework for the study of nanoscale light-matter interaction problems), OSIRIS (INESC-ID, a numerical simulation framework for the study of plasma physics problems), Quantum ESPRESSO (Cineca, a set of numerical tools for the study of electronic properties of materials) and SMURFF (IMEC, a Bayesian matrix factorization framework for building recommender systems with applications to life sciences). The present news focuses on the OSIRIS application.
The OSIRIS kinetic plasma simulation framework, and the ZPIC educational particle-in-cell code, are both concerned with the numerical modeling of plasma physics scenarios. Plasma physics has been at the forefront of scientific and technological developments since the 1950’s, having played a central role in many key industrial applications, of which the semiconductor industry is the leading example. The recent advances in laser technology, with the advent of commercial high-power, high repetition rate systems, have opened many new research fronts in plasma physics, ranging from laboratory astrophysics to probing the quantum vacuum, from radiation sources to particle accelerators. One of the most exciting applications of these systems are ultra-compact plasma-based accelerators of electrons, such as the one shown in Figure 1, and ions, as shown in Figure 2, with applications in medicine, material science, and novel radiation sources. Laser-plasma interaction is also poised to revolutionize energy production through laser driven nuclear fusion, and in particular through the fast ignition scheme with tremendous economic and societal impact. In many of these applications, the plasma physics scientific community has already demonstrated the feasibility of these technological applications. Considering for example biomedical applications, the quality of the electron beams for radiation generation and ion beams with energy, charge, and emittance of relevance for therapy applications, has been achieved in the laboratory, and is now ready to make the leap to industrial applications.
Figure 1. OSIRIS simulations of a 10 GeV laser wake-field accelerator (left) and of magnetic field generation in the collision of astrophysical plasma shells (right, magnetic field lines shown).
Figure 2. Laser-driven proton acceleration for cancer therapy applications, using OSIRIS simulations).
In these scenarios, the underlying physics is highly nonlinear and depends on the complicated and self-consistent trajectories of individual plasma particles. Although simplified analytical treatments are possible, the complexity of the systems can only be captured with computational modelling, and in particular, through the use of kinetic plasma algorithms of which the particle-in-cell method (PIC) is the most effective. In a PIC code, the full set of Maxwell’s equations is solved on a grid using currents and charge densities calculated by weighting discrete particles onto the grid. Each particle is pushed to a new position and momentum via self-consistently calculated fields. Therefore, to the extent that quantum mechanical effects may be neglected, a PIC code makes no physics approximations and is ideally suited for studying complex systems with many degrees of freedom.
The advent of modern high-performance computing systems has allowed PIC codes to be applied to increasingly larger problems, but full 3D simulations of large space/time scales are still extremely difficult to attain. As an example, if we look at the laser wake-field accelerator, theoretical scaling indicates that to, reach an energy of 10 GeV, the accelerating length must be in the order of ~0.5 m, with a plasma density of ~1017 cm−3. Since the laser wavelength, λ0 ~1 μm, needs to be resolved, the simulation grid will be very fine, and this scenario therefore presents an extremely challenging task, since it requires simultaneously modelling very different time and length scales. This numerical experiment requires a total number of particles in the order ~1010 to be followed for ~106-107 time steps. Considering the number of operations required for pushing a single particle, a single simulation may require between 1018 and 1020 operations, well within exascale computing range.
OSIRIS [http://epp.tecnico.ulisboa.pt/osiris/] is a fully relativistic, massively parallel PIC code. For the EPECC project, a purely sequential, barebones variant of OSIRIS, called ZPIC, is being used that implements exactly the same algorithm as OSIRIS and maintains all the main features of the latter. However, this simpler version will enable an easier exploration of the different parallel programming paradigms to be considered within EPEEC. ZPIC lends itself to a natural hybrid parallelization scheme, with a strong potential to benefit from massively parallel heterogeneous computing systems, in particular by exploiting accelerators. The program is characterized by two main loops, which have mostly independent computations. Thus, under a shared memory paradigm, these loops are amenable to data parallelization. When considering distributed programming models, the most immediate approach for distributed memory architectures is to use a topological decomposition for the problem, since the computation is performed on a grid.