Plugin name

short description


stores simulation data as openPMD flavoured ADIOS files

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

HDF5 2 7

stores simulation data as openPMD flavoured HDF5 files


interactive 3D live visualization

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


pictures of 2D slices

positions particles 1 5 6

save trajectory, momentum, … of a single particle

radiation 3

compute emitted electromagnetic spectra

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

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.



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.