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.