OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
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.
 
openfpm::vector< aggregate< ids_type >, Memory, layout_base > & getIcells ()
 Return the list of the internal cells.
 
openfpm::vector< aggregate< ids_type >, Memory, layout_base > & getDcells ()
 Return the list of the internal cells.
 
Box< dim, T > getBoxCell (unsigned int ci)
 Given a cell index return the cell box.
 
const grid_sm< dim, void > & getGrid ()
 Get the grid base information about this cell decomposition.
 

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 Typedef Documentation

◆ cnt_type

template<unsigned int dim, typename T , template< typename > class layout_base, typename Memory >
typedef unsigned int domain_icell_calculator< dim, T, layout_base, Memory >::cnt_type
private

Definition at line 210 of file Domain_icells_cart.hpp.

◆ ids_type

template<unsigned int dim, typename T , template< typename > class layout_base, typename Memory >
typedef int domain_icell_calculator< dim, T, layout_base, Memory >::ids_type
private

Definition at line 212 of file Domain_icells_cart.hpp.

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.

Field Documentation

◆ cd

template<unsigned int dim, typename T , template< typename > class layout_base, typename Memory >
CellDecomposer_sm<dim,T,shift<dim,T> > domain_icell_calculator< dim, T, layout_base, Memory >::cd
private

Definition at line 217 of file Domain_icells_cart.hpp.

◆ dcells

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 >::dcells
private

Definition at line 215 of file Domain_icells_cart.hpp.

◆ icells

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 >::icells
private

Definition at line 214 of file Domain_icells_cart.hpp.


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