Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::ParticleTileDataRT< RType, IType > Struct Template Reference

#include <AMReX_ParticleTileRT.H>

Public Types

using Self = ParticleTileDataRT< RType, IType >
 
using size_type = Long
 
using ParticleType = RTSoAParticle< RType, IType >
 
using RealType = RType
 
using IntType = IType
 

Public Member Functions

__host__ __device__ constexpr ParticleTileDataRT ()=default
 
__host__ __device__ constexpr ParticleTileDataRT (size_type a_capacity, decltype(m_idcpu) a_idcpu, decltype(m_rdata) a_rdata, decltype(m_idata) a_idata, int a_n_real, int a_n_int) noexcept
 
template<class aRType , class aIType >
__host__ __device__ constexpr ParticleTileDataRT (ParticleTileDataRT< aRType, aIType > const &rhs) noexcept
 
__host__ __device__ RType & pos (const int dir, const size_type index) const &
 
__host__ __device__ decltype(auto) id (const size_type index) const &
 
__host__ __device__ decltype(auto) cpu (const size_type index) const &
 
__host__ __device__ decltype(auto) idcpu (const size_type index) const &
 
__host__ __device__ RType * rdata (const int comp_index) const &
 
__host__ __device__ IType * idata (const int comp_index) const &
 
__host__ __device__ RType & rdata (const int comp_index, const size_type partice_index) const &
 
__host__ __device__ IType & idata (const int comp_index, const size_type partice_index) const &
 
__host__ __device__ decltype(auto) operator[] (const size_type index) const
 
__host__ __device__ void packParticleData (char *buffer, size_type src_index, std::size_t dst_offset, const int *comm_real, const int *comm_int) const noexcept
 
__host__ __device__ void unpackParticleData (const char *buffer, Long src_offset, size_type dst_index, const int *comm_real, const int *comm_int) const noexcept
 
__host__ __device__ Particle< 0, 0 > getSuperParticle (size_type index) const noexcept
 

Public Attributes

size_type m_capacity = 0
 
std::conditional_t< is_const, const uint64_t *__restrict__, uint64_t *__restrict__ > m_idcpu = nullptr
 
RType *__restrict__ m_rdata = nullptr
 
IType *__restrict__ m_idata = nullptr
 
int m_n_real = 0
 
int m_n_int = 0
 

Static Public Attributes

static constexpr bool is_particle_tile_data = true
 
static constexpr bool is_const = std::is_const_v<RType>
 

Member Typedef Documentation

◆ IntType

template<class RType , class IType >
using amrex::ParticleTileDataRT< RType, IType >::IntType = IType

◆ ParticleType

template<class RType , class IType >
using amrex::ParticleTileDataRT< RType, IType >::ParticleType = RTSoAParticle<RType, IType>

◆ RealType

template<class RType , class IType >
using amrex::ParticleTileDataRT< RType, IType >::RealType = RType

◆ Self

template<class RType , class IType >
using amrex::ParticleTileDataRT< RType, IType >::Self = ParticleTileDataRT<RType, IType>

◆ size_type

template<class RType , class IType >
using amrex::ParticleTileDataRT< RType, IType >::size_type = Long

Constructor & Destructor Documentation

◆ ParticleTileDataRT() [1/3]

template<class RType , class IType >
__host__ __device__ constexpr amrex::ParticleTileDataRT< RType, IType >::ParticleTileDataRT ( )
inlineconstexprdefault

◆ ParticleTileDataRT() [2/3]

template<class RType , class IType >
__host__ __device__ constexpr amrex::ParticleTileDataRT< RType, IType >::ParticleTileDataRT ( size_type  a_capacity,
decltype(m_idcpu a_idcpu,
decltype(m_rdata a_rdata,
decltype(m_idata a_idata,
int  a_n_real,
int  a_n_int 
)
inlineconstexprnoexcept

◆ ParticleTileDataRT() [3/3]

template<class RType , class IType >
template<class aRType , class aIType >
__host__ __device__ constexpr amrex::ParticleTileDataRT< RType, IType >::ParticleTileDataRT ( ParticleTileDataRT< aRType, aIType > const &  rhs)
inlineconstexprnoexcept

Member Function Documentation

◆ cpu()

template<class RType , class IType >
__host__ __device__ decltype(auto) amrex::ParticleTileDataRT< RType, IType >::cpu ( const size_type  index) const &
inline

◆ getSuperParticle()

template<class RType , class IType >
__host__ __device__ Particle< 0, 0 > amrex::ParticleTileDataRT< RType, IType >::getSuperParticle ( size_type  index) const
inlinenoexcept

◆ id()

template<class RType , class IType >
__host__ __device__ decltype(auto) amrex::ParticleTileDataRT< RType, IType >::id ( const size_type  index) const &
inline

◆ idata() [1/2]

template<class RType , class IType >
__host__ __device__ IType * amrex::ParticleTileDataRT< RType, IType >::idata ( const int  comp_index) const &
inline

◆ idata() [2/2]

template<class RType , class IType >
__host__ __device__ IType & amrex::ParticleTileDataRT< RType, IType >::idata ( const int  comp_index,
const size_type  partice_index 
) const &
inline

◆ idcpu()

template<class RType , class IType >
__host__ __device__ decltype(auto) amrex::ParticleTileDataRT< RType, IType >::idcpu ( const size_type  index) const &
inline

◆ operator[]()

template<class RType , class IType >
__host__ __device__ decltype(auto) amrex::ParticleTileDataRT< RType, IType >::operator[] ( const size_type  index) const
inline

◆ packParticleData()

template<class RType , class IType >
__host__ __device__ void amrex::ParticleTileDataRT< RType, IType >::packParticleData ( char *  buffer,
size_type  src_index,
std::size_t  dst_offset,
const int comm_real,
const int comm_int 
) const
inlinenoexcept

◆ pos()

template<class RType , class IType >
__host__ __device__ RType & amrex::ParticleTileDataRT< RType, IType >::pos ( const int  dir,
const size_type  index 
) const &
inline

◆ rdata() [1/2]

template<class RType , class IType >
__host__ __device__ RType * amrex::ParticleTileDataRT< RType, IType >::rdata ( const int  comp_index) const &
inline

◆ rdata() [2/2]

template<class RType , class IType >
__host__ __device__ RType & amrex::ParticleTileDataRT< RType, IType >::rdata ( const int  comp_index,
const size_type  partice_index 
) const &
inline

◆ unpackParticleData()

template<class RType , class IType >
__host__ __device__ void amrex::ParticleTileDataRT< RType, IType >::unpackParticleData ( const char *  buffer,
Long  src_offset,
size_type  dst_index,
const int comm_real,
const int comm_int 
) const
inlinenoexcept

Member Data Documentation

◆ is_const

template<class RType , class IType >
constexpr bool amrex::ParticleTileDataRT< RType, IType >::is_const = std::is_const_v<RType>
staticconstexpr

◆ is_particle_tile_data

template<class RType , class IType >
constexpr bool amrex::ParticleTileDataRT< RType, IType >::is_particle_tile_data = true
staticconstexpr

◆ m_capacity

template<class RType , class IType >
size_type amrex::ParticleTileDataRT< RType, IType >::m_capacity = 0

◆ m_idata

template<class RType , class IType >
IType* __restrict__ amrex::ParticleTileDataRT< RType, IType >::m_idata = nullptr

◆ m_idcpu

template<class RType , class IType >
std::conditional_t<is_const, const uint64_t* __restrict__ , uint64_t* __restrict__ > amrex::ParticleTileDataRT< RType, IType >::m_idcpu = nullptr

◆ m_n_int

template<class RType , class IType >
int amrex::ParticleTileDataRT< RType, IType >::m_n_int = 0

◆ m_n_real

template<class RType , class IType >
int amrex::ParticleTileDataRT< RType, IType >::m_n_real = 0

◆ m_rdata

template<class RType , class IType >
RType* __restrict__ amrex::ParticleTileDataRT< RType, IType >::m_rdata = nullptr

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