QED block
This block contains information about QED pair production. See EPOCH input deck for more information on the input deck.
EPOCH can model QED pair production, synchrotron emission and radiation
reaction as described in Duclous et al1 and Ridgers et al. 2 It is
enabled using the compiler flag -DPHOTONS
. Additionally, the
Trident process is enabled using -DTRIDENT_PHOTONS
.
A new input deck block named “qed” has been added which accepts the following parameters:
use_qed
- Logical flag which turns QED on or off. The default is “F”.qed_start_time
- Floating point value specifying the time after which QED effects should be turned on. The default is 0.produce_photons
- Logical flag which specifies whether to track the photons generated by synchrotron emission. If this is “F” then the radiation reaction force is calculated but the properties of the emitted photons are not tracked. The default is “F”.photon_energy_min
- Minimum energy of produced photons. Radiation reaction is calculated for photons of all energies, but photons with energy below this cutoff are not tracked. The default is 0.photon_dynamics
- Logical flag which specifies whether to push photons. If “F” then photons are generated, but their motion through the domain is not simulated and they stay where they were generated. The default is “F”.produce_pairs
- Logical flag which determines whether or not to simulate the process of pair generation from gamma ray photons. Both produce_photons and photon_dynamics must be “T” for this to work. The default is “F”.qed_table_location
- EPOCH’s QED routines use lookup tables to calculate gamma ray emission and pair production. If you want to use tables in a different location from the default, specify the new location using this parameter. The default is “src/physics_packages/TABLES”.use_radiation_reaction
- Logical flag which determines whether or not to calculate the radiation reaction force. If set to “F” then the force is not calculated. This should nearly always be enabled when using the QED model. It is only provided for testing purposes. The default value is “T”.
QED also requires that the code now know which species are electrons, positrons and photons. The species type is specified using a single “identify” tag in a species block. To specify an electron the block in the deck would look like
begin:species
name = electron
frac = 0.5
number_density = 7.7e29
identify:electron
end:species
Once the identity of a species is set then the code automatically assigns mass and charge states for the species. Possible identities are:
electron
- A normal electron species. All species of electrons in the simulation must be identified in this way or they will not generate photons.positron
- A normal positron species. All species of positron in the simulation must be identified in this way or they will not generate photons.photon
- A normal photon species. One species of this type is needed for photon production to work. If multiple species are present then generated photons will appear in the first species of this type.bw_electron
- The electron species for pair production by the Breit-Wheeler process. If a species of this type exists then electrons from the pair production module will be created in this species. If no species of this type is specified then pair electrons will be generated in the first electron species.bw_positron
- As above but for positrons.trident_electron
- The electron species for pair production by the Trident process. If a species of this type exists then electrons from the pair production module will be created in this species. If no species of this type is specified then pair electrons will be generated in the first electron species.trident_positron
- As above but for positrons.proton
- A normal proton species. This is for convenience only and is not required by the pair production routines. A species should be identified only once, so a “bw_electron” species does not need to also be identified as an “electron” species. If the code is running with “produce_photons=T” then a photon species must be created by the user and identified. If the code is running with “produce_pairs=T” then the code must specify at least one electron (or bw_electron) species and one positron (or bw_positron) species. These species will usually be defined with zero particles from the start of the simulation and will accumulate particles as the simulation progresses. The code will fail to run if the needed species are not specified.brem_photon
- A bremsstrahlung photon species. This is used by the bremsstrahlung radiation model. See the bremsstrahlung page.bh_electron
- An electron produced in a Bethe-Heitler pair. See the bremsstrahlung page for more details.bh_positron
- A positron produced in a Bethe-Heitler pair. See the bremsstrahlung page for more details.
The basic input deck has now been considered fully but it is possible for an end user to add new blocks to the input deck As a result, a version of the code which you have obtained from a source other than the GitHub server may include other input deck blocks. These should be described in additional documentation provided with the version of the code that you have.
References
R. Duclous, J. G. Kirk, and A. R. Bell, “Monte carlo calculations of pair production in high-intensity laserplasma interactions,” Plasma Phys. Contr. F., vol. 53, no. 1, p. 015009, 2011 1. ↩︎
C. P. Ridgers, J. G. Kirk, R. Duclous, T. G. Blackburn, C. S. Brady, K. Bennett, T. D. Arber, A. R. Bell, “Modelling gamma-ray photon emission and pair production in high-intensity laser–matter interactions,” J. Comp. Phys., vol. 260, p. 273-285, 2014 2. ↩︎