This class implement orthogonal recursive bisection.
More...
#include <ORB.hpp>
|
| template<unsigned int dir> |
| void | local_cm (size_t start) |
| | Calculate the local center of mass on direction dir. More...
|
| |
| template<unsigned int dir> |
| void | local_label () |
| | It label the particles. More...
|
| |
| template<unsigned int dir> |
| size_t | bisect () |
| | Bisect the domains along one direction. More...
|
| |
|
|
class | bisect_unroll< dim, ORB< dim, T, loc_wg, loc_pos, Box, Tree > > |
| |
template<unsigned int dim, typename T, typename loc_wg = openfpm::vector<float>, typename loc_pos = openfpm::vector<Point<dim,T>>, typename Box = Box<dim,T>, template< typename, typename > class Tree = Graph_CSR_s>
class ORB< dim, T, loc_wg, loc_pos, Box, Tree >
This class implement orthogonal recursive bisection.
- Template Parameters
-
| dim | Dimensionality of the ORB |
| T | type of the space |
| loc_wg | type of structure that store the local weight of particles |
| loc_pos | type of structure that store the local position of particles |
| Box | type of structure that contain the domain extension |
| Tree | type of structure that store the tree structure |
Definition at line 98 of file ORB.hpp.
◆ ORB()
template<unsigned int dim, typename T , typename loc_wg = openfpm::vector<float>, typename loc_pos = openfpm::vector<Point<dim,T>>, typename Box = Box<dim,T>, template< typename, typename > class Tree = Graph_CSR_s>
| ORB< dim, T, loc_wg, loc_pos, Box, Tree >::ORB |
( |
Box |
dom, |
|
|
size_t |
n_sub, |
|
|
loc_pos & |
lp |
|
) |
| |
|
inline |
constructor
- Parameters
-
| dom | Box domain |
| n_sub | number of sub-domain to create (it is approximated to the biggest 2^n number) |
| lp | Local position of the particles |
Definition at line 265 of file ORB.hpp.
◆ bisect()
template<unsigned int dim, typename T , typename loc_wg = openfpm::vector<float>, typename loc_pos = openfpm::vector<Point<dim,T>>, typename Box = Box<dim,T>, template< typename, typename > class Tree = Graph_CSR_s>
template<unsigned int dir>
| size_t ORB< dim, T, loc_wg, loc_pos, Box, Tree >::bisect |
( |
| ) |
|
|
inlineprivate |
Bisect the domains along one direction.
- Template Parameters
-
| dir | direction where to split |
Definition at line 212 of file ORB.hpp.
◆ local_cm()
template<unsigned int dim, typename T , typename loc_wg = openfpm::vector<float>, typename loc_pos = openfpm::vector<Point<dim,T>>, typename Box = Box<dim,T>, template< typename, typename > class Tree = Graph_CSR_s>
template<unsigned int dir>
| void ORB< dim, T, loc_wg, loc_pos, Box, Tree >::local_cm |
( |
size_t |
start | ) |
|
|
inlineprivate |
Calculate the local center of mass on direction dir.
WARNING: with CM we mean the sum of the particle coordinate over one direction
- Template Parameters
-
| dir | Direction witch to calculate the center of mass |
- Parameters
-
| start | from where the last leafs start |
Definition at line 128 of file ORB.hpp.
◆ local_label()
template<unsigned int dim, typename T , typename loc_wg = openfpm::vector<float>, typename loc_pos = openfpm::vector<Point<dim,T>>, typename Box = Box<dim,T>, template< typename, typename > class Tree = Graph_CSR_s>
template<unsigned int dir>
| void ORB< dim, T, loc_wg, loc_pos, Box, Tree >::local_label |
( |
| ) |
|
|
inlineprivate |
It label the particles.
It identify where the particles are
- Parameters
-
Definition at line 164 of file ORB.hpp.
The documentation for this class was generated from the following file:
- openfpm_pdata/src/Decomposition/ORB.hpp