BackTransform functor to select particles and Lorentz Transform them and store in particle buffers.
More...
#include <BackTransformParticleFunctor.H>
|
| | BackTransformParticleFunctor (WarpXParticleContainer *pc_src, std::string species_name, int num_buffers) |
| | Functor to compute Lorentz Transform and store the selected particles in existing particle buffers. More...
|
| |
| void | operator() (PinnedMemoryParticleContainer &pc_dst, int &TotalParticleCounter, int i_buffer) const override |
| |
| void | InitData () override |
| |
| void | PrepareFunctorData (int i_buffer, bool z_slice_in_domain, amrex::Real old_z_boost, amrex::Real current_z_boost, amrex::Real t_lab, int snapshot_full) override |
| | Prepare data required to back-transform particle attribtutes for lab-frame snapshot, i_buffer. More...
|
| |
Public Member Functions inherited from ComputeParticleDiagFunctor |
| | ComputeParticleDiagFunctor () |
| |
| virtual | ~ComputeParticleDiagFunctor ()=default |
| |
BackTransform functor to select particles and Lorentz Transform them and store in particle buffers.
◆ BackTransformParticleFunctor()
| BackTransformParticleFunctor::BackTransformParticleFunctor |
( |
WarpXParticleContainer * |
pc_src, |
|
|
std::string |
species_name, |
|
|
int |
num_buffers |
|
) |
| |
Functor to compute Lorentz Transform and store the selected particles in existing particle buffers.
◆ InitData()
| void BackTransformParticleFunctor::InitData |
( |
| ) |
|
|
overridevirtual |
◆ operator()()
◆ PrepareFunctorData()
| void BackTransformParticleFunctor::PrepareFunctorData |
( |
int |
i_buffer, |
|
|
bool |
z_slice_in_domain, |
|
|
amrex::Real |
old_z_boost, |
|
|
amrex::Real |
current_z_boost, |
|
|
amrex::Real |
t_lab, |
|
|
int |
snapshot_full |
|
) |
| |
|
overridevirtual |
Prepare data required to back-transform particle attribtutes for lab-frame snapshot, i_buffer.
- Parameters
-
| [in] | i_buffer | index of the snapshot |
| [in] | z_slice_in_domain | if the z-slice at current_z_boost is within the bounds of the boosted-frame and lab-frame domain. The particles are transformed only if this value is true. |
| [in] | old_z_boost | previous z-position of the slice in boosted frame |
| [in] | current_z_boost | z co-ordinate of the slice selected in boosted-frame. |
| [in] | t_lab | current time in lab-frame for snapshot, i_buffer. |
| [in] | snapshot_full | if the current snapshot, with index, i_buffer, is full (1) or not (0). If it is full, then Lorentz-transform is not performed by setting m_perform_backtransform to 0 for the corresponding ith snapshot. |
Reimplemented from ComputeParticleDiagFunctor.
◆ m_current_z_boost
| amrex::Vector<amrex::Real> BackTransformParticleFunctor::m_current_z_boost |
|
private |
Vector of current z co-ordinate in the boosted frame for each snapshot
◆ m_num_buffers
| int BackTransformParticleFunctor::m_num_buffers |
|
private |
Number of buffers or snapshots
◆ m_old_z_boost
| amrex::Vector<amrex::Real> BackTransformParticleFunctor::m_old_z_boost |
|
private |
Vector of previous z co-ordinate in the boosted frame for each snapshot
◆ m_pc_src
Source particle container
◆ m_perform_backtransform
| amrex::Vector<int> BackTransformParticleFunctor::m_perform_backtransform |
|
private |
Vector of 0s and 1s stored to check if back-transformation is to be performed for the ith snapshot. The value is set to 0 (false) or 1 (true) using the boolean ZSliceInDomain in PrepareFunctorData()
◆ m_species_name
| std::string BackTransformParticleFunctor::m_species_name |
|
private |
String containing species name of particles being transformed
◆ m_t_lab
Vector of lab-frame time for each snapshot
The documentation for this class was generated from the following files: