Skip to content

Particle attributes

Axel Huebl edited this page Oct 24, 2017 · 11 revisions

You are here: Home > PIConGPU User Documentation > Particle attributes


Available Particle Attributes and Flags

The identifiers of all particle attributes and flags can be found in
include/picongpu/simulation_defines/param/ -> speciesAttributes.param.
They are used to define the species in
speciesDefinition.param by default or overwritten in one of the various examples.

Attribute name Description
position_pic relative in-cell position
momentum momentum at time step t
momentumPrev momentum at previous time step t-1 (only with the Radiation plugin)
weighting number of particles inside macro particle
radiationFlag value decides if particle undergoes radiation algorithm (only with the Radiation plugin)
globalCellIdx_pic position in units of cells relative to the (moving) window origin

See Create a new attribute for a short guide on implementing your own particle attributes.


Particle flags are constant attributes that cannot be changed during the simulation runtime. They are pinned inseparably to the species. Some of their values are set in species.param

Flag name Description
atomicNumbers contains number of protons and electrons for nucleus / ion / atom species
effectiveAtomicNumbers atomic core charge shielded by inner electrons, defined in ionizerConfig.param
boundElectrons the number of bound electrons in the shells of ion / atom species
shape the shape of the macro particles (CIC, TSC, PCS)
particlePusher algorithm that moves the particles under effect of EM-fields
ionizer ionization model
interpolation field to particle interpolation model
current current solver model

There are two other values that can be accessed by particle[<identifier>_]. The first can be identified by multiMask which encodes numerically if the thread "is" a particle or not and if so: if it leaves the supercell in a specific direction. The second is localCellIdx which describes the position of a particle inside a supercell by a linear index.
See the definition and usage in $PICSRC/include/libPMacc/particles/Identifier.hpp

Continue with Plugins.


From #142

What particle attributes are there and how can they be accessed?

  • a picturesque "tree" of all the available namespaces, a short explanation of their substructure and where to find what