WarpX
Classes | Functions
QEDPhotonEmission.H File Reference
#include "Particles/Gather/FieldGather.H"
#include "Particles/Gather/GetExternalFields.H"
#include "Particles/Pusher/GetAndSetPosition.H"
#include "Particles/WarpXParticleContainer.H"
#include "QEDInternals/QuantumSyncEngineWrapper.H"
#include "Utils/WarpXConst.H"
#include <AMReX_Array.H>
#include <AMReX_Array4.H>
#include <AMReX_Dim3.H>
#include <AMReX_Extension.H>
#include <AMReX_GpuLaunch.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_IndexType.H>
#include <AMReX_ParticleTile.H>
#include <AMReX_REAL.H>
#include <AMReX_BaseFwd.H>
#include <algorithm>
#include <limits>

Go to the source code of this file.

Classes

class  PhotonEmissionFilterFunc
 Filter functor for the QED photon emission process. More...
 
class  PhotonEmissionTransformFunc
 Transform functor for the QED photon emission process. More...
 

Functions

template<typename PTile >
void cleanLowEnergyPhotons (PTile &ptile, const int old_size, const int num_added, const amrex::ParticleReal energy_threshold)
 Free function to call to remove immediately low energy photons by setting their ID to -1. Photons with extremely small energy are removed regardless of the value of the energy_threshold. More...
 

Detailed Description

This file contains the implementation of the elementary process functors needed for QED photon emission (an electron or a positron emits a photon).

Function Documentation

◆ cleanLowEnergyPhotons()

template<typename PTile >
void cleanLowEnergyPhotons ( PTile &  ptile,
const int  old_size,
const int  num_added,
const amrex::ParticleReal  energy_threshold 
)

Free function to call to remove immediately low energy photons by setting their ID to -1. Photons with extremely small energy are removed regardless of the value of the energy_threshold.

Template Parameters
PTileparticle tile type
Parameters
[in,out]ptilea particle tile
[in]old_sizethe old number of particles
[in]num_addedthe number of photons added to the tile
[in]energy_thresholdthe energy threshold