Transform functor for the Breit-Wheeler process.
More...
#include <QEDPairGeneration.H>
|
| | PairGenerationTransformFunc (BreitWheelerGeneratePairs const generate_functor, const WarpXParIter &a_pti, int lev, int ngE, amrex::FArrayBox const &exfab, amrex::FArrayBox const &eyfab, amrex::FArrayBox const &ezfab, amrex::FArrayBox const &bxfab, amrex::FArrayBox const &byfab, amrex::FArrayBox const &bzfab, amrex::Array< amrex::Real, 3 > v_galilean, int a_offset=0) |
| | Constructor of the PairGenerationTransformFunc functor. More...
|
| |
| template<typename DstData , typename SrcData > |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (DstData &dst1, DstData &dst2, SrcData &src, int const i_src, int const i_dst1, int const i_dst2) const noexcept |
| | Functor call. It determines the properties of the generated pair and it sets to -1 the id of the source photon. More...
|
| |
Transform functor for the Breit-Wheeler process.
◆ PairGenerationTransformFunc()
| PairGenerationTransformFunc::PairGenerationTransformFunc |
( |
BreitWheelerGeneratePairs const |
generate_functor, |
|
|
const WarpXParIter & |
a_pti, |
|
|
int |
lev, |
|
|
int |
ngE, |
|
|
amrex::FArrayBox const & |
exfab, |
|
|
amrex::FArrayBox const & |
eyfab, |
|
|
amrex::FArrayBox const & |
ezfab, |
|
|
amrex::FArrayBox const & |
bxfab, |
|
|
amrex::FArrayBox const & |
byfab, |
|
|
amrex::FArrayBox const & |
bzfab, |
|
|
amrex::Array< amrex::Real, 3 > |
v_galilean, |
|
|
int |
a_offset = 0 |
|
) |
| |
Constructor of the PairGenerationTransformFunc functor.
A BreitWheelerGeneratePairs functor is passed by value. However, it contains only few integer and real parameters and few pointers to the raw data of the lookup tables. Therefore, it should be rather lightweight to copy.
- Parameters
-
| [in] | generate_functor | functor to be called to determine the properties of the generated pairs |
◆ operator()()
template<typename DstData , typename SrcData >
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void PairGenerationTransformFunc::operator() |
( |
DstData & |
dst1, |
|
|
DstData & |
dst2, |
|
|
SrcData & |
src, |
|
|
int const |
i_src, |
|
|
int const |
i_dst1, |
|
|
int const |
i_dst2 |
|
) |
| const |
|
inlinenoexcept |
Functor call. It determines the properties of the generated pair and it sets to -1 the id of the source photon.
- Parameters
-
| [in,out] | dst1 | target species 1 (either electrons or positrons) |
| [in,out] | dst2 | target species 2 (either electrons or positrons) |
| [in] | src | source species (photons) |
| [in] | i_src | particle index of the source species |
| [in] | i_dst1 | particle index of target species 1 |
| [in] | i_dst2 | particle index of target species 2 |
◆ m_bx_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_bx_arr |
|
private |
◆ m_bx_type
| amrex::IndexType PairGenerationTransformFunc::m_bx_type |
|
private |
◆ m_by_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_by_arr |
|
private |
◆ m_by_type
| amrex::IndexType PairGenerationTransformFunc::m_by_type |
|
private |
◆ m_bz_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_bz_arr |
|
private |
◆ m_bz_type
| amrex::IndexType PairGenerationTransformFunc::m_bz_type |
|
private |
◆ m_dx_arr
| amrex::GpuArray<amrex::Real, 3> PairGenerationTransformFunc::m_dx_arr |
|
private |
◆ m_ex_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_ex_arr |
|
private |
◆ m_ex_type
| amrex::IndexType PairGenerationTransformFunc::m_ex_type |
|
private |
◆ m_ey_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_ey_arr |
|
private |
◆ m_ey_type
| amrex::IndexType PairGenerationTransformFunc::m_ey_type |
|
private |
◆ m_ez_arr
| amrex::Array4<const amrex::Real> PairGenerationTransformFunc::m_ez_arr |
|
private |
◆ m_ez_type
| amrex::IndexType PairGenerationTransformFunc::m_ez_type |
|
private |
◆ m_galerkin_interpolation
| bool PairGenerationTransformFunc::m_galerkin_interpolation |
|
private |
◆ m_generate_functor
A copy of the functor to generate pairs. It contains only pointers to the lookup tables.
◆ m_get_externalB
◆ m_get_externalE
◆ m_get_position
◆ m_lo
| amrex::Dim3 PairGenerationTransformFunc::m_lo |
|
private |
◆ m_n_rz_azimuthal_modes
| int PairGenerationTransformFunc::m_n_rz_azimuthal_modes |
|
private |
◆ m_nox
| int PairGenerationTransformFunc::m_nox |
|
private |
◆ m_xyzmin_arr
| amrex::GpuArray<amrex::Real, 3> PairGenerationTransformFunc::m_xyzmin_arr |
|
private |
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Particles/ElementaryProcess/QEDPairGeneration.H
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Particles/ElementaryProcess/QEDPairGeneration.cpp