This class calculate processor domains and neighborhood of each processor domain.
More...
template<unsigned int dim>
class domain_nn_calculator_cart< dim >
This class calculate processor domains and neighborhood of each processor domain.
- Parameters
-
Definition at line 21 of file Domain_NN_calculator_cart.hpp.
#include <Domain_NN_calculator_cart.hpp>
|
void | CalculateDomAndAnomCells (openfpm::vector< subsub< dim >> &sub_keys, openfpm::vector< grid_key_dx< dim >> &dom_subsub, openfpm::vector< grid_key_dx< dim >> &dom_cells, const ::Box< dim, long int > &proc_box, const openfpm::vector<::Box< dim, size_t >> &loc_box) |
| Calculate the subdomain that are in the skin part of the domain. More...
|
|
void | linearize_subsub (const openfpm::vector< subsub< dim >> &anom, openfpm::vector< subsub_lin< dim >> &anom_lin, const grid_key_dx< dim > &shift, const grid_sm< dim, void > &gs) |
| Linearize the sub-sub-domains ids. More...
|
|
◆ CalculateDomAndAnomCells()
template<unsigned int dim>
Calculate the subdomain that are in the skin part of the domain.
+---+---+---+---+---+---+
| 1 | 2 | 3 | 4 | 5 | 6 |
+---+---+---+---+---+---+
|27 | | 7 |
+---+ +---+
|26 | | 8 |
+---+ +---+
|25 | | 9 |
+---+ DOM1 +---+
|24 | |10 |
+---+ +---+
|23 | |11 |
+---+ +---+
|22 | |12 |
+---+-----------+---+---+
|21 | |13 |
+---+ +---+
|20 | DOM2 |14 |
+---+---+---+---+---+
|19 |18 |17 | 16|15 |
+---+---+---+---+---+ <----- Domain end here
|
^ |
|_____________|
In some cases like symmetric with CRS Scheme The cells indicated with numbers has a non straigh-forward neighborhood. This function calculate the list of the domain cells with normal symmetric neighborhood type and compute a list of cells with more complex neighboring cells.
- Parameters
-
sub_keys | array that contain the position of the sub-sub-domains indicated with numbers in grid coordinates + for each its neighboring cells |
dom_cells | list of all the domain cells |
dom_subsub | cells with normal neighborhood |
loc_box | array of local sub-sub-domain in grid coordinates |
proc_box | Processor bounding box in local coordinates |
Definition at line 108 of file Domain_NN_calculator_cart.hpp.
◆ getCRSAnomDomainCells()
template<unsigned int dim>
◆ getCRSDomainCells()
template<unsigned int dim>
◆ getDomainCells()
template<unsigned int dim>
◆ linearize_subsub()
template<unsigned int dim>
Linearize the sub-sub-domains ids.
A subsub domain can be identified by a set of number (i,j). The linearization transform it into a number
- Parameters
-
anom | set of grid keys to linearize |
anom_lin | linearized output |
shift | shifting to add for the linearizaton |
gs | information about the grid to linearize |
Definition at line 212 of file Domain_NN_calculator_cart.hpp.
◆ reset()
template<unsigned int dim>
◆ setNNParameters()
template<unsigned int dim>
Set parameters to calculate the cell neighborhood.
- Parameters
-
loc_box | set of local sub-domains |
shift | to apply in the linearization |
gs | grid of cells (for the processor domain) |
Definition at line 272 of file Domain_NN_calculator_cart.hpp.
◆ setParameters()
template<unsigned int dim>
The documentation for this class was generated from the following file: