Go to the source code of this file.
|
| template<int do_sync> |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void | doParticlePush (const GetParticlePosition &GetPosition, const SetParticlePosition &SetPosition, const CopyParticleAttribs ©Attribs, const long i, 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 int do_copy, const amrex::Real t_chi_max, const amrex::Real dt) |
| | Push position and momentum for a single particle. More...
|
| |
◆ doParticlePush()
template<int do_sync>
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE void doParticlePush |
( |
const GetParticlePosition & |
GetPosition, |
|
|
const SetParticlePosition & |
SetPosition, |
|
|
const CopyParticleAttribs & |
copyAttribs, |
|
|
const long |
i, |
|
|
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 int |
do_copy, |
|
|
const amrex::Real |
t_chi_max, |
|
|
const amrex::Real |
dt |
|
) |
| |
Push position and momentum for a single particle.
- Template Parameters
-
| do_sync | Whether to include quantum synchrotron radiation (QSR) |
- Parameters
-
| GetPosition | A functor for returning the particle position. |
| SetPosition | A functor for setting the particle position. |
| copyAttribs | A functor for storing the old u and x |
| i | The index of the particle to work on |
| 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 ioniziation 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 |
| do_copy | Whether to copy the old x and u for the BTD |
| t_chi_max | Cutoff chi for QSR |
| dt | Time step size |