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 &
inlinenodiscard

◆ getSuperParticle()

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

◆ id()

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

◆ idata() [1/2]

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

◆ 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 &
inlinenodiscard

◆ idcpu()

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

◆ 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 &
inlinenodiscard

◆ rdata() [1/2]

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

◆ 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 &
inlinenodiscard

◆ 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>
bool amrex::ParticleTileDataRT< RType, IType >::is_const = std::is_const_v<RType>
staticconstexpr

◆ is_particle_tile_data

template<class RType, class IType>
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: