Skip to content

Ionization in PIConGPU

Marco Garten edited this page Feb 8, 2017 · 13 revisions

You are here: Home > Developer Documentation > Ionization in PIConGPU

ChangeLog :

Chronological list of Issues and Pull Requests connected to the topic:

Issues Pull Requests
#614 Individual attributes for different species #595 Ionization in PIConGPU
#650 Enable const float_X as flag type #687 Flag for proton and neutron number
#771 Pinning ionization energies to the particle species #706 Remove attribute chargeState, add boundElectrons
#925 Add list of ionization models for combination #768 Start simulation with neutral atoms
#963 Renaming Ionization Framework #865 close #853 Relocate ionizationEnergies.param
#1019 Ionization: check & keep track of regions of applicability plugin #874 Refactor ionization: remove from Particles class member functions
#1444 Implementing Thomas-Fermi pressure ionization #922 Add ionization model ADK feature
#1018 Particle Manipulators: Init Multi Ion Species core feature wait-4-author/WIP
#1022 Ionization: update barrier suppression and energies
#1039 Actually set the total GPU offset
#1046 Calculate better seeds
#1423 Generalize BSI model and add two variants
#1490 Fix the invalid read access for fully ionized ions in the ADK implementation
#1541 Specialize ADK for linear or circular laser polarization
#1542 Make use of faster RNG implementation for ionization
#1543 Add Keldysh ionization model
#1754 Thomas-Fermi impact ionization model
#1804 Ionization Configs: Add He, C, O, Al, Cu

So far, ionization is only used in the LaserWakefield example by configuring the respective test case or setting the parameters manually. To configure the test case no. 12 which contains ionization use the command:
$PICSRC/configure -t 12 ~/paramSets/your_parameter_set

It is though recommended to set up an own example and removing all unnecessary cmake flags since they are for development purposes only.

Available ionization models

BSI - Barrier Suppression Ionization
This model uses the electrical field strength in the individual cell as a threshold for ionization.
Tunneling ionization model derived by Keldysh in 1965.
ADK - Ammosov, Delone, Krainov Well-known tunneling ionization model. The implementation is based on DOI:10.1103/PhysRevA.59.569 by Bauer and Mulser.

The ionization implementation is currently undergoing extensive testing to achieve verification and validation of the models. More detailed documentation will follow.

Particle Properties


  • atomicNumbers - containing proton and neutron numbers of atoms / ions / nuclei


  • contains constant vectors for ionization potentials

Better modeling of atomic physics on GPU, especially atomic shell structure with orbitals and quantum numbers will also follow soon.

HowTo: Set up a parameter set with activated ionization

See Configure ionization in an example

You can’t perform that action at this time.