WarpX
|
Transform functor to Lorentz-transform particles and obtain lab-frame data. More...
#include <BackTransformParticleFunctor.H>
Public Types | |
using | TmpParticles = WarpXParticleContainer::TmpParticles |
Public Member Functions | |
LorentzTransformParticles (const WarpXParIter &a_pti, TmpParticles &tmp_particle_data, amrex::Real t_boost, amrex::Real dt, amrex::Real t_lab, int a_offset=0) | |
Constructor of the LorentzTransformParticles functor. More... | |
template<typename DstData , typename SrcData > | |
AMREX_GPU_HOST_DEVICE void | operator() (const DstData &dst, const SrcData &src, int i_src, int i_dst) const noexcept |
Functor call. This method computes the Lorentz-transform for particle attributes to obtain the lab-frame snapshot data. More... | |
Public Attributes | |
GetParticlePosition< PIdx > | m_get_position |
amrex::ParticleReal *AMREX_RESTRICT | m_xpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | m_ypold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | m_zpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | m_uxpold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | m_uypold = nullptr |
amrex::ParticleReal *AMREX_RESTRICT | m_uzpold = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | m_uxpnew = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | m_uypnew = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | m_uzpnew = nullptr |
const amrex::ParticleReal *AMREX_RESTRICT | m_wpnew = nullptr |
amrex::Real | m_gammaboost |
amrex::Real | m_betaboost |
amrex::Real | m_Phys_c |
amrex::Real | m_uzfrm |
amrex::Real | m_inv_c2 |
amrex::Real | m_t_boost |
amrex::Real | m_dt |
amrex::Real | m_t_lab |
Transform functor to Lorentz-transform particles and obtain lab-frame data.
LorentzTransformParticles::LorentzTransformParticles | ( | const WarpXParIter & | a_pti, |
TmpParticles & | tmp_particle_data, | ||
amrex::Real | t_boost, | ||
amrex::Real | dt, | ||
amrex::Real | t_lab, | ||
int | a_offset = 0 |
||
) |
Constructor of the LorentzTransformParticles functor.
[in] | a_pti | WarpX particle iterator |
[in] | tmp_particle_data | temporary particle data |
[in] | t_boost | time in boosted frame |
[in] | dt | timestep in boosted-frame |
[in] | t_lab | time in lab-frame |
[in] | a_offset | index offset for particles to be transformed |
|
inlinenoexcept |
Functor call. This method computes the Lorentz-transform for particle attributes to obtain the lab-frame snapshot data.
[out] | dst | DstData particle tile data that stores the transformed particle data |
[in] | src | SrcData particle tile data that is selected for transformation |
[in] | i_src | particle index of the source particles |
[in] | i_dst | particle index of the target particles (transformed data). |
amrex::Real LorentzTransformParticles::m_betaboost |
amrex::Real LorentzTransformParticles::m_dt |
amrex::Real LorentzTransformParticles::m_gammaboost |
GetParticlePosition<PIdx> LorentzTransformParticles::m_get_position |
amrex::Real LorentzTransformParticles::m_inv_c2 |
amrex::Real LorentzTransformParticles::m_Phys_c |
amrex::Real LorentzTransformParticles::m_t_boost |
amrex::Real LorentzTransformParticles::m_t_lab |
const amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uxpnew = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uxpold = nullptr |
const amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uypnew = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uypold = nullptr |
amrex::Real LorentzTransformParticles::m_uzfrm |
const amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uzpnew = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_uzpold = nullptr |
const amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_wpnew = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_xpold = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_ypold = nullptr |
amrex::ParticleReal* AMREX_RESTRICT LorentzTransformParticles::m_zpold = nullptr |