WarpX
|
Functor that creates copies of the current particle positions and momenta for later use. This is needed by the back-transformed diagnostics. More...
#include <CopyParticleAttribs.H>
Public Types | |
using | TmpParticles = WarpXParticleContainer::TmpParticles |
Public Member Functions | |
CopyParticleAttribs ()=default | |
CopyParticleAttribs (const WarpXParIter &a_pti, TmpParticles &tmp_particle_data, long a_offset=0) noexcept | |
Construct a new functor. More... | |
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (const long i) const noexcept |
copy the position and momentum of particle i to the temporary data holder More... | |
Public Attributes | |
GetParticlePosition< PIdx > | m_get_position |
const amrex::ParticleReal *AMREX_RESTRICT | uxp = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | uyp = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | uzp = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | xpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | ypold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | zpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | uxpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | uypold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | uzpold = nullptr |
Functor that creates copies of the current particle positions and momenta for later use. This is needed by the back-transformed diagnostics.
|
default |
|
inlinenoexcept |
Construct a new functor.
a_pti | iterator to the tile containing the macroparticles |
tmp_particle_data | holder for the temporary particle data |
a_offset | offset to apply when reading / writing particle data This is needed because when we use field gather buffers we don't always start at the particle with index 0. |
|
inlinenoexcept |
copy the position and momentum of particle i to the temporary data holder
GetParticlePosition<PIdx> CopyParticleAttribs::m_get_position |
const amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uxp = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uxpold = nullptr |
const amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uyp = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uypold = nullptr |
const amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uzp = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::uzpold = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::xpold = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::ypold = nullptr |
amrex::ParticleReal* AMREX_RESTRICT CopyParticleAttribs::zpold = nullptr |