|
WarpX
|
#include <LatticeElementFinder.H>
Public Member Functions | |
| void | InitElementFinder (int lev, amrex::Real gamma_boost, const amrex::Vector< amrex::Real > &time, amrex::MFIter const &a_mfi, AcceleratorLattice const &accelerator_lattice) |
| Initialize the element finder at the level and grid. | |
| void | AllocateIndices (AcceleratorLattice const &accelerator_lattice) |
| Allocate the index lookup tables for each element type. | |
| void | UpdateIndices (int lev, amrex::MFIter const &a_mfi, AcceleratorLattice const &accelerator_lattice, const amrex::Vector< amrex::Real > &time) |
| Update the index lookup tables for each element type, filling in the values. | |
| LatticeElementFinderDevice | GetFinderDeviceInstance (WarpXParIter const &a_pti, int a_offset, AcceleratorLattice const &accelerator_lattice, const amrex::Vector< amrex::Real > &dts) const |
| Get the device level instance associated with this instance. | |
| void | setup_lattice_indices (amrex::Gpu::DeviceVector< amrex::ParticleReal > const &zs, amrex::Gpu::DeviceVector< amrex::ParticleReal > const &ze, amrex::Gpu::DeviceVector< int > &indices) const |
| Fill in the index lookup tables This loops over the grid (in z) and finds the lattice element closest to each grid point. | |
Public Attributes | |
| int | m_nz |
| amrex::Real | m_zmin |
| amrex::Real | m_dz |
| amrex::ParticleReal | m_gamma_boost |
| amrex::ParticleReal | m_uz_boost |
| amrex::Real | m_time |
| amrex::Gpu::DeviceVector< int > | d_quad_indices |
| amrex::Gpu::DeviceVector< int > | d_plasmalens_indices |
| void LatticeElementFinder::AllocateIndices | ( | AcceleratorLattice const & | accelerator_lattice | ) |
Allocate the index lookup tables for each element type.
| [in] | accelerator_lattice | a reference to the accelerator lattice at the refinement level |
|
nodiscard |
Get the device level instance associated with this instance.
| [in] | a_pti | specifies the grid where the finder is defined |
| [in] | a_offset | particle index offset needed to access particle info |
| [in] | accelerator_lattice | a reference to the accelerator lattice at the refinement level |
| [in] | dts | vector containing the timestep sizes at all refinement levels |
| void LatticeElementFinder::InitElementFinder | ( | int | lev, |
| amrex::Real | gamma_boost, | ||
| const amrex::Vector< amrex::Real > & | time, | ||
| amrex::MFIter const & | a_mfi, | ||
| AcceleratorLattice const & | accelerator_lattice ) |
Initialize the element finder at the level and grid.
| [in] | lev | the refinement level |
| [in] | gamma_boost | the Lorentz factor of the boosted frame |
| [in] | time | the current time on all refinement levels |
| [in] | a_mfi | specifies the grid where the finder is defined |
| [in] | accelerator_lattice | a reference to the accelerator lattice at the refinement level |
| void LatticeElementFinder::setup_lattice_indices | ( | amrex::Gpu::DeviceVector< amrex::ParticleReal > const & | zs, |
| amrex::Gpu::DeviceVector< amrex::ParticleReal > const & | ze, | ||
| amrex::Gpu::DeviceVector< int > & | indices ) const |
Fill in the index lookup tables This loops over the grid (in z) and finds the lattice element closest to each grid point.
| [in] | zs | list of the starts of the lattice elements |
| [in] | ze | list of the ends of the lattice elements |
| [in] | indices | the index lookup table to be filled in |
| void LatticeElementFinder::UpdateIndices | ( | int | lev, |
| amrex::MFIter const & | a_mfi, | ||
| AcceleratorLattice const & | accelerator_lattice, | ||
| const amrex::Vector< amrex::Real > & | time ) |
Update the index lookup tables for each element type, filling in the values.
| [in] | lev | the refinement level |
| [in] | a_mfi | specifies the grid where the finder is defined |
| [in] | accelerator_lattice | a reference to the accelerator lattice at the refinement level |
| [in] | time | the current time on all refinement levels |
| amrex::Gpu::DeviceVector<int> LatticeElementFinder::d_plasmalens_indices |
| amrex::Gpu::DeviceVector<int> LatticeElementFinder::d_quad_indices |
| amrex::Real LatticeElementFinder::m_dz |
| amrex::ParticleReal LatticeElementFinder::m_gamma_boost |
| int LatticeElementFinder::m_nz |
| amrex::Real LatticeElementFinder::m_time |
| amrex::ParticleReal LatticeElementFinder::m_uz_boost |
| amrex::Real LatticeElementFinder::m_zmin |