IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::ParticleNeighborData Class Reference

#include <ParticleSpatialOverlapLayout.h>

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

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

◆ 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.

References ParticleSpatialOverlapLayout.

Referenced by ParticleSpatialOverlapLayout.

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.

Referenced by ParticleNeighborData().

◆ 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: