WarpX
Public Member Functions | Private Attributes | List of all members
fillBufferFlagRemainingParticles Class Reference

Functor that fills the elements of the particle array inexflag with the value of the spatial array bmasks, at the corresponding particle position. More...

#include <SortingUtils.H>

Public Member Functions

 fillBufferFlagRemainingParticles (WarpXParIter const &pti, amrex::iMultiFab const *bmasks, amrex::Gpu::DeviceVector< int > &inexflag, amrex::Geometry const &geom, amrex::Gpu::DeviceVector< int > const &particle_indices, int start_index)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (const int i) const
 

Private Attributes

amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > m_prob_lo
 
amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > m_inv_cell_size
 
amrex::Box m_domain
 
intm_inexflag_ptr
 
WarpXParticleContainer::ParticleTileType::ConstParticleTileDataType const m_ptd
 
amrex::Array4< int const > m_buffer_mask
 
int const m_start_index
 
int const * m_indices_ptr
 

Detailed Description

Functor that fills the elements of the particle array inexflag with the value of the spatial array bmasks, at the corresponding particle position.

Contrary to fillBufferFlag, here this is done only for the particles that the last elements of particle_indices point to (from the element at index start_index in particle_indices, to the last element of particle_indices)

Parameters
[in]ptiContains information on the particle positions
[in]bmasksSpatial array, that contains a flag indicating whether each cell is part of the gathering/deposition buffers
[out]inexflagVector to be filled with the value of bmasks
[in]geomGeometry object, necessary to locate particles within the array bmasks
[in]start_indexIndex that which elements start to be modified

Constructor & Destructor Documentation

◆ fillBufferFlagRemainingParticles()

fillBufferFlagRemainingParticles::fillBufferFlagRemainingParticles ( WarpXParIter const &  pti,
amrex::iMultiFab const *  bmasks,
amrex::Gpu::DeviceVector< int > &  inexflag,
amrex::Geometry const &  geom,
amrex::Gpu::DeviceVector< int > const &  particle_indices,
int  start_index 
)
inline

Member Function Documentation

◆ operator()()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void fillBufferFlagRemainingParticles::operator() ( const int  i) const
inline

Member Data Documentation

◆ m_buffer_mask

amrex::Array4<int const> fillBufferFlagRemainingParticles::m_buffer_mask
private

◆ m_domain

amrex::Box fillBufferFlagRemainingParticles::m_domain
private

◆ m_indices_ptr

int const* fillBufferFlagRemainingParticles::m_indices_ptr
private

◆ m_inexflag_ptr

int* fillBufferFlagRemainingParticles::m_inexflag_ptr
private

◆ m_inv_cell_size

amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> fillBufferFlagRemainingParticles::m_inv_cell_size
private

◆ m_prob_lo

amrex::GpuArray<amrex::Real,AMREX_SPACEDIM> fillBufferFlagRemainingParticles::m_prob_lo
private

◆ m_ptd

WarpXParticleContainer::ParticleTileType::ConstParticleTileDataType const fillBufferFlagRemainingParticles::m_ptd
private

◆ m_start_index

int const fillBufferFlagRemainingParticles::m_start_index
private

The documentation for this class was generated from the following file: