Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt > Struct Template Reference

#include <AMReX_ParticleTile.H>

Public Types

using ParticleType = T_ParticleType
using ParticleRefType = T_ParticleType&
using Self = ParticleTileData<ParticleType, NAR, NAI>
using RealType = ParticleReal
using IntType = int
using SuperParticleType = Particle<NStructReal+NAR, NStructInt+NAI>
using AOS_PTR

Public Member Functions

__host__ __device__ decltype(auto) pos (const int dir, const int index) const &
__host__ __device__ decltype(auto) id (const int index) const &
__host__ __device__ decltype(auto) cpu (const int index) const &
__host__ __device__ decltype(auto) idcpu (const int index) const &
__host__ __device__ ParticleReal * rdata (const int attribute_index) const
__host__ __device__ int * idata (const int attribute_index) const
__host__ __device__ decltype(auto) operator[] (const int index) const
__host__ __device__ void packParticleData (char *buffer, int 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, int dst_index, const int *comm_real, const int *comm_int) const noexcept
__host__ __device__ SuperParticleType getSuperParticle (int index) const noexcept
__host__ __device__ SuperParticleType getSuperParticle (int index) const noexcept
__host__ __device__ void setSuperParticle (const SuperParticleType &sp, int index) const noexcept
__host__ __device__ void setSuperParticle (const SuperParticleType &sp, int index) const noexcept

Public Attributes

Long m_size
AOS_PTR m_aos
uint64_t * m_idcpu
GpuArray< ParticleReal *, NAR > m_rdata
GpuArray< int *, NAI > m_idata
int m_num_runtime_real
int m_num_runtime_int
ParticleReal *__restrict__ *__restrict__ m_runtime_rdata
int *__restrict__ *__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::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::AOS_PTR
Initial value:
std::conditional_t<T_ParticleType::is_soa_particle,
void * __restrict__ , ParticleType * __restrict__ >
T_ParticleType ParticleType
Definition AMReX_ParticleTile.H:520

◆ IntType

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
using amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::IntType = int

◆ ParticleRefType

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

◆ ParticleType

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

◆ RealType

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
using amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::RealType = ParticleReal

◆ Self

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
using amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::Self = ParticleTileData<ParticleType, NAR, NAI>

◆ SuperParticleType

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

Member Function Documentation

◆ cpu()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ decltype(auto) amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::cpu ( const int index) const &
inlinenodiscard

◆ getSuperParticle() [1/2]

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ SuperParticleType amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::getSuperParticle ( int index) const
inlinenodiscardnoexcept

◆ getSuperParticle() [2/2]

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ SuperParticleType amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::getSuperParticle ( int index) const
inlinenodiscardnoexcept

◆ id()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ decltype(auto) amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::id ( const int index) const &
inlinenodiscard

◆ idata()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ int * amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::idata ( const int attribute_index) const
inlinenodiscard

◆ idcpu()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ decltype(auto) amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::idcpu ( const int index) const &
inlinenodiscard

◆ operator[]()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ decltype(auto) amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::operator[] ( const int index) const
inline

◆ packParticleData()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ void amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::packParticleData ( char * buffer,
int src_index,
std::size_t dst_offset,
const int * comm_real,
const int * comm_int ) const
inlinenoexcept

◆ pos()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ decltype(auto) amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::pos ( const int dir,
const int index ) const &
inlinenodiscard

◆ rdata()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ ParticleReal * amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::rdata ( const int attribute_index) const
inlinenodiscard

◆ setSuperParticle() [1/2]

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ void amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::setSuperParticle ( const SuperParticleType & sp,
int index ) const
inlinenoexcept

◆ setSuperParticle() [2/2]

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ void amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::setSuperParticle ( const SuperParticleType & sp,
int index ) const
inlinenoexcept

◆ unpackParticleData()

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
__host__ __device__ void amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::unpackParticleData ( const char * buffer,
Long src_offset,
int dst_index,
const int * comm_real,
const int * comm_int ) const
inlinenoexcept

Member Data Documentation

◆ is_particle_tile_data

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

◆ m_aos

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

◆ m_idata

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
GpuArray<int*, NAI> amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_idata

◆ m_idcpu

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

◆ m_num_runtime_int

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

◆ m_num_runtime_real

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

◆ m_rdata

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
GpuArray<ParticleReal*, NAR> amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_rdata

◆ m_runtime_idata

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
int* __restrict__* __restrict__ amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_runtime_idata

◆ m_runtime_rdata

template<typename T_ParticleType, int NArrayReal, int NArrayInt>
ParticleReal* __restrict__* __restrict__ amrex::ParticleTileData< T_ParticleType, NArrayReal, NArrayInt >::m_runtime_rdata

◆ m_size

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

◆ NAI

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

◆ NAR

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

◆ NStructInt

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

◆ NStructReal

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

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