The struct used to store particles. More...
#include <AMReX_Particle.H>
Public Types | |
| using | StorageParticleType = Particle |
| using | ConstType = Particle const |
| using | RealType = ParticleReal |
| The floating point type used for the particles. | |
| using | IntType = int |
Public Member Functions | |
| __host__ __device__ ParticleCPUWrapper | cpu () & |
| __host__ __device__ ParticleIDWrapper | id () & |
| __host__ __device__ ConstParticleCPUWrapper | cpu () const & |
| __host__ __device__ ConstParticleIDWrapper | id () const & |
| __host__ __device__ void | atomicSetID (const Long id) |
| __host__ __device__ uint64_t & | idcpu () & |
| __host__ __device__ const uint64_t & | idcpu () const & |
| __host__ __device__ RealVect | pos () const & |
| __host__ __device__ RealType & | pos (int index) & |
| __host__ __device__ RealType | pos (int index) const & |
| template<int U = T_NReal, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ RealType & | rdata (int index) & |
| template<int U = T_NReal, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ RealType & | rdata (int) & |
| template<int U = T_NReal, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ const RealType & | rdata (int index) const & |
| template<int U = T_NReal, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ RealType | rdata (int) const & |
| __host__ __device__ RealType | rdata (int) &&=delete |
| template<int U = T_NReal, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ RealVect | rvec (int indx, int indy, int indz) const & |
| template<int U = T_NReal, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ RealVect | rvec (int, int, int) const & |
| template<int U = T_NReal, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ RealVect | rvec (const IntVect &indices) const & |
| template<int U = T_NReal, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ RealVect | rvec (const IntVect &) const & |
| template<int U = T_NInt, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ int & | idata (int index) & |
| template<int U = T_NInt, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ uint64_t & | idata (int) & |
| template<int U = T_NInt, std::enable_if_t< U !=0, int > = 0> | |
| __host__ __device__ const int & | idata (int index) const & |
| template<int U = T_NInt, std::enable_if_t< U==0, int > = 0> | |
| __host__ __device__ int | idata (int) const & |
| __host__ __device__ RealType | idata (int) &&=delete |
Static Public Member Functions | |
| static Long | NextID () |
| Returns the next particle ID for this processor. Particle IDs start at 1 and are never reused. The pair, consisting of the ID and the CPU on which the particle is "born", is a globally unique identifier for a particle. The maximum of this value across all processors must be checkpointed and then restored on restart so that we don't reuse particle IDs. | |
| static Long | UnprotectedNextID () |
| This version can only be used inside omp critical. | |
| static void | NextID (Long nextid) |
| Reset on restart. | |
Static Public Attributes | |
| static constexpr bool | is_soa_particle = false |
| static constexpr int | NReal = T_NReal |
| number of extra Real components in the particle struct | |
| static constexpr int | NInt = T_NInt |
| number of extra integer components in the particle struct | |
| static Long | the_next_id = 1 |
Additional Inherited Members | |
Public Attributes inherited from amrex::ParticleBase< T, NReal, NInt > | |
| T | m_pos [3] |
| T | m_rdata [NReal] |
| uint64_t | m_idcpu = 0 |
| int | m_idata [NInt] |
The struct used to store particles.
| T_NReal | The number of extra Real components |
| T_NInt | The number of extra integer components |
| using amrex::Particle< T_NReal, T_NInt >::ConstType = Particle const |
| using amrex::Particle< T_NReal, T_NInt >::IntType = int |
| using amrex::Particle< T_NReal, T_NInt >::RealType = ParticleReal |
The floating point type used for the particles.
| using amrex::Particle< T_NReal, T_NInt >::StorageParticleType = Particle |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinedelete |
|
inline |
|
inline |
|
inline |
|
static |
Returns the next particle ID for this processor. Particle IDs start at 1 and are never reused. The pair, consisting of the ID and the CPU on which the particle is "born", is a globally unique identifier for a particle. The maximum of this value across all processors must be checkpointed and then restored on restart so that we don't reuse particle IDs.
|
static |
Reset on restart.
| nextid |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinedelete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
This version can only be used inside omp critical.
|
staticconstexpr |
|
staticconstexpr |
number of extra integer components in the particle struct
|
staticconstexpr |
number of extra Real components in the particle struct
|
static |