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.