Plugins¶
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>:<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 writing1
, every time step from start (0) to the end of the simulation11:11
only once at time step 1110: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.
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. |