Plugin name

short description


stores simulation data as openPMD flavoured ADIOS files [Huebl2017]

openPMD 2 7

outputs simulation data via the openPMD API

energy histogram 7

energy histograms for electrons and ions

charge conservation 6

maximum difference between electron charge density and div E

checkpoint 2

stores the primary data of the simulation for restarts.

count particles 6

count total number of macro particles

count per supercell 3

count macro particles per supercell

energy fields

electromagnetic field energy per time step

energy particles 7

kinetic and total energies summed over all electrons and/or ions


interactive 3D live visualization [Matthes2016]

intensity 1 5 6

maximum and integrated electric field along the y-direction

particle calorimeter 3 4 7

spatially resolved, particle energy detector in infinite distance

particle merger 6

macro particle merging

phase space 3 6 7

calculate 2D phase space [Huebl2014]


pictures of 2D slices

positions particles 1 5 6

save trajectory, momentum, … of a single particle

radiation 3

compute emitted electromagnetic spectra [Pausch2012] [Pausch2014] [Pausch2018]

resource log

monitor used hardware resources & memory

slice emittance

compute emittance and slice emittance of particles

slice field printer 5

print out a slice of the electric and/or magnetic and/or current field

sum currents

compute the total current summed over all cells


compute emitted electromagnetic spectra


compute SAXS scattering amplitude ( based on FieldTmp species density )



On restart, plugins with that footnote overwrite their output of previous runs. Manually save the created files of these plugins before restarting in the same directory.


Either ADIOS or HDF5 is required for simulation restarts. If both are available, writing checkpoints with ADIOS is automatically preferred by the simulation.


Requires HDF5 for output.


Can remember particles that left the box at a certain time step.




Only runs on the CUDA backend (GPU).


Multi-Plugin: Can be configured to run multiple times with varying parameters.

Period Syntax

Most plugins allow to define a period on how often a plugin shall be executed (notified). Its simple syntax is: <period> with a simple number.

Additionally, the following syntax allows to define intervals for periods:


  • <start>: begin of the interval; default: 0

  • <end>: end of the interval, including the upper bound; default: end of the simulation

  • <period>: notify period within the interval; default: 1

Multiple intervals can be combined via a comma separated list.


  • 42 every 42th time step

  • :: equal to just writing 1, every time step from start (0) to the end of the simulation

  • 11:11 only once at time step 11

  • 10:100:2 every second time step between steps 10 and 100 (included)

  • 42,30:50:10: at steps 30 40 42 50 84 126 168 …

  • 5,10: at steps 0 5 10 15 20 25 … (only executed once per step in overlapping intervals)

Python Postprocessing

In order to further work with the data produced by a plugin during a simulation run, PIConGPU provides python tools that can be used for reading data and visualization. They can be found under lib/python/picongpu/plugins.

It is our goal to provide at least three modules for each plugin to make postprocessing as convenient as possible: 1. a data reader (inside the data subdirectory) 2. a matplotlib visualizer (inside the plot_mpl subdirectory) 3. a jupyter widget visualizer (inside the jupyter_widgets subdirectory) for usage in jupyter-notebooks

Further information on how to use these tools can be found at each plugin page.

If you would like to help in developing those classes for a plugin of your choice, please read python postprocessing.



A. Huebl. Injection Control for Electrons in Laser-Driven Plasma Wakes on the Femtosecond Time Scale, Diploma Thesis at TU Dresden & Helmholtz-Zentrum Dresden - Rossendorf for the German Degree “Diplom-Physiker” (2014), DOI:10.5281/zenodo.15924


A. Matthes, A. Huebl, R. Widera, S. Grottel, S. Gumhold, and M. Bussmann In situ, steerable, hardware-independent and data-structure agnostic visualization with ISAAC, Supercomputing Frontiers and Innovations 3.4, pp. 30-48, (2016), arXiv:1611.09048, DOI:10.14529/jsfi160403


A. Huebl, R. Widera, F. Schmitt, A. Matthes, N. Podhorszki, J.Y. Choi, S. Klasky, and M. Bussmann. On the Scalability of Data Reduction Techniques in Current and Upcoming HPC Systems from an Application Perspective. ISC High Performance Workshops 2017, LNCS 10524, pp. 15-29 (2017), arXiv:1706.00522, DOI:10.1007/978-3-319-67630-2_2


R. Pausch. Electromagnetic Radiation from Relativistic Electrons as Characteristic Signature of their Dynamics, Diploma Thesis at TU Dresden & Helmholtz-Zentrum Dresden - Rossendorf for the German Degree “Diplom-Physiker” (2012), DOI:10.5281/zenodo.843510


R. Pausch, A. Debus, R. Widera, K. Steiniger, A.Huebl, H. Burau, M. Bussmann, and U. Schramm. How to test and verify radiation diagnostics simulations within particle-in-cell frameworks, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment 740, pp. 250-256 (2014) DOI:10.1016/j.nima.2013.10.073


R. Pausch, A. Debus, A. Huebl, U. Schramm, K. Steiniger, R. Widera, and M. Bussmann. Quantitatively consistent computation of coherent and incoherent radiation in particle-in-cell codes - a general form factor formalism for macro-particles, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment 909, pp. 419-422 (2018) arXiv:1802.03972, DOI:10.1016/j.nima.2018.02.020