OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData Class Reference

#include <ParticleSpatialOverlapLayout.h>

Collaboration diagram for ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData:
Collaboration graph

Private Member Functions

 ParticleNeighborData (size_type numLocalParticles, Vector< size_type, Dim > cellStrides, Vector< size_type, Dim > numCells, Vector< T, Dim > cellWidth, region_type region, hash_type cellStartingIdx, hash_type cellIndex, hash_type cellParticleCount, hash_type cellPermutationForward, hash_type cellPermutationBackward)
 

Private Attributes

size_type numLocalParticles
 
Vector< size_type, DimcellStrides
 
Vector< size_type, DimnumCells
 
Vector< T, DimcellWidth
 
region_type region
 
hash_type cellStartingIdx
 
hash_type cellIndex
 
hash_type cellParticleCount
 
hash_type cellPermutationForward
 
hash_type cellPermutationBackward
 

Friends

class ParticleSpatialOverlapLayout
 

Detailed Description

template<typename T, unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
class ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData

Proxy class to store all necessary information needed to call getParticleNeighbors in Kokkos parallel regions

Definition at line 75 of file ParticleSpatialOverlapLayout.h.

Constructor & Destructor Documentation

◆ ParticleNeighborData()

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::ParticleNeighborData ( size_type  numLocalParticles,
Vector< size_type, Dim cellStrides,
Vector< size_type, Dim numCells,
Vector< T, Dim cellWidth,
region_type  region,
hash_type  cellStartingIdx,
hash_type  cellIndex,
hash_type  cellParticleCount,
hash_type  cellPermutationForward,
hash_type  cellPermutationBackward 
)
inlineprivate

Definition at line 79 of file ParticleSpatialOverlapLayout.h.

Friends And Related Function Documentation

◆ ParticleSpatialOverlapLayout

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
friend class ParticleSpatialOverlapLayout
friend

Definition at line 77 of file ParticleSpatialOverlapLayout.h.

Member Data Documentation

◆ cellIndex

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
hash_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellIndex
private

◆ cellParticleCount

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
hash_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellParticleCount
private

◆ cellPermutationBackward

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
hash_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellPermutationBackward
private

◆ cellPermutationForward

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
hash_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellPermutationForward
private

◆ cellStartingIdx

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
hash_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellStartingIdx
private

◆ cellStrides

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
Vector<size_type, Dim> ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellStrides
private

◆ cellWidth

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
Vector<T, Dim> ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::cellWidth
private

◆ numCells

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
Vector<size_type, Dim> ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::numCells
private

◆ numLocalParticles

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
size_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::numLocalParticles
private

Definition at line 95 of file ParticleSpatialOverlapLayout.h.

◆ region

template<typename T , unsigned Dim, class Mesh = UniformCartesian<T, Dim>, typename... PositionProperties>
region_type ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData::region
private

The documentation for this class was generated from the following file: