#include <QuantumSyncEngineWrapper.H>
|
| | QuantumSynchrotronPhotonEmission () |
| |
| | QuantumSynchrotronPhotonEmission (const QS_phot_em_table_view table_view) |
| |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool | operator() (amrex::ParticleReal &ux, amrex::ParticleReal &uy, amrex::ParticleReal &uz, const amrex::ParticleReal ex, const amrex::ParticleReal ey, const amrex::ParticleReal ez, const amrex::ParticleReal bx, const amrex::ParticleReal by, const amrex::ParticleReal bz, amrex::ParticleReal &g_ux, amrex::ParticleReal &g_uy, amrex::ParticleReal &g_uz, amrex::RandomEngine const &engine) const noexcept |
| |
Functor to generate a photon via the Quantum Synchrotron process and to update momentum accordingly
◆ QuantumSynchrotronPhotonEmission() [1/2]
| QuantumSynchrotronPhotonEmission::QuantumSynchrotronPhotonEmission |
( |
| ) |
|
|
inline |
Default constructor: it leaves the functor in a non-initialized state.
◆ QuantumSynchrotronPhotonEmission() [2/2]
| QuantumSynchrotronPhotonEmission::QuantumSynchrotronPhotonEmission |
( |
const QS_phot_em_table_view |
table_view | ) |
|
|
inline |
Constructor acquires pointers to control parameters and lookup tables data. lookup_table uses non-owning vectors under the hood. So no new data allocations should be triggered on GPU
- Parameters
-
| [in] | table_view | a view of a QS_phot_em_table lookup table |
◆ operator()()
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE bool QuantumSynchrotronPhotonEmission::operator() |
( |
amrex::ParticleReal & |
ux, |
|
|
amrex::ParticleReal & |
uy, |
|
|
amrex::ParticleReal & |
uz, |
|
|
const amrex::ParticleReal |
ex, |
|
|
const amrex::ParticleReal |
ey, |
|
|
const amrex::ParticleReal |
ez, |
|
|
const amrex::ParticleReal |
bx, |
|
|
const amrex::ParticleReal |
by, |
|
|
const amrex::ParticleReal |
bz, |
|
|
amrex::ParticleReal & |
g_ux, |
|
|
amrex::ParticleReal & |
g_uy, |
|
|
amrex::ParticleReal & |
g_uz, |
|
|
amrex::RandomEngine const & |
engine |
|
) |
| const |
|
inlinenoexcept |
Generates photons according to Quantum Synchrotron process. It can be used on GPU.
- Parameters
-
| [in,out] | ux,uy,uz | gamma*v components of the lepton. They are modified (SI units) |
| [in] | ex,ey,ez | electric field components (SI units) |
| [in] | bx,by,bz | magnetic field components (SI units) |
| [out] | g_ux,g_uy,g_uz | gamma*v components of the generated photon (SI units) |
| [in] | engine | random number generator engine |
- Returns
- a flag which is 1 if chi_photon was out of table
◆ m_table_view
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/21.10/Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.H