Neighbor list implementation based on binning particles on a Cartesian grid with cells of the same size as the interaction distance.
More...
|
|
| VerletList ()=default |
| | Default constructor.
|
| |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| | VerletList (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| void | build (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
| template<class PositionType, class RadiusType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| | VerletList (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| | VerletList (PositionType x, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType> |
| | VerletList (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType> |
| | VerletList (PositionType x, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.s.
|
| |
|
template<class PositionType, class RadiusType> |
| | VerletList (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
| template<class PositionType, class RadiusType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| void | build (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args> |
| void | build (PositionType x, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | VerletList constructor. Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType> |
| void | build (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType, class ExecutionSpace> |
| void | build (ExecutionSpace exec_space, PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType, class RadiusType> |
| void | build (PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType> |
| void | build (PositionType x, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType, class RadiusType, class ExecutionSpace> |
| void | build (ExecutionSpace exec_space, PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const typename PositionType::value_type grid_min[num_space_dim], const typename PositionType::value_type grid_max[num_space_dim], const std::size_t max_neigh=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType, class ExecutionSpace, template< class, std::size_t, class... > class ArrayType, class... Args> |
| void | build (ExecutionSpace, PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
template<class PositionType, class RadiusType, class ExecutionSpace, template< class, std::size_t, class... > class ArrayType, class... Args> |
| void | build (ExecutionSpace, PositionType x, const std::size_t begin, const std::size_t end, const typename PositionType::value_type background_radius, RadiusType neighborhood_radius, const typename PositionType::value_type cell_size_ratio, const ArrayType< typename PositionType::value_type, num_space_dim > grid_min, const ArrayType< typename PositionType::value_type, num_space_dim > grid_max, const std::size_t max_neigh=0) |
| | Given a list of particle positions and a neighborhood radius calculate the neighbor list.
|
| |
|
KOKKOS_INLINE_FUNCTION void | setNeighbor (const std::size_t particle_index, const std::size_t neighbor_index, const int new_index) const |
| | Modify a neighbor in the list; for example, mark it as a broken bond.
|
| |
template<class MemorySpace, class AlgorithmTag, class LayoutTag, class BuildTag = TeamVectorOpTag, std::size_t NumSpaceDim = 3>
class Cabana::VerletList< MemorySpace, AlgorithmTag, LayoutTag, BuildTag, NumSpaceDim >
Neighbor list implementation based on binning particles on a Cartesian grid with cells of the same size as the interaction distance.
- Template Parameters
-
| MemorySpace | The Kokkos memory space for storing the neighbor list. |
| AlgorithmTag | Tag indicating whether to build a full or half neighbor list. |
| LayoutTag | Tag indicating whether to use a CSR or 2D data layout. |
| BuildTag | Tag indicating whether to use hierarchical team or team vector parallelism when building neighbor lists. |
Neighbor list implementation most appropriate for somewhat regularly distributed particles due to the use of a Cartesian grid.