Block-Structured AMR Software Framework
amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt > Struct Template Reference

#include <AMReX_ParticleTile.H>

Public Types

using ParticleType = T_ParticleType
 
using ParticleRefType = T_ParticleType const &
 
using SuperParticleType = Particle< NStructReal+NArrayReal, NStructInt+NArrayInt >
 
using AOS_PTR = std::conditional_t< T_ParticleType::is_soa_particle, void const *AMREX_RESTRICT, ParticleType const *AMREX_RESTRICT >
 

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const ParticleReal & pos (const int dir, const int index) const &
 
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE id (const int index) const &
 
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE cpu (const int index) const &
 
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE idcpu (const int index) const &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const ParticleReal * rdata (const int attribute_index) const
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const intidata (const int attribute_index) const
 
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE operator[] (const int index) const
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void packParticleData (char *buffer, int src_index, Long dst_offset, const int *comm_real, const int *comm_int) const noexcept
 
template<typename T = ParticleType, std::enable_if_t<!T::is_soa_particle, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SuperParticleType getSuperParticle (int index) const noexcept
 
template<typename T = ParticleType, std::enable_if_t< T::is_soa_particle, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SuperParticleType getSuperParticle (int index) const noexcept
 

Public Attributes

Long m_size
 
AOS_PTR m_aos
 
const uint64_t * m_idcpu
 
GpuArray< const ParticleReal *, NArrayReal > m_rdata
 
GpuArray< const int *, NArrayInt > m_idata
 
int m_num_runtime_real
 
int m_num_runtime_int
 
const ParticleReal *AMREX_RESTRICT *AMREX_RESTRICT m_runtime_rdata
 
const int *AMREX_RESTRICT *AMREX_RESTRICT m_runtime_idata
 

Static Public Attributes

static constexpr int NAR = NArrayReal
 
static constexpr int NAI = NArrayInt
 
static constexpr int NStructReal = ParticleType::NReal
 
static constexpr int NStructInt = ParticleType::NInt
 
static constexpr bool is_particle_tile_data = true
 

Member Typedef Documentation

◆ AOS_PTR

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
using amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::AOS_PTR = std::conditional_t<T_ParticleType::is_soa_particle, void const * AMREX_RESTRICT, ParticleType const * AMREX_RESTRICT>

◆ ParticleRefType

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
using amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::ParticleRefType = T_ParticleType const&

◆ ParticleType

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
using amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::ParticleType = T_ParticleType

◆ SuperParticleType

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
using amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::SuperParticleType = Particle<NStructReal+NArrayReal, NStructInt+NArrayInt>

Member Function Documentation

◆ cpu()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::cpu ( const int  index) const &
inline

◆ getSuperParticle() [1/2]

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
template<typename T = ParticleType, std::enable_if_t<!T::is_soa_particle, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SuperParticleType amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::getSuperParticle ( int  index) const
inlinenoexcept

◆ getSuperParticle() [2/2]

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
template<typename T = ParticleType, std::enable_if_t< T::is_soa_particle, int > = 0>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SuperParticleType amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::getSuperParticle ( int  index) const
inlinenoexcept

◆ id()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::id ( const int  index) const &
inline

◆ idata()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const int* amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::idata ( const int  attribute_index) const
inline

◆ idcpu()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::idcpu ( const int  index) const &
inline

◆ operator[]()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICEdecltype(auto) AMREX_FORCE_INLINE amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::operator[] ( const int  index) const
inline

◆ packParticleData()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::packParticleData ( char *  buffer,
int  src_index,
Long  dst_offset,
const int comm_real,
const int comm_int 
) const
inlinenoexcept

◆ pos()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const ParticleReal& amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::pos ( const int  dir,
const int  index 
) const &
inline

◆ rdata()

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const ParticleReal* amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::rdata ( const int  attribute_index) const
inline

Member Data Documentation

◆ is_particle_tile_data

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
constexpr bool amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::is_particle_tile_data = true
staticconstexpr

◆ m_aos

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
AOS_PTR amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_aos

◆ m_idata

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
GpuArray<const int*, NArrayInt > amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_idata

◆ m_idcpu

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
const uint64_t* amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_idcpu

◆ m_num_runtime_int

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_num_runtime_int

◆ m_num_runtime_real

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_num_runtime_real

◆ m_rdata

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
GpuArray<const ParticleReal*, NArrayReal> amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_rdata

◆ m_runtime_idata

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
const int* AMREX_RESTRICT* AMREX_RESTRICT amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_runtime_idata

◆ m_runtime_rdata

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
const ParticleReal* AMREX_RESTRICT* AMREX_RESTRICT amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_runtime_rdata

◆ m_size

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
Long amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_size

◆ NAI

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
constexpr int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::NAI = NArrayInt
staticconstexpr

◆ NAR

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
constexpr int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::NAR = NArrayReal
staticconstexpr

◆ NStructInt

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
constexpr int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::NStructInt = ParticleType::NInt
staticconstexpr

◆ NStructReal

template<typename T_ParticleType , int NArrayReal, int NArrayInt>
constexpr int amrex::ConstParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::NStructReal = ParticleType::NReal
staticconstexpr

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