Plugin name short description
ADIOS [2] [7] 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
ISAAC 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
PNG [7] 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 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 two 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)

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.


[1](1, 2) 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.
[2](1, 2, 3) Either ADIOS or HDF5 is required for simulation restarts. If both are available, writing checkpoints with ADIOS is automatically preferred by the simulation.
[3](1, 2, 3, 4) Requires HDF5 for output.
[4]Can remember particles that left the box at a certain time step.
[5](1, 2, 3) Deprecated
[6](1, 2, 3, 4, 5, 6) Only runs on the CUDA backend (GPU).
[7](1, 2, 3, 4, 5, 6, 7) Multi-Plugin: Can be configured to run multiple times with varying parameters.