# Plugins¶

Plugin name

short description

stores simulation data as openPMD flavoured ADIOS files

energy histograms for electrons and ions

maximum difference between electron charge density and div E

stores the primary data of the simulation for restarts.

count total number of macro particles

count macro particles per supercell

energy fields

electromagnetic field energy per time step

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

stores simulation data as openPMD flavoured HDF5 files

ISAAC

interactive 3D live visualization

maximum and integrated electric field along the y-direction

spatially resolved, particle energy detector in infinite distance

macro particle merging

calculate 2D phase space

pictures of 2D slices

save trajectory, momentum, … of a single particle

compute emitted electromagnetic spectra

resource log

monitor used hardware resources & memory

slice emittance

compute emittance and slice emittance of particles

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>:<end>[:<period>]

• <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.

### Examples¶

• 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.

Footnotes

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.