OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
domain_icell_calculator< dim, T, layout_base, Memory > Class Template Reference

Detailed Description

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

Definition at line 208 of file Domain_icells_cart.hpp.

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

Public Member Functions

template<typename VCluster_type >
void CalculateInternalCells (VCluster_type &v_cl, openfpm::vector< Box< dim, T >, Memory, layout_base > &ig_box, openfpm::vector< SpaceBox< dim, T >, Memory, layout_base > &domain, Box< dim, T > &pbox, T r_cut, const Ghost< dim, T > &enlarge)
 Calculate the subdomain that are in the skin part of the domain. More...
 
openfpm::vector< aggregate< ids_type >, Memory, layout_base > & getIcells ()
 Return the list of the internal cells. More...
 
openfpm::vector< aggregate< ids_type >, Memory, layout_base > & getDcells ()
 Return the list of the internal cells. More...
 
Box< dim, T > getBoxCell (unsigned int ci)
 Given a cell index return the cell box. More...
 
const grid_sm< dim, void > & getGrid ()
 Get the grid base information about this cell decomposition. More...
 

Private Types

typedef unsigned int cnt_type
 
typedef int ids_type
 

Private Attributes

openfpm::vector< aggregate< ids_type >, Memory, layout_base > icells
 
openfpm::vector< aggregate< ids_type >, Memory, layout_base > dcells
 
CellDecomposer_sm< dim, T, shift< dim, T > > cd
 

Member Function Documentation

◆ CalculateInternalCells()

template<unsigned int dim, typename T, template< typename > class layout_base, typename Memory>
template<typename VCluster_type >
void domain_icell_calculator< dim, T, layout_base, Memory >::CalculateInternalCells ( VCluster_type &  v_cl,
openfpm::vector< Box< dim, T >, Memory, layout_base > &  ig_box,
openfpm::vector< SpaceBox< dim, T >, Memory, layout_base > &  domain,
Box< dim, T > &  pbox,
r_cut,
const Ghost< dim, T > &  enlarge 
)
inline

Calculate the subdomain that are in the skin part of the domain.

 +---+---+---+---+---+---+
 | 1 | 2 | 3 | 4 | 5 | 6 |
 +---+---+---+---+---+---+
 |28 |               | 7 |
 +---+               +---+
 |27 |               | 8 |
 +---+               +---+
 |26 |               | 9 |
 +---+   DOM1        +---+
 |25 |               |10 |
 +---+               +---+
 |24 |               |11 |
 +---+           +---+---+
 |23 |           |13 |12 |
 +---+-----------+---+---+
 |22 |           |14 |
 +---+           +---+
 |21 |   DOM2    |15 |
 +---+---+---+---+---+
 |20 |19 |18 | 17|16 |
 +---+---+---+---+---+    <----- Domain end here
                               |
                 ^             |
                 |_____________|

It does it on GPU or CPU

Definition at line 257 of file Domain_icells_cart.hpp.

◆ getBoxCell()

template<unsigned int dim, typename T, template< typename > class layout_base, typename Memory>
Box<dim,T> domain_icell_calculator< dim, T, layout_base, Memory >::getBoxCell ( unsigned int  ci)
inline

Given a cell index return the cell box.

Parameters
cicell index
Returns
The box reppresenting the cell

Definition at line 295 of file Domain_icells_cart.hpp.

◆ getDcells()

template<unsigned int dim, typename T, template< typename > class layout_base, typename Memory>
openfpm::vector<aggregate<ids_type>,Memory,layout_base>& domain_icell_calculator< dim, T, layout_base, Memory >::getDcells ( )
inline

Return the list of the internal cells.

Returns
the list of the internal cells

Definition at line 284 of file Domain_icells_cart.hpp.

◆ getGrid()

template<unsigned int dim, typename T, template< typename > class layout_base, typename Memory>
const grid_sm<dim,void>& domain_icell_calculator< dim, T, layout_base, Memory >::getGrid ( )
inline

Get the grid base information about this cell decomposition.

Returns
the grid

Definition at line 317 of file Domain_icells_cart.hpp.

◆ getIcells()

template<unsigned int dim, typename T, template< typename > class layout_base, typename Memory>
openfpm::vector<aggregate<ids_type>,Memory,layout_base>& domain_icell_calculator< dim, T, layout_base, Memory >::getIcells ( )
inline

Return the list of the internal cells.

Returns
the list of the internal cells

Definition at line 274 of file Domain_icells_cart.hpp.


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