WarpX
Functions
SchwingerProcessWrapper.H File Reference
#include "QedWrapperCommons.H"
#include <AMReX_Random.H>
#include <picsar_qed/physics/schwinger/schwinger_pair_engine_core.hpp>
#include <cmath>

Go to the source code of this file.

Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real getSchwingerProductionNumber (const amrex::Real dV, const amrex::Real dt, const amrex::ParticleReal Ex, const amrex::ParticleReal Ey, const amrex::ParticleReal Ez, const amrex::ParticleReal Bx, const amrex::ParticleReal By, const amrex::ParticleReal Bz, const amrex::ParticleReal PoissonToGaussianThreshold, amrex::RandomEngine const &engine)
 

Function Documentation

◆ getSchwingerProductionNumber()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real getSchwingerProductionNumber ( const amrex::Real  dV,
const amrex::Real  dt,
const amrex::ParticleReal  Ex,
const amrex::ParticleReal  Ey,
const amrex::ParticleReal  Ez,
const amrex::ParticleReal  Bx,
const amrex::ParticleReal  By,
const amrex::ParticleReal  Bz,
const amrex::ParticleReal  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]dVVolume of the cell.
[in]dttemporal step.
[in]Exx-component of the electric field on the cell.
[in]Eyy-component of the electric field on the cell.
[in]Ezz-component of the electric field on the cell.
[in]Bxx-component of the magnetic field on the cell.
[in]Byy-component of the magnetic field on the cell.
[in]Bzz-component of the magnetic field on the cell.
[in]PoissonToGaussianThresholdIf 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.
[in]enginethe random number generator state & factory
Returns
the number of pairs generated via the Schwinger process