#include <AMReX_ParticleTile.H>
Public Types | |
template<typename T > | |
using | AllocatorType = Allocator< T > |
using | ParticleType = T_ParticleType |
using | RealType = typename ParticleType::RealType |
using | SuperParticleType = Particle< NStructReal+NArrayReal, NStructInt+NArrayInt > |
using | AoS = std::conditional_t< ParticleType::is_soa_particle, ThisParticleTileHasNoAoS, ArrayOfStructs< ParticleType, Allocator > > |
using | SoA = std::conditional_t< ParticleType::is_soa_particle, StructOfArrays< NArrayReal, NArrayInt, Allocator, true >, StructOfArrays< NArrayReal, NArrayInt, Allocator, false > > |
using | RealVector = typename SoA::RealVector |
using | IntVector = typename SoA::IntVector |
using | StorageParticleType = typename ParticleType::StorageParticleType |
using | ParticleTileDataType = ParticleTileData< StorageParticleType, NArrayReal, NArrayInt > |
using | ConstParticleTileDataType = ConstParticleTileData< StorageParticleType, NArrayReal, NArrayInt > |
Public Member Functions | |
ParticleTile ()=default | |
~ParticleTile ()=default | |
ParticleTile (ParticleTile const &)=delete | |
ParticleTile (ParticleTile &&) noexcept=default | |
ParticleTile & | operator= (ParticleTile const &)=delete |
ParticleTile & | operator= (ParticleTile &&) noexcept=default |
void | define (int a_num_runtime_real, int a_num_runtime_int, std::vector< std::string > *soa_rdata_names=nullptr, std::vector< std::string > *soa_idata_names=nullptr) |
decltype(auto) | id (int index) & |
decltype(auto) | id (int index) const & |
decltype(auto) | cpu (int index) & |
decltype(auto) | cpu (int index) const & |
RealType & | pos (int index, int position_index) & |
RealType | pos (int index, int position_index) const & |
AoS & | GetArrayOfStructs () |
const AoS & | GetArrayOfStructs () const |
SoA & | GetStructOfArrays () |
const SoA & | GetStructOfArrays () const |
bool | empty () const |
std::size_t | size () const |
Returns the total number of particles (real and neighbor) More... | |
int | numParticles () const |
Returns the number of real particles (excluding neighbors) More... | |
int | numRealParticles () const |
Returns the number of real particles (excluding neighbors) More... | |
int | numNeighborParticles () const |
Returns the number of neighbor particles (excluding reals) More... | |
int | numTotalParticles () const |
Returns the total number of particles, real and neighbor. More... | |
void | setNumNeighbors (int num_neighbors) |
int | getNumNeighbors () const |
void | resize (std::size_t count) |
template<typename T = ParticleType, std::enable_if_t<!T::is_soa_particle, int > = 0> | |
void | push_back (const ParticleType &p) |
template<int NR = NArrayReal, int NI = NArrayInt, std::enable_if_t< NR !=0||NI !=0, int > foo = 0> | |
void | push_back (const SuperParticleType &sp) |
void | push_back_real (int comp, ParticleReal v) |
void | push_back_real (const std::array< ParticleReal, NArrayReal > &v) |
void | push_back_real (int comp, const ParticleReal *beg, const ParticleReal *end) |
void | push_back_real (int comp, amrex::Vector< amrex::ParticleReal >::const_iterator beg, amrex::Vector< amrex::ParticleReal >::const_iterator end) |
void | push_back_real (int comp, amrex::Vector< amrex::ParticleReal > const &vec) |
void | push_back_real (int comp, std::size_t npar, ParticleReal v) |
void | push_back_int (int comp, int v) |
void | push_back_int (const std::array< int, NArrayInt > &v) |
void | push_back_int (int comp, const int *beg, const int *end) |
void | push_back_int (int comp, amrex::Vector< int >::const_iterator beg, amrex::Vector< int >::const_iterator end) |
void | push_back_int (int comp, amrex::Vector< int > const &vec) |
void | push_back_int (int comp, std::size_t npar, int v) |
int | NumRealComps () const noexcept |
int | NumIntComps () const noexcept |
int | NumRuntimeRealComps () const noexcept |
int | NumRuntimeIntComps () const noexcept |
void | shrink_to_fit () |
Long | capacity () const |
void | swap (ParticleTile< ParticleType, NArrayReal, NArrayInt, Allocator > &other) noexcept |
ParticleTileDataType | getParticleTileData () |
ConstParticleTileDataType | getConstParticleTileData () const |
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 |
Private Attributes | |
AoS | m_aos_tile |
SoA | m_soa_tile |
bool | m_defined = false |
amrex::PODVector< ParticleReal *, Allocator< ParticleReal * > > | m_runtime_r_ptrs |
amrex::PODVector< int *, Allocator< int * > > | m_runtime_i_ptrs |
amrex::PODVector< const ParticleReal *, Allocator< const ParticleReal * > > | m_runtime_r_cptrs |
amrex::PODVector< const int *, Allocator< const int * > > | m_runtime_i_cptrs |
amrex::Gpu::HostVector< ParticleReal * > | m_h_runtime_r_ptrs |
amrex::Gpu::HostVector< int * > | m_h_runtime_i_ptrs |
amrex::Gpu::HostVector< const ParticleReal * > | m_h_runtime_r_cptrs |
amrex::Gpu::HostVector< const int * > | m_h_runtime_i_cptrs |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::AllocatorType = Allocator<T> |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::AoS = std::conditional_t< ParticleType::is_soa_particle, ThisParticleTileHasNoAoS, ArrayOfStructs<ParticleType, Allocator> > |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::ConstParticleTileDataType = ConstParticleTileData<StorageParticleType, NArrayReal, NArrayInt> |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::IntVector = typename SoA::IntVector |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::ParticleTileDataType = ParticleTileData<StorageParticleType, NArrayReal, NArrayInt> |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::ParticleType = T_ParticleType |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::RealType = typename ParticleType::RealType |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::RealVector = typename SoA::RealVector |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::SoA = std::conditional_t< ParticleType::is_soa_particle, StructOfArrays<NArrayReal, NArrayInt, Allocator, true>, StructOfArrays<NArrayReal, NArrayInt, Allocator, false> > |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::StorageParticleType = typename ParticleType::StorageParticleType |
using amrex::ParticleTile< T_ParticleType, NArrayReal, NArrayInt, Allocator >::SuperParticleType = Particle<NStructReal + NArrayReal, NStructInt + NArrayInt> |
|
default |
|
default |
|
delete |
|
defaultnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
Returns the number of neighbor particles (excluding reals)
|
inline |
Returns the number of real particles (excluding neighbors)
|
inlinenoexcept |
|
inline |
Returns the number of real particles (excluding neighbors)
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Returns the total number of particles, real and neighbor.
|
defaultnoexcept |
|
delete |
|
inline |
|
inline |
|
inline |
Add one particle to this tile.
|
inline |
Add one particle to this tile.
|
inline |
Add int values to the struct-of-arrays, for all comps at once. This sets the data for one particle.
|
inline |
Add a range of int values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add a range of int values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add a range of int values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add an int value to the struct-of-arrays at index comp. This sets the data for one particle.
|
inline |
Add npar copies of the int value v to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add Real values to the struct-of-arrays, for all comps at once. This sets the data for one particle.
|
inline |
Add a range of Real values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add a range of Real values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add a range of Real values to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
Add a Real value to the struct-of-arrays at index comp. This sets the data for one particle.
|
inline |
Add npar copies of the Real value v to the struct-of-arrays for the given comp. This sets the data for several particles at once.
|
inline |
|
inline |
|
inline |
|
inline |
Returns the total number of particles (real and neighbor)
|
inlinenoexcept |
|
private |
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |
|
private |
|
private |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |