Block-Structured AMR Software Framework
amrex::SoAParticle< T_NArrayReal, T_NArrayInt > Struct Template Reference

#include <AMReX_ParticleTile.H>

Inheritance diagram for amrex::SoAParticle< T_NArrayReal, T_NArrayInt >:
amrex::SoAParticleBase

Public Types

using StorageParticleType = SoAParticleBase
 
using PTD = ParticleTileData< SoAParticleBase, NArrayReal, NArrayInt >
 
using ConstType = ConstSoAParticle< T_NArrayReal, T_NArrayInt >
 
using RealType = ParticleReal
 

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE SoAParticle (PTD const &ptd, long i)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ParticleCPUWrapper cpu () &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ParticleIDWrapper id () &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE uint64_t & idcpu () &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ConstParticleCPUWrapper cpu () const &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ConstParticleIDWrapper id () const &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const uint64_t & idcpu () const &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealVect pos () const &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealTypepos (int position_index) &
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealType pos (int position_index) const &
 

Static Public Member Functions

static Long NextID ()
 
static Long UnprotectedNextID ()
 This version can only be used inside omp critical. More...
 
static void NextID (Long nextid)
 Reset on restart. More...
 

Static Public Attributes

static constexpr int NArrayReal = T_NArrayReal
 
static constexpr int NArrayInt = T_NArrayInt
 
static constexpr bool is_soa_particle = true
 
static constexpr bool is_constsoa_particle = false
 
static Long the_next_id = 1
 
- Static Public Attributes inherited from amrex::SoAParticleBase
static constexpr int NReal =0
 
static constexpr int NInt =0
 
static constexpr bool is_soa_particle = true
 

Private Attributes

PTD m_particle_tile_data
 
int m_index
 

Member Typedef Documentation

◆ ConstType

template<int T_NArrayReal, int T_NArrayInt>
using amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::ConstType = ConstSoAParticle<T_NArrayReal, T_NArrayInt>

◆ PTD

template<int T_NArrayReal, int T_NArrayInt>
using amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::PTD = ParticleTileData<SoAParticleBase, NArrayReal, NArrayInt>

◆ RealType

template<int T_NArrayReal, int T_NArrayInt>
using amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::RealType = ParticleReal

◆ StorageParticleType

template<int T_NArrayReal, int T_NArrayInt>
using amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::StorageParticleType = SoAParticleBase

Constructor & Destructor Documentation

◆ SoAParticle()

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::SoAParticle ( PTD const &  ptd,
long  i 
)
inline

Member Function Documentation

◆ cpu() [1/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ParticleCPUWrapper amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::cpu ( ) &
inline

◆ cpu() [2/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ConstParticleCPUWrapper amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::cpu ( ) const &
inline

◆ id() [1/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ParticleIDWrapper amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::id ( ) &
inline

◆ id() [2/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE ConstParticleIDWrapper amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::id ( ) const &
inline

◆ idcpu() [1/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE uint64_t& amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::idcpu ( ) &
inline

◆ idcpu() [2/2]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE const uint64_t& amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::idcpu ( ) const &
inline

◆ NextID() [1/2]

template<int NArrayReal, int NArrayInt>
Long amrex::SoAParticle< NArrayReal, NArrayInt >::NextID
static

◆ NextID() [2/2]

template<int NArrayReal, int NArrayInt>
void amrex::SoAParticle< NArrayReal, NArrayInt >::NextID ( Long  nextid)
static

Reset on restart.

Parameters
nextid

◆ pos() [1/3]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealVect amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::pos ( ) const &
inline

◆ pos() [2/3]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealType& amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::pos ( int  position_index) &
inline

◆ pos() [3/3]

template<int T_NArrayReal, int T_NArrayInt>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RealType amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::pos ( int  position_index) const &
inline

◆ UnprotectedNextID()

template<int NArrayReal, int NArrayInt>
Long amrex::SoAParticle< NArrayReal, NArrayInt >::UnprotectedNextID
static

This version can only be used inside omp critical.

Member Data Documentation

◆ is_constsoa_particle

template<int T_NArrayReal, int T_NArrayInt>
constexpr bool amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::is_constsoa_particle = false
staticconstexpr

◆ is_soa_particle

template<int T_NArrayReal, int T_NArrayInt>
constexpr bool amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::is_soa_particle = true
staticconstexpr

◆ m_index

template<int T_NArrayReal, int T_NArrayInt>
int amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::m_index
private

◆ m_particle_tile_data

template<int T_NArrayReal, int T_NArrayInt>
PTD amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::m_particle_tile_data
private

◆ NArrayInt

template<int T_NArrayReal, int T_NArrayInt>
constexpr int amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::NArrayInt = T_NArrayInt
staticconstexpr

◆ NArrayReal

template<int T_NArrayReal, int T_NArrayInt>
constexpr int amrex::SoAParticle< T_NArrayReal, T_NArrayInt >::NArrayReal = T_NArrayReal
staticconstexpr

◆ the_next_id

template<int NArrayReal, int NArrayInt>
Long amrex::SoAParticle< NArrayReal, NArrayInt >::the_next_id = 1
static

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