OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse > Class Template Reference

Detailed Description

template<unsigned int dim, typename T, typename cnt_type, typename ids_type, typename transform, bool is_sparse>
class CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >

Definition at line 419 of file CellList_gpu_ker.cuh.

+ Inheritance diagram for CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >:

Public Types

typedef int yes_is_gpu_ker_celllist
 
typedef int yes_has_check_device_pointer
 Indicate this structure has a function to check the device pointer.
 

Public Member Functions

__host__ __device__ CellList_gpu_ker (openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > starts, openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > srt, openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > dprt, openfpm::vector_gpu_ker< aggregate< int >, memory_traits_inte > rad_cells, openfpm::array< T, dim, cnt_type > &spacing_c, openfpm::array< ids_type, dim, cnt_type > &div_c, openfpm::array< ids_type, dim, cnt_type > &off, const transform &t, unsigned int g_m, SpaceBox< dim, T > box_unit, grid_sm< dim, void > gr_cell, Point< dim, long int > cell_shift)
 
template<unsigned int stub = NO_CHECK>
__device__ __host__ NN_gpu_it< dim, cnt_type, ids_type, 1, is_sparse > getNNIterator (const grid_key_dx< dim, ids_type > &cid)
 
__device__ __host__ NN_gpu_it_radius< dim, cnt_type, ids_type > getNNIteratorRadius (const grid_key_dx< dim, ids_type > &cid)
 
template<unsigned int r_int = 2>
__device__ NN_gpu_it< dim, cnt_type, ids_type, r_int, is_sparse > getNNIteratorBox (const grid_key_dx< dim, ids_type > &cid)
 
__device__ openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > & getDomainSortIds ()
 
__device__ openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > & getSortToNonSort ()
 
__device__ unsigned int getNCells () const
 Get the number of cells this cell-list contain.
 
__device__ cnt_type getNelements (const cnt_type cell_id) const
 Return the number of elements in the cell.
 
__device__ cnt_type get (size_t cell, size_t ele)
 Get an element in the cell.
 
__device__ unsigned int get_g_m ()
 
- Public Member Functions inherited from CellDecomposer_gpu_ker< dim, T, cnt_type, ids_type, transform >
__device__ __host__ CellDecomposer_gpu_ker (openfpm::array< T, dim, cnt_type > &spacing_c, openfpm::array< ids_type, dim, cnt_type > &div_c, openfpm::array< ids_type, dim, cnt_type > &off, const transform &t)
 
__device__ __host__ CellDecomposer_gpu_ker (openfpm::array< T, dim, cnt_type > &spacing_c, openfpm::array< ids_type, dim, cnt_type > &div_c, openfpm::array< ids_type, dim, cnt_type > &off, const transform &t, SpaceBox< dim, T > box_unit, grid_sm< dim, void > gr_cell, Point< dim, long int > cell_shift)
 
__device__ __host__ grid_sm< dim, void > getGrid ()
 
__device__ __host__ void getGridSize (size_t(&sz)[dim]) const
 
template<typename ids_type2 >
__device__ __host__ mem_id getGridLinId (const grid_key_dx< dim, ids_type2 > &gk) const
 
__device__ __host__ grid_key_dx< dim, ids_type > getCell (const Point< dim, T > &xp) const
 
__device__ __host__ cnt_type LinId (const grid_key_dx< dim, ids_type > &k) const
 
__device__ const openfpm::array< T, dim, cnt_type > & get_spacing_c () const
 
__device__ __host__ const openfpm::array< ids_type, dim, cnt_type > & get_div_c () const
 
__device__ __host__ const openfpm::array< ids_type, dim, cnt_type > & get_off () const
 
__device__ __host__ const transform & get_t () const
 
__device__ __host__ grid_key_dx< dim > getCellGrid (const T(&pos)[dim]) const
 
__device__ __host__ grid_key_dx< dim > getCellGrid (const Point< dim, T > &pos) const
 
__device__ __host__ size_t ConvertToID (const T(&x)[dim], size_t s) const
 
__device__ __host__ size_t ConvertToID (const Point< dim, T > &x, size_t s, size_t sc=0) const
 

Private Attributes

openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_intestarts
 starting point for each cell
 
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_intesrt
 Sorted to non sorted ids conversion.
 
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_intedprt
 Domain particles ids.
 
openfpm::vector_gpu_ker< aggregate< int >, memory_traits_interad_cells
 radius cells
 
unsigned int g_m
 Ghost particle marker.
 

Member Typedef Documentation

