Particle creation utilities. More...
#include <Kokkos_Core.hpp>
#include <Kokkos_Random.hpp>
#include <Cabana_ParticleList.hpp>
#include <Cabana_Slice.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 ArrayType> | |
auto | Cabana::Impl::copyArray (ArrayType corner) |
Copy array (std, c-array) into Kokkos::Array for potential device use. | |
template<class ExecutionSpace, class InitFunctor, class ParticleListType, class ArrayType> | |
int | Cabana::createParticles (InitRandom, ExecutionSpace exec_space, const InitFunctor &create_functor, ParticleListType &particle_list, const std::size_t num_particles, const ArrayType box_min, const ArrayType 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, class ArrayType> | |
int | Cabana::createParticles (InitRandom tag, const InitFunctor &create_functor, ParticleListType &particle_list, const std::size_t num_particles, const ArrayType box_min, const ArrayType 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, class ArrayType> | |
void | Cabana::createParticles (InitRandom, ExecutionSpace exec_space, PositionType &positions, const std::size_t num_particles, const ArrayType box_min, const ArrayType 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, class ArrayType> | |
void | Cabana::createParticles (InitRandom tag, PositionType &positions, const std::size_t num_particles, const ArrayType box_min, const ArrayType 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 InitFunctor, class ParticleListType, class PositionTag, class ArrayType> | |
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 box_min, const ArrayType 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, class ArrayType> | |
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 box_min, const ArrayType 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. | |
Particle creation utilities.