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