◆ yes_has_check_device_pointer

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
typedef int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::yes_has_check_device_pointer

Indicate this structure has a function to check the device pointer.

Definition at line 441 of file CellList_gpu_ker.cuh.

◆ yes_is_gpu_ker_celllist

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
typedef int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::yes_is_gpu_ker_celllist

Definition at line 438 of file CellList_gpu_ker.cuh.

Constructor & Destructor Documentation

◆ CellList_gpu_ker() [1/2]

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__host__ __device__ CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::CellList_gpu_ker ( )
inline

Definition at line 443 of file CellList_gpu_ker.cuh.

◆ CellList_gpu_ker() [2/2]

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__host__ __device__ CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::CellList_gpu_ker ( openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte starts,
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte srt,
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte dprt,
openfpm::vector_gpu_ker< aggregate< int >, memory_traits_inte rad_cells,
openfpm::array< T, dim, cnt_type > &  spacing_c,
openfpm::array< ids_type, dim, cnt_type > &  div_c,
openfpm::array< ids_type, dim, cnt_type > &  off,
const transform &  t,
unsigned int  g_m,
SpaceBox< dim, T >  box_unit,
grid_sm< dim, void >  gr_cell,
Point< dim, long int >  cell_shift 
)
inline

Definition at line 447 of file CellList_gpu_ker.cuh.

Member Function Documentation

◆ get()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ cnt_type CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::get ( size_t  cell,
size_t  ele 
)
inline

Get an element in the cell.

Template Parameters
iproperty to get
Parameters
cellcell id
eleelement id
Returns
The element value

Definition at line 528 of file CellList_gpu_ker.cuh.

◆ get_g_m()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ unsigned int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::get_g_m ( )
inline

Definition at line 535 of file CellList_gpu_ker.cuh.

◆ getDomainSortIds()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > & CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getDomainSortIds ( )
inline

Definition at line 487 of file CellList_gpu_ker.cuh.

◆ getNCells()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ unsigned int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getNCells ( ) const
inline

Get the number of cells this cell-list contain.

Returns
number of cells

Definition at line 501 of file CellList_gpu_ker.cuh.

◆ getNelements()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ cnt_type CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getNelements ( const cnt_type  cell_id) const
inline

Return the number of elements in the cell.

Parameters
cell_idid of the cell
Returns
number of elements in the cell

Definition at line 513 of file CellList_gpu_ker.cuh.

◆ getNNIterator()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
template<unsigned int stub = NO_CHECK>
__device__ __host__ NN_gpu_it< dim, cnt_type, ids_type, 1, is_sparse > CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getNNIterator ( const grid_key_dx< dim, ids_type > &  cid)
inline

Definition at line 466 of file CellList_gpu_ker.cuh.

◆ getNNIteratorBox()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
template<unsigned int r_int = 2>
__device__ NN_gpu_it< dim, cnt_type, ids_type, r_int, is_sparse > CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getNNIteratorBox ( const grid_key_dx< dim, ids_type > &  cid)
inline

Definition at line 480 of file CellList_gpu_ker.cuh.

◆ getNNIteratorRadius()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ __host__ NN_gpu_it_radius< dim, cnt_type, ids_type > CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getNNIteratorRadius ( const grid_key_dx< dim, ids_type > &  cid)
inline

Definition at line 473 of file CellList_gpu_ker.cuh.

◆ getSortToNonSort()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
__device__ openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > & CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::getSortToNonSort ( )
inline

Definition at line 492 of file CellList_gpu_ker.cuh.

Field Documentation

◆ dprt

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
openfpm::vector_gpu_ker<aggregate<cnt_type>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::dprt
private

Domain particles ids.

Definition at line 428 of file CellList_gpu_ker.cuh.

◆ g_m

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
unsigned int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::g_m
private

Ghost particle marker.

Definition at line 434 of file CellList_gpu_ker.cuh.

◆ rad_cells

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
openfpm::vector_gpu_ker<aggregate<int>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::rad_cells
private

radius cells

Definition at line 431 of file CellList_gpu_ker.cuh.

◆ srt

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
openfpm::vector_gpu_ker<aggregate<cnt_type>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::srt
private

Sorted to non sorted ids conversion.

Definition at line 425 of file CellList_gpu_ker.cuh.

◆ starts

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform , bool is_sparse>
openfpm::vector_gpu_ker<aggregate<cnt_type>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, is_sparse >::starts
private

starting point for each cell

Definition at line 422 of file CellList_gpu_ker.cuh.


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