Particle creation utilities. More...
#include <Kokkos_Core.hpp>#include <Kokkos_Random.hpp>#include <Cabana_ParticleList.hpp>#include <Cabana_Slice.hpp>#include <Cabana_Utils.hpp>#include <random>#include <type_traits>

Go to the source code of this file.
Classes | |
| struct | Cabana::InitUniform |
| Uniform particle initialization type tag. More... | |
| struct | Cabana::InitRandom |
| Random particle initialization type tag. More... | |
Namespaces | |
| namespace | Cabana |
| Core: particle data structures and algorithms. | |
Functions | |
| template<class ExecutionSpace, class InitFunctor, class ParticleListType, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| int | Cabana::createParticles (InitRandom, ExecutionSpace exec_space, const InitFunctor &create_functor, ParticleListType &particle_list, const std::size_t num_particles, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const bool shrink_to_fit=true, const uint64_t seed=342343901, typename std::enable_if< is_particle_list< ParticleListType >::value, int >::type *=0) |
| Initialize random particles given an initialization functor. | |
| template<class InitFunctor, class ParticleListType, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| int | Cabana::createParticles (InitRandom tag, const InitFunctor &create_functor, ParticleListType &particle_list, const std::size_t num_particles, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const bool shrink_to_fit=true, const uint64_t seed=342343901) |
| Initialize random particles given an initialization functor. | |
| template<class ExecutionSpace, class PositionType, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| void | Cabana::createParticles (InitRandom, ExecutionSpace exec_space, PositionType &positions, const std::size_t num_particles, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const uint64_t seed=342343901, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Initialize random particles. | |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| void | Cabana::createParticles (InitRandom tag, PositionType &positions, const std::size_t num_particles, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const uint64_t seed=342343901, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Initialize random particles. | |
| template<class ExecutionSpace, class PositionType, class Scalar> | |
| void | Cabana::createParticles (InitRandom tag, ExecutionSpace exec_space, PositionType &positions, const std::size_t num_particles, const Scalar box_min[3], const Scalar box_max[3], const std::size_t previous_num_particles=0, const uint64_t seed=342343901) |
| Initialize random particles. | |
| template<class PositionType, class Scalar> | |
| void | Cabana::createParticles (InitRandom tag, PositionType &positions, const std::size_t num_particles, const Scalar box_min[3], const Scalar box_max[3], const std::size_t previous_num_particles=0, const uint64_t seed=342343901) |
| Initialize random particles. | |
| template<class ExecutionSpace, class InitFunctor, class ParticleListType, class PositionTag, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| int | Cabana::createParticles (InitRandom tag, ExecutionSpace exec_space, const InitFunctor &create_functor, ParticleListType &particle_list, PositionTag position_tag, const std::size_t num_particles, const double min_dist, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const bool shrink_to_fit=true, const uint64_t seed=342343901, typename std::enable_if< is_particle_list< ParticleListType >::value, int >::type *=0) |
| Initialize random particles with minimum separation. | |
| template<class InitFunctor, class ParticleListType, class PositionTag, template< class, std::size_t, class... > class ArrayType, class Scalar, std::size_t NumSpaceDim, class... Args> | |
| int | Cabana::createParticles (InitRandom tag, const InitFunctor &create_functor, ParticleListType &particle_list, PositionTag position_tag, const std::size_t num_particles, const double min_dist, const ArrayType< Scalar, NumSpaceDim > box_min, const ArrayType< Scalar, NumSpaceDim > box_max, const std::size_t previous_num_particles=0, const bool shrink_to_fit=true, const uint64_t seed=342343901) |
| Initialize random particles with minimum separation. | |
| template<class ExecutionSpace, class PositionType, class Scalar> | |
| void | Cabana::createParticles (InitRandom tag, ExecutionSpace exec_space, PositionType &positions, const std::size_t num_particles, const double min_dist, const Scalar box_min[3], const Scalar box_max[3], const std::size_t previous_num_particles=0, const uint64_t seed=342343901) |
| Initialize random particles. | |
| template<class PositionType, class Scalar> | |
| void | Cabana::createParticles (InitRandom tag, PositionType &positions, const std::size_t num_particles, const double min_dist, const Scalar box_min[3], const Scalar box_max[3], const std::size_t previous_num_particles=0, const uint64_t seed=342343901) |
| Initialize random particles. | |
Particle creation utilities.