This iterator iterate across the particles of a Cell-list following the Cell structure. More...
This iterator iterate across the particles of a Cell-list following the Cell structure.
dim | Dimensionality |
CellListType | type of the cell-list |
Definition at line 52 of file ParticleItCRS_Cells.hpp.
#include <ParticleItCRS_Cells.hpp>
Public Member Functions | |
ParticleItCRS_Cells (CellListType &cli, const openfpm::vector< size_t > &dom_cell, const openfpm::vector< subsub_lin< dim > > &anom_dom_cell, const NNc_array< dim, openfpm::math::pow(3, dim)/2+1 > &NNc_sym) | |
Initialize the iterator. | |
ParticleItCRS_Cells & | operator++ () |
Increment to the next particle. | |
bool | isNext () |
Return true if there is the next particle. | |
size_t | get () |
Get the actual particle id. | |
CellListType::SymNNIterator | getNNIteratorCSR (const vector_pos_type &v) const |
Get the neighborhood iterator according to the CRS scheme. | |
CellListType::SymNNIterator | getNNIteratorCSRM (const vector_pos_type &pos, const openfpm::vector< pos_v< vector_pos_type > > &v) const |
Get the neighborhood iterator according to the CRS scheme Multi-phase case. | |
Private Member Functions | |
void | selectValid () |
Adjust the counters to reach a valid particle element. | |
Private Attributes | |
const CellListType::Mem_type_type::loc_index * | start |
starting position | |
const CellListType::Mem_type_type::loc_index * | stop |
stop position | |
size_t | cid |
Actual cell. | |
const long int * | NNc |
Neighborhood. | |
long int | NNc_size |
Neighborhood size. | |
size_t | dom_or_anom |
const openfpm::vector< size_t > & | dom_cell |
List of all the domain cells. | |
const openfpm::vector< subsub_lin< dim > > & | anom_dom_cell |
List of all anomalous domain cells with neighborhood. | |
const NNc_array< dim, openfpm::math::pow(3, dim)/2+1 > & | NNc_sym |
The array contain the neighborhood of the cell-id in case of symmetric interaction. | |
CellListType & | cli |
Celllist type. | |
|
inline |
Initialize the iterator.
cli | Cell-list |
dom_cell | domain cell |
anom_dom_cell | anomalous domain cell |
NNc_sym | symmetric neighborhood |
Definition at line 151 of file ParticleItCRS_Cells.hpp.
|
inline |
Get the actual particle id.
Definition at line 213 of file ParticleItCRS_Cells.hpp.
|
inline |
Get the neighborhood iterator according to the CRS scheme.
The CRS scheme use different neighborhood based on where the cell is positioned in the processor domain
x * for a cell x in the center of the domain
Definition at line 234 of file ParticleItCRS_Cells.hpp.
|
inline |
Get the neighborhood iterator according to the CRS scheme Multi-phase case.
The CRS scheme use different neighborhood based on where the cell is positioned in the processor domain
x * for a cell x in the center of the domain
Definition at line 262 of file ParticleItCRS_Cells.hpp.
|
inline |
Return true if there is the next particle.
Definition at line 203 of file ParticleItCRS_Cells.hpp.
|
inline |
Increment to the next particle.
Definition at line 189 of file ParticleItCRS_Cells.hpp.
|
inlineprivate |
Adjust the counters to reach a valid particle element.
Definition at line 95 of file ParticleItCRS_Cells.hpp.
|
private |
List of all anomalous domain cells with neighborhood.
Definition at line 79 of file ParticleItCRS_Cells.hpp.
|
private |
Actual cell.
Definition at line 63 of file ParticleItCRS_Cells.hpp.
|
private |
Celllist type.
Definition at line 89 of file ParticleItCRS_Cells.hpp.
|
private |
List of all the domain cells.
Definition at line 76 of file ParticleItCRS_Cells.hpp.
|
private |
If 0 we are iterating over the domain, if 1 we are iterating over the anomalous neighborhood cells, if 2 we terminate
Definition at line 73 of file ParticleItCRS_Cells.hpp.
|
private |
Neighborhood.
Definition at line 66 of file ParticleItCRS_Cells.hpp.
|
private |
Neighborhood size.
Definition at line 69 of file ParticleItCRS_Cells.hpp.
|
private |
The array contain the neighborhood of the cell-id in case of symmetric interaction.
Definition at line 86 of file ParticleItCRS_Cells.hpp.
|
private |
starting position
Definition at line 57 of file ParticleItCRS_Cells.hpp.
|
private |
stop position
Definition at line 60 of file ParticleItCRS_Cells.hpp.