OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
CartDecomposition_gpu< dim, T, Memory, layout_base > Class Template Reference

Detailed Description

template<unsigned int dim, typename T, typename Memory, template< typename > class layout_base>
class CartDecomposition_gpu< dim, T, Memory, layout_base >

Definition at line 77 of file CartDecomposition_gpu.cuh.

+ Inheritance diagram for CartDecomposition_gpu< dim, T, Memory, layout_base >:

Public Member Functions

 CartDecomposition_gpu (CellList_cpu_ker< dim, T, Mem_fast_ker< Memory, memory_traits_lin, int >, shift< dim, T > > clk, ie_ghost_gpu< dim, T, Memory, layout_base > ieg, openfpm::vector_gpu_ker< Box_map< dim, T >, layout_base > sub_domains_global, const Box< dim, T > &domain, const int(&bc)[dim])
 
 CartDecomposition_gpu (const CartDecomposition_gpu< dim, T, Memory, layout_base > &dec)
 
__device__ __host__ int processorIDBC (const Point< dim, T > &p)
 Given a point return in which processor the point/particle should go.
 
template<typename Mem >
__device__ __host__ void applyPointBC (encapc< 1, Point< dim, T >, Mem > &&pt) const
 Apply boundary condition to the point.
 
__device__ __host__ int processorID (const Point< dim, T > &pt)
 Given a point return in which processor the particle should go.
 
- Public Member Functions inherited from ie_ghost_gpu< dim, T, Memory, layout_base >
 ie_ghost_gpu (CellList_cpu_ker< dim, T, Mem_fast_ker< Memory, memory_traits_lin, int >, shift< dim, T > > geo_cell, openfpm::vector_gpu_ker< Box< dim, T >, layout_base > vb_int_box, openfpm::vector_gpu_ker< aggregate< unsigned int, unsigned int, unsigned int >, layout_base > vb_int)
 
 ie_ghost_gpu (const ie_ghost_gpu< dim, T, Memory, layout_base > &ieg)
 
__device__ unsigned int ghost_processorID_cell (const Point< dim, T > &p)
 Get the cell from the particle position.
 
__device__ unsigned int ghost_processorID_N (const Point< dim, T > &p)
 Get the number of processor a particle must sent.
 
template<typename output_type >
__device__ void ghost_processor_ID (const Point< dim, T > &p, output_type &output, unsigned int base, unsigned int pi)
 Get the number of processor a particle must sent.
 

Private Member Functions

__device__ __host__ void applyPointBC (Point< dim, T > &pt) const
 Apply boundary condition to the point.
 

Private Attributes

CellList_cpu_ker< dim, T, Mem_fast_ker< Memory, memory_traits_lin, int >, shift< dim, T > > clk
 
Box< dim, T > domain
 
int bc [dim]
 
openfpm::vector_gpu_ker< Box_map< dim, T >, layout_base > sub_domains_global
 

Constructor & Destructor Documentation

◆ CartDecomposition_gpu() [1/2]

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
CartDecomposition_gpu< dim, T, Memory, layout_base >::CartDecomposition_gpu ( CellList_cpu_ker< dim, T, Mem_fast_ker< Memory, memory_traits_lin, int >, shift< dim, T > >  clk,
ie_ghost_gpu< dim, T, Memory, layout_base >  ieg,
openfpm::vector_gpu_ker< Box_map< dim, T >, layout_base >  sub_domains_global,
const Box< dim, T > &  domain,
const int(&)  bc[dim] 
)
inline

Definition at line 107 of file CartDecomposition_gpu.cuh.

◆ CartDecomposition_gpu() [2/2]

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
CartDecomposition_gpu< dim, T, Memory, layout_base >::CartDecomposition_gpu ( const CartDecomposition_gpu< dim, T, Memory, layout_base > &  dec)
inline

Definition at line 118 of file CartDecomposition_gpu.cuh.

Member Function Documentation

◆ applyPointBC() [1/2]

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
template<typename Mem >
__device__ __host__ void CartDecomposition_gpu< dim, T, Memory, layout_base >::applyPointBC ( encapc< 1, Point< dim, T >, Mem > &&  pt) const
inline

Apply boundary condition to the point.

If the particle go out to the right, bring back the particle on the left in case of periodic, nothing in case of non periodic

Parameters
ptencapsulated point object (it's coordinated are changed according the the explanation before)

Definition at line 151 of file CartDecomposition_gpu.cuh.

◆ applyPointBC() [2/2]

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
__device__ __host__ void CartDecomposition_gpu< dim, T, Memory, layout_base >::applyPointBC ( Point< dim, T > &  pt) const
inlineprivate

Apply boundary condition to the point.

If the particle go out to the right, bring back the particle on the left in case of periodic, nothing in case of non periodic

Parameters
ptPoint to apply the boundary conditions.(it's coordinated are changed according the the explanation before)

Definition at line 96 of file CartDecomposition_gpu.cuh.

◆ processorID()

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
__device__ __host__ int CartDecomposition_gpu< dim, T, Memory, layout_base >::processorID ( const Point< dim, T > &  pt)
inline

Given a point return in which processor the particle should go.

Parameters
ppoint
Returns
processorID

Definition at line 168 of file CartDecomposition_gpu.cuh.

◆ processorIDBC()

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
__device__ __host__ int CartDecomposition_gpu< dim, T, Memory, layout_base >::processorIDBC ( const Point< dim, T > &  p)
inline

Given a point return in which processor the point/particle should go.

Boundary conditions are considered

Parameters
ppoint
Returns
processorID

Definition at line 134 of file CartDecomposition_gpu.cuh.

Field Documentation

◆ bc

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
int CartDecomposition_gpu< dim, T, Memory, layout_base >::bc[dim]
private

Definition at line 83 of file CartDecomposition_gpu.cuh.

◆ clk

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
CellList_cpu_ker<dim,T,Mem_fast_ker<Memory,memory_traits_lin,int>,shift<dim,T> > CartDecomposition_gpu< dim, T, Memory, layout_base >::clk
private

Definition at line 79 of file CartDecomposition_gpu.cuh.

◆ domain

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
Box<dim,T> CartDecomposition_gpu< dim, T, Memory, layout_base >::domain
private

Definition at line 81 of file CartDecomposition_gpu.cuh.

◆ sub_domains_global

template<unsigned int dim, typename T , typename Memory , template< typename > class layout_base>
openfpm::vector_gpu_ker<Box_map<dim, T>,layout_base> CartDecomposition_gpu< dim, T, Memory, layout_base >::sub_domains_global
private

Definition at line 85 of file CartDecomposition_gpu.cuh.


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