Application-level particle storage and single particle access. More...
#include <Cabana_AoSoA.hpp>
#include <Cabana_Fields.hpp>
#include <Cabana_MemberTypes.hpp>
#include <Cabana_SoA.hpp>
#include <Cabana_Tuple.hpp>
#include <memory>
#include <string>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | Cabana::ParticleTraits< FieldTags > |
Extract AoSoA particle fields for ParticleList. More... | |
struct | Cabana::Particle< FieldTags > |
Single particle copy. Wraps a tuple copy of a particle. More... | |
struct | Cabana::ParticleView< VectorLength, FieldTags > |
Single SoA particle view. Wraps a view of the SoA the particle resides in. More... | |
class | Cabana::ParticleList< MemorySpace, VectorLength, FieldTags > |
List of particle fields stored in AoSoA. More... | |
struct | Cabana::is_particle_list_impl< class > |
struct | Cabana::is_particle_list_impl< ParticleList< MemorySpace, VectorLength, FieldTags... > > |
struct | Cabana::is_particle_list< T > |
ParticleList static type checker. More... | |
Namespaces | |
namespace | Cabana |
Core: particle data structures and algorithms. | |
Functions | |
template<class FieldTag, class... FieldTags, class... IndexTypes> | |
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< sizeof...(IndexTypes)==FieldTag::rank, typenameParticle< FieldTags... >::tuple_type::templatemember_const_reference_type< TypeIndexer< FieldTag, FieldTags... >::index > >::type | Cabana::get (const Particle< FieldTags... > &particle, FieldTag, IndexTypes... indices) |
Return a single element of a single field from indices. | |
template<class FieldTag, class... FieldTags, class... IndexTypes> | |
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< sizeof...(IndexTypes)==FieldTag::rank, typenameParticle< FieldTags... >::tuple_type::templatemember_reference_type< TypeIndexer< FieldTag, FieldTags... >::index > >::type | Cabana::get (Particle< FieldTags... > &particle, FieldTag, IndexTypes... indices) |
Return a single element of a single field from indices. | |
template<class FieldTag, class... FieldTags, class... IndexTypes, int VectorLength> | |
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< sizeof...(IndexTypes)==FieldTag::rank, typenameParticleView< VectorLength, FieldTags... >::soa_type::templatemember_const_reference_type< TypeIndexer< FieldTag, FieldTags... >::index > >::type | Cabana::get (const ParticleView< VectorLength, FieldTags... > &particle, FieldTag, IndexTypes... indices) |
Return a single element of a single field from indices. | |
template<class FieldTag, class... FieldTags, class... IndexTypes, int VectorLength> | |
KOKKOS_FORCEINLINE_FUNCTION std::enable_if< sizeof...(IndexTypes)==FieldTag::rank, typenameParticleView< VectorLength, FieldTags... >::soa_type::templatemember_reference_type< TypeIndexer< FieldTag, FieldTags... >::index > >::type | Cabana::get (ParticleView< VectorLength, FieldTags... > &particle, FieldTag, IndexTypes... indices) |
Return a single element of a single field from indices. | |
template<class MemorySpace, int VectorLength, class... FieldTags> | |
auto | Cabana::createParticleList (const std::string &label, ParticleTraits< FieldTags... >) |
ParticleList creation function. | |
template<class MemorySpace, class... FieldTags> | |
auto | Cabana::createParticleList (const std::string &label, ParticleTraits< FieldTags... >) |
ParticleList creation function with default vector length. | |
Application-level particle storage and single particle access.