Linked cell list binning (spatial sorting) and neighbor iteration. More...
#include <Cabana_NeighborList.hpp>#include <Cabana_Slice.hpp>#include <Cabana_Sort.hpp>#include <Cabana_Utils.hpp>#include <impl/Cabana_CartesianGrid.hpp>#include <Kokkos_Core.hpp>#include <Kokkos_Profiling_ScopedRegion.hpp>#include <Kokkos_ScatterView.hpp>#include <cassert>

Go to the source code of this file.
Classes | |
| struct | Cabana::LinkedCellStencil< Scalar, NumSpaceDim > |
| Stencil of cells surrounding each cell. More... | |
| class | Cabana::LinkedCellList< MemorySpace, Scalar, NumSpaceDim > |
| Data describing the bin sizes and offsets resulting from a binning operation on a 3d regular Cartesian grid. More... | |
| struct | Cabana::is_linked_cell_list< T > |
| LinkedCellList static type checker. More... | |
| class | Cabana::NeighborList< LinkedCellList< MemorySpace, Scalar, NumSpaceDim > > |
| LinkedCellList NeighborList interface. More... | |
Namespaces | |
| namespace | Cabana |
| Core: particle data structures and algorithms. | |
Functions | |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args, class Scalar, std::size_t NumSpaceDim> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const ArrayType< Scalar, NumSpaceDim > grid_delta, const ArrayType< Scalar, NumSpaceDim > grid_min, const ArrayType< Scalar, NumSpaceDim > grid_max) |
| Creation function for linked cell list. | |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args, class Scalar, std::size_t NumSpaceDim> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const ArrayType< Scalar, NumSpaceDim > grid_delta, const ArrayType< Scalar, NumSpaceDim > grid_min, const ArrayType< Scalar, NumSpaceDim > grid_max) |
| Creation function for linked cell list with partial range. | |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args, class Scalar, std::size_t NumSpaceDim> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const ArrayType< Scalar, NumSpaceDim > grid_delta, const ArrayType< Scalar, NumSpaceDim > grid_min, const ArrayType< Scalar, NumSpaceDim > grid_max, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio=1.0) |
| Creation function for linked cell list with custom cutoff radius and cell ratio. | |
| template<class PositionType, template< class, std::size_t, class... > class ArrayType, class... Args, class Scalar, std::size_t NumSpaceDim> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const ArrayType< Scalar, NumSpaceDim > grid_delta, const ArrayType< Scalar, NumSpaceDim > grid_min, const ArrayType< Scalar, NumSpaceDim > grid_max, const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio=1.0) |
| Creation function for linked cell list with partial range and custom cutoff radius and/or cell ratio. | |
| template<class PositionType> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const typename PositionType::value_type grid_delta[3], const typename PositionType::value_type grid_min[3], const typename PositionType::value_type grid_max[3]) |
| Creation function for linked cell list. | |
| template<class PositionType> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const typename PositionType::value_type grid_delta[3], const typename PositionType::value_type grid_min[3], const typename PositionType::value_type grid_max[3]) |
| Creation function for linked cell list with partial range. | |
| template<class PositionType> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const typename PositionType::value_type grid_delta[3], const typename PositionType::value_type grid_min[3], const typename PositionType::value_type grid_max[3], const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio=1.0) |
| Creation function for linked cell list with custom cutoff radius and cell ratio. | |
| template<class PositionType> | |
| auto | Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const typename PositionType::value_type grid_delta[3], const typename PositionType::value_type grid_min[3], const typename PositionType::value_type grid_max[3], const typename PositionType::value_type neighborhood_radius, const typename PositionType::value_type cell_size_ratio=1.0) |
| Creation function for linked cell list with partial range and custom cutoff radius and/or cell ratio. | |
| template<class LinkedCellListType, class PositionType> | |
| void | Cabana::permute (LinkedCellListType &linked_cell_list, PositionType &positions, typename std::enable_if<(is_linked_cell_list< LinkedCellListType >::value &&(is_aosoa< PositionType >::value||is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value)), int >::type *=0) |
| Given a linked cell list permute positions. | |
Linked cell list binning (spatial sorting) and neighbor iteration.