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, true > Class Template Reference

Detailed Description

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

Definition at line 591 of file CellList_gpu_ker.cuh.

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

Public Types

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 > cell_nn, openfpm::vector_gpu_ker< aggregate< cnt_type, cnt_type >, memory_traits_inte > cell_nn_list, openfpm::vector_sparse_gpu_ker< aggregate< cnt_type >, int, memory_traits_inte > cl_sparse, openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > srt, openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte > dprt, 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)
 
__device__ auto getCell (const Point< dim, T > &xp) const -> decltype(cl_sparse.get_sparse(0))
 
template<unsigned int stub = NO_CHECK>
__device__ NN_gpu_it< dim, cnt_type, ids_type, 1, true > getNNIterator (decltype(cl_sparse.get_sparse(0)) cid)
 
template<unsigned int r_int = 2>
__device__ NN_gpu_it< dim, cnt_type, ids_type, r_int, true > getNNIteratorBox (decltype(cl_sparse.get_sparse(0)) 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 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_intecell_nn
 starting point for each cell
 
openfpm::vector_gpu_ker< aggregate< cnt_type, cnt_type >, memory_traits_intecell_nn_list
 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_sparse_gpu_ker< aggregate< cnt_type >, int, memory_traits_intecl_sparse
 Set of cells sparse.
 
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 >
typedef int CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::yes_has_check_device_pointer

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

Definition at line 614 of file CellList_gpu_ker.cuh.

Constructor & Destructor Documentation

◆ CellList_gpu_ker()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
__host__ __device__ CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::CellList_gpu_ker ( openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte cell_nn,
openfpm::vector_gpu_ker< aggregate< cnt_type, cnt_type >, memory_traits_inte cell_nn_list,
openfpm::vector_sparse_gpu_ker< aggregate< cnt_type >, int, memory_traits_inte cl_sparse,
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte srt,
openfpm::vector_gpu_ker< aggregate< cnt_type >, memory_traits_inte dprt,
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 616 of file CellList_gpu_ker.cuh.

Member Function Documentation

◆ get_g_m()

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

Definition at line 672 of file CellList_gpu_ker.cuh.

◆ getCell()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
__device__ auto CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::getCell ( const Point< dim, T > &  xp) const -> decltype(cl_sparse.get_sparse(0))
inline

Definition at line 635 of file CellList_gpu_ker.cuh.

◆ getDomainSortIds()

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

Definition at line 661 of file CellList_gpu_ker.cuh.

◆ getNNIterator()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
template<unsigned int stub = NO_CHECK>
__device__ NN_gpu_it< dim, cnt_type, ids_type, 1, true > CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::getNNIterator ( decltype(cl_sparse.get_sparse(0))  cid)
inline

Definition at line 644 of file CellList_gpu_ker.cuh.

◆ getNNIteratorBox()

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
template<unsigned int r_int = 2>
__device__ NN_gpu_it< dim, cnt_type, ids_type, r_int, true > CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::getNNIteratorBox ( decltype(cl_sparse.get_sparse(0))  cid)
inline

Definition at line 653 of file CellList_gpu_ker.cuh.

◆ getSortToNonSort()

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

Definition at line 666 of file CellList_gpu_ker.cuh.

Field Documentation

◆ cell_nn

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
openfpm::vector_gpu_ker<aggregate<cnt_type>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::cell_nn
private

starting point for each cell

Definition at line 594 of file CellList_gpu_ker.cuh.

◆ cell_nn_list

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
openfpm::vector_gpu_ker<aggregate<cnt_type,cnt_type>,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::cell_nn_list
private

starting point for each cell

Definition at line 597 of file CellList_gpu_ker.cuh.

◆ cl_sparse

template<unsigned int dim, typename T , typename cnt_type , typename ids_type , typename transform >
openfpm::vector_sparse_gpu_ker<aggregate<cnt_type>,int,memory_traits_inte> CellList_gpu_ker< dim, T, cnt_type, ids_type, transform, true >::cl_sparse
private

Set of cells sparse.

Definition at line 606 of file CellList_gpu_ker.cuh.

◆ dprt

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

Domain particles ids.

Definition at line 603 of file CellList_gpu_ker.cuh.

◆ g_m

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

Ghost particle marker.

Definition at line 609 of file CellList_gpu_ker.cuh.

◆ srt

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

Sorted to non sorted ids conversion.

Definition at line 600 of file CellList_gpu_ker.cuh.


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