8 #ifndef SRC_DECOMPOSITION_COMMON_HPP_
9 #define SRC_DECOMPOSITION_COMMON_HPP_
14 #include "Vector/map_vector.hpp"
25 template<
unsigned int dim,
typename T>
46 :bx(bx),sub(sub),cmb(cmb)
69 template<
unsigned int dim,
typename T>
95 template<
unsigned int dim,
typename T>
118 template<
unsigned int dim,
typename T>
131 template<
unsigned int dim,
typename T>
148 template<
unsigned int dim,
typename T>
161 template<
unsigned int dim,
typename T>
231 r_sub.swap(ele.r_sub);
274 template<
unsigned int dim,
typename T>
N_box(N_box< dim, T > &&b)
Copy constructor.
Position of the element of dimension d in the hyper-cube of dimension dim.
comb< dim > cmb
in witch sector this sub-domain live
Box_loc_sub(const Box< dim, T > &bx, size_t sub, const comb< dim > &cmb)
Constructor from box, domain id and sector where it live.
size_t sub
The id of the real domain.
N_box< dim, T > & operator=(const N_box< dim, T > &ele)
Copy the element.
Case for local external ghost box.
Case for local ghost box.
Box< dim, T > bx
extension of this local internal ghost box
for each sub-domain box sub contain the real the sub-domain id
openfpm::vector<::Box< dim, T > > bx
openfpm::vector_std< Box_sub_k< dim, T > > ibx
openfpm::vector< size_t > r_sub
Box_loc_sub operator=(const Box< dim, T > &box)
Set the sub-domain box coordinates.
Case for external ghost box.
Box_loc_sub()
Constructor.
Particular case for local internal ghost boxes.
bool operator==(const p_box &pb)
Check if two p_box are the same.
size_t lc_proc
local processor id
Box< dim, T > bx
Box defining the sub-domain (copied)
Box< dim, T > bx
Internal ghost box definition.
comb< dim > cmb
see ie_ghost follow sector explanation
size_t shift_id
shift vector id
size_t id
see ebx_ibx_form in ie_ghost for the meaning
bool operator==(const N_box< dim, T > &ele) const
Compare two N_box object.
size_t proc
processor rank
This class represent an N-dimensional box.
size_t r_sub
see getNearSubdomainsRealId in nn_prcs
N_box()
Default constructor.
Box_sub()
Constructor reset cmb.
comb< dim > cmb
Where this sub_domain live.
bool operator!=(const N_box< dim, T > &ele) const
Compare two N_box object.
openfpm::vector_std< Box_sub< dim, T > > ibx
openfpm::vector<::Box< dim, T > > nbx
openfpm::vector< comb< dim > > pos
near processor sector position (or where they live outside the domain)
size_t id
id of the processor in the nn_processor list (local processor id)
N_box< dim, T > & operator=(N_box< dim, T > &&ele)
Copy the element.
It store all the boxes of the near processors in a linear array.
openfpm::vector_std< Box_sub< dim, T > > ebx
openfpm::vector_std< Box_sub_k< dim, T > > ebx
Implementation of 1-D std::vector like structure.
openfpm::vector<::Box< dim, T > > bx
near processor sub-domains
size_t n_real_sub
Number of real sub-domains or sub-domain in the central sector.
N_box(const N_box< dim, T > &b)
Copy constructor.