24#include <Kokkos_Core.hpp>
31 Kokkos::View<int *[2], Kokkos::LayoutRight, execution_space>;
33 Kokkos::View<int *, Kokkos::LayoutRight, execution_space>;
35 Kokkos::View<int *[3], Kokkos::LayoutRight, execution_space>;
37 Kokkos::View<int *, Kokkos::LayoutRight, execution_space>;
39 Kokkos::View<int *[4], Kokkos::LayoutRight, execution_space>;
41 Kokkos::View<int *, Kokkos::LayoutRight, execution_space>;
56#ifdef ESPRESSO_COLLISION_DETECTION
83#ifdef ESPRESSO_COLLISION_DETECTION
86 Kokkos::View<int *, execution_space>
const &
id_to_index);
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
Kokkos::View< int *, Kokkos::LayoutRight, execution_space > AngleBondIDType
std::vector< int > new_angle_ids
Kokkos::View< int *[3], Kokkos::LayoutRight, execution_space > AngleBondlistType
void allocate()
Allocate or reallocate all Kokkos Views to current counts.
AngleBondIDType angle_ids
Kokkos::View< int *[2], Kokkos::LayoutRight, execution_space > PairBondlistType
std::vector< int > new_dihedral_list
DihedralBondlistType dihedral_list
AngleBondlistType angle_list
void add_new_bond(int bond_id, std::vector< int > const &particle_ids, Kokkos::View< int *, execution_space > const &id_to_index)
std::vector< int > new_pair_list
void reset()
Reset counts + collision vectors.
std::vector< int > new_angle_list
void clear()
Deallocates Views.
std::vector< int > new_dihedral_ids
Kokkos::DefaultHostExecutionSpace execution_space
Kokkos::View< int *, Kokkos::LayoutRight, execution_space > DihedralBondIDType
void set_counts(int p, int a, int d)
std::vector< int > new_pair_ids
Kokkos::View< int *[4], Kokkos::LayoutRight, execution_space > DihedralBondlistType
Kokkos::View< int *, Kokkos::LayoutRight, execution_space > PairBondIDType
DihedralBondIDType dihedral_ids
PairBondlistType pair_list