|
WarpX
|
#include "Utils/WarpXConst.H"#include <AMReX.H>#include <AMReX_FArrayBox.H>#include <AMReX_REAL.H>Go to the source code of this file.
Functions | |
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void | UpdatePosition (amrex::ParticleReal &x, amrex::ParticleReal &y, amrex::ParticleReal &z, const amrex::ParticleReal ux, const amrex::ParticleReal uy, const amrex::ParticleReal uz, const amrex::Real dt) |
Push the particle's positions over one timestep, given the value of its momenta ux, uy, uz. This uses the standard leapfrog algorithm x^{n+1} - x^{n} = dt*u^{n+1/2}/gamma^{n+1/2}. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void | UpdatePositionImplicit (amrex::ParticleReal &x, amrex::ParticleReal &y, amrex::ParticleReal &z, const amrex::ParticleReal ux_n, const amrex::ParticleReal uy_n, const amrex::ParticleReal uz_n, const amrex::ParticleReal ux, const amrex::ParticleReal uy, const amrex::ParticleReal uz, const amrex::Real dt) |
Push the particle's positions over one timestep, given the value of its momenta ux, uy, uz. The implicit version is the Crank-Nicolson scheme, x^{n+1} - x^{n} = dt*(u^{n+1} + u^{n})/(gamma^{n+1} + gamma^{n}) See Eqs. 15 and 17 in Chen, JCP 407 (2020) 109228. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void UpdatePosition | ( | amrex::ParticleReal & | x, |
| amrex::ParticleReal & | y, | ||
| amrex::ParticleReal & | z, | ||
| const amrex::ParticleReal | ux, | ||
| const amrex::ParticleReal | uy, | ||
| const amrex::ParticleReal | uz, | ||
| const amrex::Real | dt | ||
| ) |
Push the particle's positions over one timestep, given the value of its momenta ux, uy, uz. This uses the standard leapfrog algorithm x^{n+1} - x^{n} = dt*u^{n+1/2}/gamma^{n+1/2}.
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void UpdatePositionImplicit | ( | amrex::ParticleReal & | x, |
| amrex::ParticleReal & | y, | ||
| amrex::ParticleReal & | z, | ||
| const amrex::ParticleReal | ux_n, | ||
| const amrex::ParticleReal | uy_n, | ||
| const amrex::ParticleReal | uz_n, | ||
| const amrex::ParticleReal | ux, | ||
| const amrex::ParticleReal | uy, | ||
| const amrex::ParticleReal | uz, | ||
| const amrex::Real | dt | ||
| ) |
Push the particle's positions over one timestep, given the value of its momenta ux, uy, uz. The implicit version is the Crank-Nicolson scheme, x^{n+1} - x^{n} = dt*(u^{n+1} + u^{n})/(gamma^{n+1} + gamma^{n}) See Eqs. 15 and 17 in Chen, JCP 407 (2020) 109228.