|
WarpX
|
#include "Particles/Pusher/UpdateMomentumBoris.H"#include "Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H"#include "Particles/Pusher/UpdateMomentumHigueraCary.H"#include "Particles/Pusher/UpdateMomentumVay.H"#include "Particles/WarpXParticleContainer.H"#include "Utils/WarpXAlgorithmSelection.H"#include <AMReX_REAL.H>#include <limits>Go to the source code of this file.
Functions | |
| 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, MomentumPushType momentum_push_type) |
| Push momentum for a single particle. | |
| 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, | ||
| MomentumPushType | momentum_push_type ) |
Push momentum for a single particle.
| do_sync | Whether to include quantum synchrotron radiation (QSR) |
| 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 |
| momentum_push_type | Type of momentum push: FirstHalf, SecondHalf, Full, None |