|
WarpX
|
#include "Particles/Pusher/UpdatePosition.H"#include "Particles/Pusher/UpdateMomentumBoris.H"#include "Particles/Pusher/UpdateMomentumVay.H"#include "Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H"#include "Particles/Pusher/UpdateMomentumHigueraCary.H"#include "Particles/WarpXParticleContainer.H"#include <AMReX_REAL.H>#include <limits>Go to the source code of this file.
Functions | |
| 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::Real m, const amrex::Real q, const int pusher_algo, const int do_crr, const int do_copy, const int do_sync, const amrex::Real t_chi_max, const amrex::Real dt) |
| Push position and momentum for a single particle. More... | |
| 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::Real | m, | ||
| const amrex::Real | q, | ||
| const int | pusher_algo, | ||
| const int | do_crr, | ||
| const int | do_copy, | ||
| const int | do_sync, | ||
| const amrex::Real | t_chi_max, | ||
| const amrex::Real | dt | ||
| ) |
Push position and momentum for a single particle.
/param GetPosition : A functor for returning the particle position. /param GetPosition : A functor for setting the particle position. /param copyAttribs : A functor for storing the old u and x /param 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. |
| q | : Charge of this species. |
| pusher_algo | : 0: Boris, 1: Vay, 2: HigueraCary |
| do_crr | : Whether to do the classical radiation reaction |
| do_crr | : Whether to copy the old x and u for the BTD |
| do_sync | : Whether to include quantum synchrotron radiation (QSR) |
| t_chi_max | : Cutoff chi for QSR |
| dt | : Time step size |
1.8.13