#include "QedWrapperCommons.H"
#include <physics/schwinger/schwinger_pair_engine_core.hpp>
#include <AMReX_Random.H>
#include <cmath>
Go to the source code of this file.
|
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | getSchwingerProductionNumber (const amrex::Real dV, const amrex::Real dt, const amrex::Real Ex, const amrex::Real Ey, const amrex::Real Ez, const amrex::Real Bx, const amrex::Real By, const amrex::Real Bz, const amrex::Real PoissonToGaussianThreshold, amrex::RandomEngine const &engine) |
| |
◆ getSchwingerProductionNumber()
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real getSchwingerProductionNumber |
( |
const amrex::Real |
dV, |
|
|
const amrex::Real |
dt, |
|
|
const amrex::Real |
Ex, |
|
|
const amrex::Real |
Ey, |
|
|
const amrex::Real |
Ez, |
|
|
const amrex::Real |
Bx, |
|
|
const amrex::Real |
By, |
|
|
const amrex::Real |
Bz, |
|
|
const amrex::Real |
PoissonToGaussianThreshold, |
|
|
amrex::RandomEngine const & |
engine |
|
) |
| |
This function is a wrapper around a PICSAR function which calculates the number of Schwinger pairs created at a given timestep and in a given cell as a function of the EM field in that cell.
- Parameters
-
| [in] | dV | Volume of the cell. |
| [in] | dt | temporal step. |
| [in] | Ex | x-component of the electric field on the cell. |
| [in] | Ey | y-component of the electric field on the cell. |
| [in] | Ez | z-component of the electric field on the cell. |
| [in] | Bx | x-component of the magnetic field on the cell. |
| [in] | By | y-component of the magnetic field on the cell. |
| [in] | Bz | z-component of the magnetic field on the cell. |
| [in] | PoissonToGaussianThreshold | If the expected number of created pairs is below this parameter, a Poisson distribution is used to draw the number of created pairs. Otherwise a Gaussian distribution is used. |
- Returns
- the number of pairs generated via the Schwinger process