Go to the source code of this file.
|
| template<int do_sync> |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void | doParticleMomentumPush (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, const int ion_lev, const amrex::ParticleReal m, const amrex::ParticleReal a_q, const ParticlePusherAlgo pusher_algo, const int do_crr, const amrex::Real t_chi_max, const amrex::Real dt) |
| | Push momentum for a single particle.
|
| |
◆ doParticleMomentumPush()
template<int do_sync>
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void doParticleMomentumPush |
( |
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, |
|
|
const int | ion_lev, |
|
|
const amrex::ParticleReal | m, |
|
|
const amrex::ParticleReal | a_q, |
|
|
const ParticlePusherAlgo | pusher_algo, |
|
|
const int | do_crr, |
|
|
const amrex::Real | t_chi_max, |
|
|
const amrex::Real | dt ) |
Push momentum for a single particle.
- Template Parameters
-
| do_sync | Whether to include quantum synchrotron radiation (QSR) |
- Parameters
-
| ux,uy,uz | Particle momentum |
| Ex,Ey,Ez | Electric field on particles. |
| Bx,By,Bz | Magnetic field on particles. |
| ion_lev | Ionization level of this particle (0 if ionization not on) |
| m | Mass of this species. |
| a_q | Charge of this species. |
| pusher_algo | 0: Boris, 1: Vay, 2: HigueraCary |
| do_crr | Whether to do the classical radiation reaction |
| t_chi_max | Cutoff chi for QSR |
| dt | Time step size |