Data describing the bin sizes and offsets resulting from a binning operation on a 3d regular Cartesian grid.
More...
|
| LinkedCellList () |
| Default constructor.
|
|
template<class PositionType> |
| LinkedCellList (PositionType positions, const Scalar grid_delta[3], const Scalar grid_min[3], const Scalar grid_max[3], typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Simple constructor.
|
|
template<class PositionType> |
| LinkedCellList (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], typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Partial range constructor.
|
|
template<class PositionType> |
| LinkedCellList (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, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Explicit stencil constructor.
|
|
template<class PositionType> |
| LinkedCellList (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, typename std::enable_if<(is_slice< PositionType >::value||Kokkos::is_view< PositionType >::value), int >::type *=0) |
| Explicit stencil and partial range constructor.
|
|
KOKKOS_INLINE_FUNCTION int | numParticles () const |
| Number of binned particles.
|
|
KOKKOS_INLINE_FUNCTION std::size_t | getParticleBegin () const |
| Beginning of binned range.
|
|
KOKKOS_INLINE_FUNCTION std::size_t | getParticleEnd () const |
| End of binned range.
|
|
KOKKOS_INLINE_FUNCTION int | totalBins () const |
| Get the total number of bins.
|
|
KOKKOS_INLINE_FUNCTION int | numBin (const int dim) const |
| Get the number of bins in a given dimension.
|
|
KOKKOS_INLINE_FUNCTION size_type | cardinalBinIndex (const int i, const int j, const int k) const |
| Given the ijk index of a bin get its cardinal index.
|
|
KOKKOS_INLINE_FUNCTION void | ijkBinIndex (const int cardinal, int &i, int &j, int &k) const |
| Given the cardinal index of a bin get its ijk indices.
|
|
KOKKOS_INLINE_FUNCTION int | binSize (const int i, const int j, const int k) const |
| Given a bin get the number of particles it contains.
|
|
KOKKOS_INLINE_FUNCTION size_type | binOffset (const int i, const int j, const int k) const |
| Given a bin get the particle index at which it sorts.
|
|
KOKKOS_INLINE_FUNCTION size_type | permutation (const int particle_id) const |
| Given a local particle id in the binned layout, get the id of the particle in the old (unbinned) layout.
|
|
KOKKOS_INLINE_FUNCTION std::size_t | rangeBegin () const |
| The beginning particle index binned by the linked cell list.
|
|
KOKKOS_INLINE_FUNCTION std::size_t | rangeEnd () const |
| The ending particle index binned by the linked cell list.
|
|
KOKKOS_INLINE_FUNCTION stencil_type | cellStencil () const |
| Get the linked cell stencil.
|
|
BinningData< MemorySpace > | binningData () const |
| Get the 1d bin data.
|
|
template<class ExecutionSpace, class PositionType> |
void | build (ExecutionSpace, PositionType positions, const std::size_t begin, const std::size_t end) |
| Build the linked cell list with a subset of particles.
|
|
template<class PositionType> |
void | build (PositionType positions, const std::size_t begin, const std::size_t end) |
| Build the linked cell list with a subset of particles.
|
|
template<class PositionType> |
void | build (PositionType positions) |
| Build the linked cell list with all particles.
|
|
void | storeParticleBins () |
| Store the bin cell index for each binned particle.
|
|
auto | getParticleBins () const |
| Get the bin cell index for each binned particle.
|
|
KOKKOS_INLINE_FUNCTION auto | getParticleBin (const int particle_index) const |
| Get the bin cell index of the input particle.
|
|
KOKKOS_FUNCTION void | operator() (const int i) const |
| Determines which particles belong to bin i.
|
|
void | update (const bool sorted) |
| Updates the status of the list sorting.
|
|
KOKKOS_INLINE_FUNCTION auto | sorted () const |
| Returns whether the list has been sorted or not.
|
|
KOKKOS_INLINE_FUNCTION void | getStencilCells (const int cell, int &imin, int &imax, int &jmin, int &jmax, int &kmin, int &kmax) const |
| Get the cell indices for the stencil about cell.
|
|
KOKKOS_INLINE_FUNCTION auto | getParticle (const int offset) const |
| Get a candidate neighbor particle at a given binned offset.
|
|
template<class MemorySpace, class Scalar = double>
class Cabana::LinkedCellList< MemorySpace, Scalar >
Data describing the bin sizes and offsets resulting from a binning operation on a 3d regular Cartesian grid.
- Note
- Defaults to double precision for backwards compatibility.