template<
unsigned int dim,
typename T,
unsigned int sh_byte,
typename CellBase = CellList<dim,T,Mem_fast<>,shift<dim, T>>>
class CellListM< dim, T, sh_byte, CellBase >
Class for Multi-Phase cell-list.
This class implement a Multi-Phase cell list. In practice this Cell list can contain the particles from multiple vector distributed. By default this cell list is based on Cell list fast with shifting
* +-----------------------+
* |p |p |p |p |p |p |p |p |
* +-----------------------+
* |p | | | | | | |p |
* +-----------------------+
* |p | | | | | | |p |
* +-----------------------+
* |p | | | | | | |p |
* +-----------------------+
* |p |9 | | | | | |p |
* +-----------------------+
* |p |p |p |p |p |p |p |p |
* +-----------------------+
*
- Template Parameters
-
| dim | dimensionality |
| T | type of the space |
| sh_byte | bit to dedicate to the phases informations |
| CellBase | Base cell list used for the implementation |
Declaration of a Multi-Phase cell list and usage
Definition at line 51 of file CellListM.hpp.
|
| | CellListM () |
| | Default Constructor.
|
| |
| | CellListM (const CellListM< dim, T, sh_byte, CellBase > &cell) |
| | Copy constructor.
|
| |
| | CellListM (CellListM< dim, T, sh_byte, CellBase > &&cell) |
| | Copy constructor.
|
| |
| | CellListM (Box< dim, T > &box, const size_t(&div)[dim], Matrix< dim, T > mat, const size_t pad=1, size_t slot=STARTING_NSLOT) |
| | Cell list constructor.
|
| |
| | CellListM (Box< dim, T > &box, const size_t(&div)[dim], const size_t pad=1, size_t slot=STARTING_NSLOT) |
| | Cell list constructor.
|
| |
| | ~CellListM () |
| | Destructor.
|
| |
| void | addCell (size_t cell_id, size_t ele, size_t v_id) |
| | Add to the cell.
|
| |
| void | add (const T(&pos)[dim], size_t ele, size_t v_id) |
| | Add an element in the cell list.
|
| |
| void | add (const Point< dim, T > &pos, size_t ele, size_t v_id) |
| | Add an element in the cell list.
|
| |
| size_t | getP (size_t cell, size_t ele) |
| | Get the element-id in the cell.
|
| |
| size_t | getV (size_t cell, size_t ele) |
| | Get the element vector in the cell.
|
| |
| void | swap (CellListM< dim, T, sh_byte, CellBase > &cl) |
| | Swap the memory.
|
| |
| CellIterator< CellListM< dim, T, sh_byte, CellBase > > | getIterator (size_t cell) |
| | Get the Cell iterator.
|
| |
| template<unsigned int impl = NO_CHECK> |
| CellNNIteratorM< dim, CellListM< dim, T, sh_byte, CellBase >, sh_byte, FULL, impl > | getNNIterator (size_t cell) |
| | Get the Neighborhood iterator.
|
| |
| template<unsigned int impl> |
| CellNNIteratorSymM< dim, CellListM< dim, T, sh_byte, CellBase >, sh_byte, SYM, impl > | getNNIteratorSym (size_t cell, size_t pp, size_t p, const typename CellBase::internal_vector_pos_type &pos, const openfpm::vector< pos_v< typename CellBase::internal_vector_pos_type > > &v) |
| | Get the Neighborhood iterator.
|
| |
| CellListM< dim, T, sh_byte, CellBase > & | operator= (CellListM< dim, T, sh_byte, CellBase > &&clm) |
| | operator=
|
| |
| CellListM< dim, T, sh_byte, CellBase > & | operator= (const CellListM< dim, T, sh_byte, CellBase > &clm) |
| | operator=
|
| |
template<unsigned int dim, typename T , unsigned int sh_byte, typename CellBase = CellList<dim,T,Mem_fast<>,shift<dim, T>>>
| size_t CellListM< dim, T, sh_byte, CellBase >::getV |
( |
size_t |
cell, |
|
|
size_t |
ele |
|
) |
| |
|
inline |
Get the element vector in the cell.
- Template Parameters
-
- Parameters
-
| cell | cell id |
| ele | element id |
- Returns
- The element value
Definition at line 223 of file CellListM.hpp.
template<unsigned int dim, typename T , unsigned int sh_byte, typename CellBase = CellList<dim,T,Mem_fast<>,shift<dim, T>>>
| static size_t CellListM< dim, T, sh_byte, CellBase >::getV |
( |
size_t |
ele | ) |
|
|
inlinestatic |
Convert an element in phase id.
- Parameters
-
- Returns
- The element value
Definition at line 193 of file CellListM.hpp.