Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_LinkedCellList.hpp File Reference

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>
Include dependency graph for Cabana_LinkedCellList.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Cabana::LinkedCellStencil< Scalar >
 Stencil of cells surrounding each cell. More...
 
class  Cabana::LinkedCellList< MemorySpace, Scalar >
 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 > >
 LinkedCellList NeighborList interface. More...
 

Namespaces

namespace  Cabana
 Core: particle data structures and algorithms.
 

Functions

template<class MemorySpace, class PositionType, class Scalar>
auto Cabana::createLinkedCellList (PositionType positions, const Scalar grid_delta[3], const Scalar grid_min[3], const Scalar grid_max[3])
 Creation function for linked cell list.
 
template<class MemorySpace, class PositionType, class Scalar>
auto Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const Scalar grid_delta[3], const Scalar grid_min[3], const Scalar grid_max[3])
 Creation function for linked cell list with partial range.
 
template<class MemorySpace, class PositionType, class Scalar>
auto Cabana::createLinkedCellList (PositionType positions, const Scalar grid_delta[3], const Scalar grid_min[3], const Scalar grid_max[3], const Scalar neighborhood_radius, const Scalar cell_size_ratio=1.0)
 Creation function for linked cell list with custom cutoff radius and cell ratio.
 
template<class MemorySpace, class PositionType, class Scalar>
auto Cabana::createLinkedCellList (PositionType positions, const std::size_t begin, const std::size_t end, const Scalar grid_delta[3], const Scalar grid_min[3], const Scalar grid_max[3], const Scalar neighborhood_radius, const Scalar 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.
 

Detailed Description

Linked cell list binning (spatial sorting) and neighbor iteration.