Distributed grid iterator. More...
Distributed grid iterator.
Iterator across the local elements of the distributed grid
dim | dimensionality of the grid |
device_grid | type of basic grid |
impl | implementation |
Definition at line 45 of file grid_dist_id_iterator.hpp.
#include <grid_dist_id_iterator.hpp>
Public Member Functions | |
grid_dist_iterator (openfpm::vector< device_grid > &gk, const openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, const grid_key_dx< dim > &stop) | |
Constructor of the distributed grid iterator. More... | |
grid_dist_iterator (openfpm::vector< device_grid > &gk, const openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, const grid_key_dx< dim > &stop, const grid_key_dx< dim >(&stencil_pnt)[stencil::nsp]) | |
Constructor of the distributed grid iterator with stencil support. More... | |
grid_dist_iterator< dim, device_grid, FREE, stencil > & | operator++ () |
Get the next element. More... | |
bool | isNext () |
Check if there is the next element. More... | |
grid_dist_key_dx< dim > | get () |
Get the actual key. More... | |
grid_key_dx< dim > | getStop () const |
it return the stop point of the iterator More... | |
grid_key_dx< dim > | getStart () const |
it return the start point of the iterator More... | |
const openfpm::vector< GBoxes < device_grid::dims > > & | getGBoxes () |
Get the boxes. More... | |
grid_key_dx< dim > | getGKey (const grid_dist_key_dx< dim > &k) |
Convert a g_dist_key_dx into a global key. More... | |
template<unsigned int id> | |
grid_dist_lin_dx | getStencil () |
Return the stencil point offset. More... | |
Private Member Functions | |
void | selectValidGrid () |
from g_c increment g_c until you find a valid grid More... | |
Private Attributes | |
size_t | g_c |
grid list counter | |
openfpm::vector< device_grid > & | gList |
List of the grids we are going to iterate. | |
const openfpm::vector< GBoxes < device_grid::dims > > & | gdb_ext |
Extension of each grid: domain and ghost + domain. | |
grid_key_dx_iterator_sub< dim, stencil > | a_it |
Actual iterator. | |
grid_key_dx< dim > | stop |
stop point (is the grid size) | |
|
inline |
Constructor of the distributed grid iterator.
gk | std::vector of the local grid |
gdb_ext | set of local subdomains |
stop | end point |
Definition at line 87 of file grid_dist_id_iterator.hpp.
|
inline |
Constructor of the distributed grid iterator with stencil support.
gk | std::vector of the local grid |
gdb_ext | set of local subdomains |
stop | end point |
stencil_pnt | stencil points |
Definition at line 104 of file grid_dist_id_iterator.hpp.
|
inline |
|
inline |
Get the boxes.
Get the boxes that define the local grids
Definition at line 205 of file grid_dist_id_iterator.hpp.
|
inline |
Convert a g_dist_key_dx into a global key.
k | key position in local coordinates |
Definition at line 220 of file grid_dist_id_iterator.hpp.
|
inline |
it return the start point of the iterator
The start point of the iterator is the point with all coordinates zeros
Definition at line 189 of file grid_dist_id_iterator.hpp.
|
inline |
Return the stencil point offset.
id |
Definition at line 240 of file grid_dist_id_iterator.hpp.
|
inline |
it return the stop point of the iterator
The stop point of the iterator is just the grid size
Definition at line 177 of file grid_dist_id_iterator.hpp.
|
inline |
Check if there is the next element.
Definition at line 150 of file grid_dist_id_iterator.hpp.
|
inline |
Get the next element.
Definition at line 126 of file grid_dist_id_iterator.hpp.
|
inlineprivate |
from g_c increment g_c until you find a valid grid
Definition at line 65 of file grid_dist_id_iterator.hpp.