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 int pusher_algo, const int do_crr, const amrex::Real t_chi_max, const amrex::Real dt) |
| Push momentum for a single particle. More...
|
|
◆ 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 int |
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 |