|
ARTEMIS
|
Functor that can be used to extract the positions of the macroparticles inside a ParallelFor kernel. More...
#include <GetAndSetPosition.H>
Public Types | |
| using | PType = WarpXParticleContainer::ParticleType |
| using | RType = amrex::ParticleReal |
Public Member Functions | |
| GetParticlePosition ()=default | |
| template<typename ptiType > | |
| GetParticlePosition (const ptiType &a_pti, int a_offset=0) noexcept | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | operator() (const int i, RType &x, RType &y, RType &z) const noexcept |
Extract the cartesian position coordinates of the particle located at index i + a_offset and store them in the variables x, y, z More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void | AsStored (const int i, RType &x, RType &y, RType &z) const noexcept |
Extract the position coordinates of the particle as stored located at index i + a_offset and store them in the variables x, y, z This is only different for RZ since this returns (r, theta, z) in that case. More... | |
Public Attributes | |
| const PType *AMREX_RESTRICT | m_structs = nullptr |
| const RType * | m_theta = nullptr |
Functor that can be used to extract the positions of the macroparticles inside a ParallelFor kernel.
| using GetParticlePosition::RType = amrex::ParticleReal |
|
default |
|
inlinenoexcept |
Constructor
| ptiType | the type of the particle iterator used in the constructor |
| a_pti | iterator to the tile containing the macroparticles |
| a_offset | offset to apply to the particle indices |
|
inlinenoexcept |
Extract the position coordinates of the particle as stored located at index i + a_offset and store them in the variables x, y, z This is only different for RZ since this returns (r, theta, z) in that case.
|
inlinenoexcept |
Extract the cartesian position coordinates of the particle located at index i + a_offset and store them in the variables x, y, z
| const PType* AMREX_RESTRICT GetParticlePosition::m_structs = nullptr |
| const RType* GetParticlePosition::m_theta = nullptr |