This is a distributed grid. More...
This is a distributed grid.
Implementation of a distributed grid the decomposition is geometrical, grid is splitted across several processor
dim | Dimensionality of the grid |
St | Type of space where the grid is living |
T | object the grid is storing |
Decomposition | Class that decompose the grid for example CartDecomposition |
Mem | Is the allocator |
device | type of base structure is going to store the data |
Definition at line 69 of file grid_dist_id.hpp.
#include <grid_dist_id.hpp>
Public Types | |
typedef device_grid | d_grid |
Which kind of grid the structure store. | |
typedef Decomposition | decomposition |
Decomposition used. | |
typedef T | value_type |
value_type | |
typedef St | stype |
Type of space. | |
typedef Memory | memory_type |
Type of Memory. | |
typedef device_grid | device_grid_type |
Type of device grid. | |
Public Member Functions | |
const Box< dim, St > | getDomain () const |
Get the domain where the grid is defined. More... | |
Point< dim, St > | getOffset (size_t i) |
Get the point where it start the origin of the grid of the sub-domain i. More... | |
St | spacing (size_t i) const |
Get the spacing of the grid in direction i. More... | |
size_t | size () const |
Return the total number of points in the grid. More... | |
size_t | size (size_t i) const |
Return the total number of points in the grid. More... | |
template<typename H > | |
grid_dist_id (const grid_dist_id< dim, St, H, typename Decomposition::base_type, Memory, grid_cpu< dim, H >> &g, const Ghost< dim, long int > &gh, Box< dim, size_t > ext) | |
This constructor is special, it construct an expanded grid that perfectly overlap with the previous. More... | |
grid_dist_id (const Decomposition &dec, const size_t(&g_sz)[dim], const Ghost< dim, St > &ghost) | |
grid_dist_id (Decomposition &&dec, const size_t(&g_sz)[dim], const Ghost< dim, St > &ghost) | |
grid_dist_id (const Decomposition &dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) | |
grid_dist_id (Decomposition &&dec, const size_t(&g_sz)[dim], const Ghost< dim, long int > &g) | |
grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, St > &g) | |
grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g) | |
grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, St > &g, const periodicity< dim > &p) | |
grid_dist_id (const size_t(&g_sz)[dim], const Box< dim, St > &domain, const Ghost< dim, long int > &g, const periodicity< dim > &p) | |
const grid_sm< dim, T > & | getGridInfo () const |
Get an object containing the grid informations. More... | |
const grid_sm< dim, void > & | getGridInfoVoid () const |
Get an object containing the grid informations without type. More... | |
Decomposition & | getDecomposition () |
Get the object that store the information about the decomposition. More... | |
const Decomposition & | getDecomposition () const |
Get the object that store the information about the decomposition. More... | |
const CellDecomposer_sm< dim, St, shift< dim, St > > & | getCellDecomposer () const |
Return the cell decomposer. More... | |
bool | isInside (const grid_key_dx< dim > &gk) const |
Check that the global grid key is inside the grid domain. More... | |
size_t | getLocalDomainSize () const |
Get the total number of grid points for the calling processor. More... | |
size_t | getLocalDomainWithGhostSize () const |
Get the total number of grid points with ghost for the calling processor. More... | |
const openfpm::vector< GBoxes < device_grid::dims > > & | getLocalGridsInfo () |
It return the informations about the local grids. More... | |
void | getGlobalGridsInfo (openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext_global) const |
It gathers the information about local grids for all of the processors. More... | |
grid_dist_iterator< dim, device_grid, FREE > | getOldDomainIterator () const |
It return an iterator that span the full grid domain (each processor span its local domain) More... | |
grid_dist_iterator< dim, device_grid, FREE > | getDomainIterator () const |
It return an iterator that span the full grid domain (each processor span its local domain) More... | |
template<unsigned int Np> | |
grid_dist_iterator< dim, device_grid, FREE, stencil_offset_compute< dim, Np > > | getDomainIteratorStencil (const grid_key_dx< dim >(&stencil_pnt)[Np]) const |
It return an iterator that span the full grid domain (each processor span its local domain) More... | |
grid_dist_iterator< dim, device_grid, FIXED > | getDomainGhostIterator () const |
It return an iterator that span the grid domain + ghost part. More... | |
grid_dist_iterator_sub< dim, device_grid > | getSubDomainIterator (const grid_key_dx< dim > &start, const grid_key_dx< dim > &stop) const |
It return an iterator that span the grid domain only in the specified part. More... | |
grid_dist_iterator_sub< dim, device_grid > | getSubDomainIterator (const long int(&start)[dim], const long int(&stop)[dim]) const |
It return an iterator that span the grid domain only in the specified part. More... | |
~grid_dist_id () | |
Destructor. | |
Vcluster & | getVC () |
Get the Virtual Cluster machine. More... | |
bool | is_staggered () |
Indicate that this grid is not staggered. More... | |
template<unsigned int p = 0> | |
auto | get (const grid_dist_key_dx< dim > &v1) const -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | get (const grid_dist_key_dx< dim > &v1) -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | get (grid_dist_g_dx< device_grid > &v1) const -> typename std::add_lvalue_reference< decltype(v1.getSub() ->template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | get (grid_dist_g_dx< device_grid > &v1) -> typename std::add_lvalue_reference< decltype(v1.getSub() ->template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | get (const grid_dist_lin_dx &v1) const -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | get (const grid_dist_lin_dx &v1) -> typename std::add_lvalue_reference< decltype(loc_grid.get(v1.getSub()).template get< p >(v1.getKey()))>::type |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | getProp (const grid_dist_key_dx< dim > &v1) const -> decltype(this->template get< p >(v1)) |
Get the reference of the selected element. More... | |
template<unsigned int p = 0> | |
auto | getProp (const grid_dist_key_dx< dim > &v1) -> decltype(this->template get< p >(v1)) |
Get the reference of the selected element. More... | |
template<int... prp> | |
void | ghost_get () |
It synchronize the ghost parts. More... | |
template<template< typename, typename > class op, int... prp> | |
void | ghost_put () |
It synchronize the ghost parts. More... | |
grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > & | copy (grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > &g, bool use_memcpy=true) |
Copy the give grid into this grid. More... | |
Point< dim, St > | getSpacing () |
Get the spacing on each dimension. More... | |
grid_key_dx< dim > | getGKey (const grid_dist_key_dx< dim > &k) |
Convert a g_dist_key_dx into a global key. More... | |
bool | write (std::string output, size_t opt=VTK_WRITER|FORMAT_ASCII) |
Write the distributed grid information. More... | |
bool | write_frame (std::string output, size_t i, size_t opt=VTK_WRITER|FORMAT_ASCII) |
Write the distributed grid information. More... | |
device_grid & | get_loc_grid (size_t i) |
Get the i sub-domain grid. More... | |
grid_key_dx_iterator_sub< dim, no_stencil > | get_loc_grid_iterator (size_t i) |
Get the i sub-domain grid. More... | |
template<unsigned int Np> | |
grid_key_dx_iterator_sub< dim, stencil_offset_compute< dim, Np > > | get_loc_grid_iterator_stencil (size_t i, const grid_key_dx< dim >(&stencil_pnt)[Np]) |
Get the i sub-domain grid. More... | |
size_t | getN_loc_grid () |
Return the number of local grid. More... | |
long int | who () |
It return the id of structure in the allocation list. More... | |
void | debugPrint () |
It print the internal ghost boxes and external ghost boxes in global unit. More... | |
void | setPropNames (const openfpm::vector< std::string > &names) |
Set the properties names. More... | |
void | map () |
It move all the grid parts that do not belong to the local processor to the respective processor. More... | |
void | save (const std::string &filename) const |
void | load (const std::string &filename) |
const openfpm::vector < i_lbox_grid< dim > > & | get_loc_ig_box () |
Get the internal local ghost box. More... | |
const openfpm::vector < i_lbox_grid< dim > > & | get_ig_box () |
Get the internal ghost box. More... | |
![]() | |
void | grids_reconstruct (openfpm::vector< openfpm::vector< aggregate< device_grid, SpaceBox< dim, long int >>>> &m_oGrid_recv, openfpm::vector< device_grid > &loc_grid, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, CellDecomposer_sm< dim, St, shift< dim, St >> &cd_sm) |
Reconstruct the local grids. More... | |
void | labelIntersectionGridsProcessor (Decomposition &dec, CellDecomposer_sm< dim, St, shift< dim, St >> &cd_sm, openfpm::vector< device_grid > &loc_grid_old, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext_old, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext_global, openfpm::vector< openfpm::vector< aggregate< device_grid, SpaceBox< dim, long int >>>> &lbl_b, openfpm::vector< size_t > &prc_sz) |
Label intersection grids for mappings. More... | |
void | map_ (Decomposition &dec, CellDecomposer_sm< dim, St, shift< dim, St >> &cd_sm, openfpm::vector< device_grid > &loc_grid, openfpm::vector< device_grid > &loc_grid_old, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext_old, openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext_global) |
Moves all the grids that does not belong to the local processor to the respective processor. More... | |
template<int... prp> | |
void | ghost_get_ (const openfpm::vector< ip_box_grid< dim >> &ig_box, const openfpm::vector< ep_box_grid< dim >> &eg_box, const openfpm::vector< i_lbox_grid< dim >> &loc_ig_box, const openfpm::vector< e_lbox_grid< dim >> &loc_eg_box, const openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, openfpm::vector< device_grid > &loc_grid, std::unordered_map< size_t, size_t > &g_id_to_external_ghost_box) |
It fill the ghost part of the grids. More... | |
template<template< typename, typename > class op, int... prp> | |
void | ghost_put_ (const openfpm::vector< ip_box_grid< dim >> &ig_box, const openfpm::vector< ep_box_grid< dim >> &eg_box, const openfpm::vector< i_lbox_grid< dim >> &loc_ig_box, const openfpm::vector< e_lbox_grid< dim >> &loc_eg_box, const openfpm::vector< GBoxes< device_grid::dims >> &gdb_ext, openfpm::vector< device_grid > &loc_grid, openfpm::vector< std::unordered_map< size_t, size_t >> &g_id_to_internal_ghost_box) |
It merge the information in the ghost with the real information. More... | |
grid_dist_id_comm () | |
Constructor. More... | |
Data Fields | |
bool | init_e_g_box = false |
Flag that indicate if the external ghost box has been initialized. | |
bool | init_i_g_box = false |
Flag that indicate if the internal ghost box has been initialized. | |
bool | init_fix_ie_g_box = false |
Flag that indicate if the internal and external ghost box has been fixed. | |
openfpm::vector< ip_box_grid < dim > > | ig_box |
Internal ghost boxes in grid units. | |
openfpm::vector< ep_box_grid < dim > > | eg_box |
External ghost boxes in grid units. | |
openfpm::vector< i_lbox_grid < dim > > | loc_ig_box |
Local internal ghost boxes in grid units. | |
openfpm::vector< e_lbox_grid < dim > > | loc_eg_box |
Local external ghost boxes in grid units. | |
Static Public Attributes | |
static const unsigned int | dims = dim |
Number of dimensions. | |
Protected Member Functions | |
Box< dim, size_t > | getDomain (size_t i) |
Given a local sub-domain i with a local grid Domain + ghost return the part of the local grid that is domain. More... | |
Static Protected Member Functions | |
static Ghost< dim, float > | convert_ghost (const Ghost< dim, long int > &gd, const CellDecomposer_sm< dim, St, shift< dim, St >> &cd_sm) |
Convert a ghost from grid point units into continus space. More... | |
Private Member Functions | |
Box< dim, long int > | flip_box (const Box< dim, long int > &box, const comb< dim > &cmb) |
flip box just convert and internal ghost box into an external ghost box More... | |
void | set_for_adjustment (const Box< dim, long int > &sub_domain, const Box< dim, St > &sub_domain_other, const comb< dim > &cmb, Box< dim, long int > &ib, Ghost< dim, long int > &g) |
this function is for optimization of the ghost size More... | |
void | create_ig_box () |
Create per-processor internal ghost boxes list in grid units and g_id_to_external_ghost_box. More... | |
void | create_eg_box () |
Create per-processor internal ghost box list in grid units. More... | |
void | create_local_ig_box () |
Create local internal ghost box in grid units. More... | |
void | create_local_eg_box () |
Create per-processor external ghost boxes list in grid units. More... | |
void | check_size (const size_t(&g_sz)[dim]) |
Check the grid has a valid size. More... | |
void | Create () |
Create the grids on memory. More... | |
grid_dist_id (const grid_dist_id< dim, St, T, Decomposition, Memory, device_grid > &g) | |
Default Copy constructor on this class make no sense and is unsafe, this definition disable it. More... | |
void | InitializeCellDecomposer (const CellDecomposer_sm< dim, St, shift< dim, St >> &cd_old, const Box< dim, size_t > &ext) |
Initialize the Cell decomposer of the grid enforcing perfect overlap of the cells. More... | |
void | InitializeCellDecomposer (const size_t(&g_sz)[dim], const size_t(&bc)[dim]) |
Initialize the Cell decomposer of the grid. More... | |
void | InitializeDecomposition (const size_t(&g_sz)[dim], const size_t(&bc)[dim]) |
Initialize the grid. More... | |
void | InitializeStructures (const size_t(&g_sz)[dim]) |
Initialize the grid. More... | |
Static Private Member Functions | |
static void * | msg_alloc_external_box (size_t msg_i, size_t total_msg, size_t total_p, size_t i, size_t ri, void *ptr) |
Call-back to allocate buffer to receive incoming objects (external ghost boxes) More... | |
Private Attributes | |
Box< dim, St > | domain |
Domain. | |
Ghost< dim, St > | ghost |
Ghost expansion. | |
Ghost< dim, long int > | ghost_int |
Ghost expansion. | |
openfpm::vector< device_grid > | loc_grid |
Local grids. | |
openfpm::vector< device_grid > | loc_grid_old |
Old local grids. | |
Decomposition | dec |
Space Decomposition. | |
openfpm::vector< GBoxes < device_grid::dims > > | gdb_ext |
Extension of each grid: Domain and ghost + domain. | |
openfpm::vector< GBoxes < device_grid::dims > > | gdb_ext_global |
Global gdb_ext. | |
openfpm::vector< GBoxes < device_grid::dims > > | gdb_ext_old |
Extension of each old grid (old): Domain and ghost + domain. | |
size_t | g_sz [dim] |
Size of the grid on each dimension. | |
CellDecomposer_sm< dim, St, shift< dim, St > > | cd_sm |
Structure that divide the space into cells. | |
Vcluster & | v_cl |
Communicator class. | |
openfpm::vector< std::string > | prp_names |
properties names | |
std::unordered_map< size_t, size_t > | g_id_to_external_ghost_box |
openfpm::vector < std::unordered_map< size_t, size_t > > | g_id_to_internal_ghost_box |
openfpm::vector< size_t > | recv_sz |
Receiving size. | |
openfpm::vector< HeapMemory > | recv_mem_gg |
Receiving buffer for particles ghost get. | |
grid_sm< dim, T > | ginfo |
Grid informations object. | |
grid_sm< dim, void > | ginfo_v |
Grid informations object without type. | |
bool | init_local_i_g_box = false |
Indicate if the local internal ghost box has been initialized. | |
bool | init_local_e_g_box = false |
Indicate if the local external ghost box has been initialized. | |
|
inlineprivate |
Default Copy constructor on this class make no sense and is unsafe, this definition disable it.
g | grid to copy |
Definition at line 523 of file grid_dist_id.hpp.
|
inline |
This constructor is special, it construct an expanded grid that perfectly overlap with the previous.
The key-word here is "perfectly overlap". Using the default constructor you could create something similar, but because of rounding-off error it can happen that it is not perfectly overlapping
g | previous grid |
gh | Ghost part in grid units |
ext | extension of the grid (must be positive on every direction) |
Definition at line 735 of file grid_dist_id.hpp.
|
inline |
It constructs a grid of a specified size, defined on a specified Box space, forcing to follow a specified decomposition and with a specified ghost size
dec | Decomposition |
g_sz | grid size on each dimension |
ghost | Ghost part |
Definition at line 785 of file grid_dist_id.hpp.
|
inline |
It constructs a grid of a specified size, defined on a specified Box space, forcing to follow a specified decomposition and with a specified ghost size
dec | Decomposition |
g_sz | grid size on each dimension |
ghost | Ghost part |
Definition at line 806 of file grid_dist_id.hpp.
|
inline |
It constructs a grid of a specified size, defined on a specified Box space, forcing to follow a specified decomposition, and having a specified ghost size
dec | Decomposition |
g_sz | grid size on each dimension |
g | Ghost part (given in grid units) |
Definition at line 828 of file grid_dist_id.hpp.
|
inline |
It construct a grid of a specified size, defined on a specified Box space, forcing to follow a specified decomposition, and having a specified ghost size
dec | Decomposition |
g_sz | grid size on each dimension |
g | Ghost part (given in grid units) |
Definition at line 855 of file grid_dist_id.hpp.
|
inline |
It construct a grid of a specified size, defined on a specified Box space, and having a specified ghost size
g_sz | grid size on each dimension |
domain | Box that contain the grid |
g | Ghost part (given in grid units) |
Definition at line 880 of file grid_dist_id.hpp.
|
inline |
It construct a grid of a specified size, defined on a specified Box space, having a specified ghost size and periodicity
g_sz | grid size on each dimension |
domain | Box that contain the grid |
g | Ghost part of the domain (given in grid units) |
Definition at line 895 of file grid_dist_id.hpp.
|
inline |
It construct a grid of a specified size, defined on a specified Box space, having a specified ghost size, and specified periodicity
g_sz | grid size on each dimension |
domain | Box that contain the grid |
g | Ghost part (given in grid units) |
p | Boundary conditions |
Definition at line 910 of file grid_dist_id.hpp.
|
inline |
It construct a grid of a specified size, defined on a specified Box space, having a specified ghost size and periodicity
g_sz | grid size on each dimension |
domain | Box that contain the grid |
g | Ghost part of the domain (given in grid units) |
p | periodicity |
Definition at line 934 of file grid_dist_id.hpp.
|
inlineprivate |
Check the grid has a valid size.
g_sz | size of the grid |
Definition at line 473 of file grid_dist_id.hpp.
|
inlinestaticprotected |
Convert a ghost from grid point units into continus space.
gd | Ghost in continuous space |
cd_sm | CellDecomposer of the grid |
Definition at line 625 of file grid_dist_id.hpp.
|
inline |
Copy the give grid into this grid.
It copy the first grid into the given grid (No ghost)
g | Grid to copy |
use_memcpy | use memcpy function if possible |
Definition at line 1509 of file grid_dist_id.hpp.
|
inlineprivate |
Create the grids on memory.
Definition at line 485 of file grid_dist_id.hpp.
|
inlineprivate |
Create per-processor internal ghost box list in grid units.
Definition at line 310 of file grid_dist_id.hpp.
|
inlineprivate |
Create per-processor internal ghost boxes list in grid units and g_id_to_external_ghost_box.
Definition at line 248 of file grid_dist_id.hpp.
|
inlineprivate |
Create per-processor external ghost boxes list in grid units.
Definition at line 436 of file grid_dist_id.hpp.
|
inlineprivate |
Create local internal ghost box in grid units.
Definition at line 386 of file grid_dist_id.hpp.
|
inline |
It print the internal ghost boxes and external ghost boxes in global unit.
Definition at line 1733 of file grid_dist_id.hpp.
|
inlineprivate |
flip box just convert and internal ghost box into an external ghost box
box | to convert |
cmb | sector position of the box |
Definition at line 172 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1297 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1313 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1329 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1345 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1361 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1377 of file grid_dist_id.hpp.
|
inline |
Get the internal ghost box.
Definition at line 1821 of file grid_dist_id.hpp.
|
inline |
Get the i sub-domain grid.
i | sub-domain |
Definition at line 1667 of file grid_dist_id.hpp.
|
inline |
Get the i sub-domain grid.
i | sub-domain |
Definition at line 1679 of file grid_dist_id.hpp.
|
inline |
Get the i sub-domain grid.
i | sub-domain |
Definition at line 1694 of file grid_dist_id.hpp.
|
inline |
Get the internal local ghost box.
Definition at line 1811 of file grid_dist_id.hpp.
|
inline |
Return the cell decomposer.
Definition at line 1008 of file grid_dist_id.hpp.
|
inline |
Get the object that store the information about the decomposition.
Definition at line 982 of file grid_dist_id.hpp.
|
inline |
Get the object that store the information about the decomposition.
Definition at line 995 of file grid_dist_id.hpp.
|
inlineprotected |
Given a local sub-domain i with a local grid Domain + ghost return the part of the local grid that is domain.
i | sub-domain |
Definition at line 612 of file grid_dist_id.hpp.
|
inline |
Get the domain where the grid is defined.
Definition at line 673 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the grid domain + ghost part.
Definition at line 1206 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the full grid domain (each processor span its local domain)
Definition at line 1160 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the full grid domain (each processor span its local domain)
stencil_pnt | stencil points |
Definition at line 1185 of file grid_dist_id.hpp.
|
inline |
Convert a g_dist_key_dx into a global key.
k | grid_dist_key_dx point (in general returned by the iterators) |
Definition at line 1575 of file grid_dist_id.hpp.
|
inline |
It gathers the information about local grids for all of the processors.
gdb_ext_global | where to store the grid infos |
Definition at line 1096 of file grid_dist_id.hpp.
|
inline |
Get an object containing the grid informations.
Definition at line 956 of file grid_dist_id.hpp.
|
inline |
Get an object containing the grid informations without type.
Definition at line 969 of file grid_dist_id.hpp.
|
inline |
Get the total number of grid points for the calling processor.
Definition at line 1042 of file grid_dist_id.hpp.
|
inline |
Get the total number of grid points with ghost for the calling processor.
Definition at line 1062 of file grid_dist_id.hpp.
|
inline |
It return the informations about the local grids.
Definition at line 1083 of file grid_dist_id.hpp.
|
inline |
Return the number of local grid.
Definition at line 1707 of file grid_dist_id.hpp.
|
inline |
Get the point where it start the origin of the grid of the sub-domain i.
i | sub-domain |
Definition at line 685 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the full grid domain (each processor span its local domain)
Definition at line 1139 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1393 of file grid_dist_id.hpp.
|
inline |
Get the reference of the selected element.
p | property to get (is an integer) |
v1 | grid_key that identify the element in the grid |
Definition at line 1406 of file grid_dist_id.hpp.
|
inline |
Get the spacing on each dimension.
Definition at line 1560 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the grid domain only in the specified part.
The key spanned are the one inside the box spanned by the start point and the end point included
start | point |
stop | point |
Definition at line 1228 of file grid_dist_id.hpp.
|
inline |
It return an iterator that span the grid domain only in the specified part.
The key spanned are the one inside the box spanned by the start point and the end point included
start | point |
stop | point |
Definition at line 1250 of file grid_dist_id.hpp.
|
inline |
Get the Virtual Cluster machine.
Definition at line 1271 of file grid_dist_id.hpp.
|
inline |
It synchronize the ghost parts.
prp... | Properties to synchronize |
Definition at line 1437 of file grid_dist_id.hpp.
|
inline |
It synchronize the ghost parts.
prp... | Properties to synchronize |
Definition at line 1469 of file grid_dist_id.hpp.
|
inlineprivate |
Initialize the Cell decomposer of the grid enforcing perfect overlap of the cells.
cd_old | the CellDecomposer we are trying to mach |
ext | extension of the domain |
Definition at line 537 of file grid_dist_id.hpp.
|
inlineprivate |
Initialize the Cell decomposer of the grid.
g_sz | Size of the grid |
bc | boundary conditions |
Definition at line 549 of file grid_dist_id.hpp.
|
inlineprivate |
Initialize the grid.
g_sz | Global size of the grid |
bc | boundary conditions |
Definition at line 568 of file grid_dist_id.hpp.
|
inlineprivate |
Initialize the grid.
g_sz | Global size of the grid |
Definition at line 594 of file grid_dist_id.hpp.
|
inline |
Indicate that this grid is not staggered.
Definition at line 1284 of file grid_dist_id.hpp.
|
inline |
Check that the global grid key is inside the grid domain.
gk | point to check |
Definition at line 1023 of file grid_dist_id.hpp.
|
inline |
It move all the grid parts that do not belong to the local processor to the respective processor.
Definition at line 1779 of file grid_dist_id.hpp.
|
inlinestaticprivate |
Call-back to allocate buffer to receive incoming objects (external ghost boxes)
msg_i | message size required to receive from i |
total_msg | message size to receive from all the processors |
total_p | the total number of processor want to communicate with you |
i | processor id |
ri | request id (it is an id that goes from 0 to total_p, and is unique every time message_alloc is called) |
ptr | void pointer parameter for additional data to pass to the call-back |
Definition at line 147 of file grid_dist_id.hpp.
|
inlineprivate |
this function is for optimization of the ghost size
Because the decomposition work in continuum and discrete ghost is converted in continuum, in some case continuum ghost because of rounding-off error can produce ghost bigger than the discrete selected one. This function adjust for this round-off error
sub_domain | the sub-domain |
sub_domain_other | the other sub-domain |
ib | internal ghost box to adjust |
Definition at line 210 of file grid_dist_id.hpp.
|
inline |
Set the properties names.
It is useful to specify name for the properties in vtk writers
names | set of properties names |
Definition at line 1767 of file grid_dist_id.hpp.
|
inline |
Return the total number of points in the grid.
Definition at line 707 of file grid_dist_id.hpp.
|
inline |
Return the total number of points in the grid.
i | direction |
Definition at line 719 of file grid_dist_id.hpp.
|
inline |
Get the spacing of the grid in direction i.
i | dimension |
Definition at line 697 of file grid_dist_id.hpp.
|
inline |
It return the id of structure in the allocation list.
Definition at line 1720 of file grid_dist_id.hpp.
|
inline |
Write the distributed grid information.
output | directory where to put the files + prefix |
opt | options |
Definition at line 1602 of file grid_dist_id.hpp.
|
inline |
Write the distributed grid information.
output | directory where to put the files + prefix |
i | frame number |
opt | options |
Definition at line 1636 of file grid_dist_id.hpp.
|
private |
It map a global ghost id (g_id) to the external ghost box information It is unique across all the near processor
Definition at line 112 of file grid_dist_id.hpp.
|
private |
It map a global ghost id (g_id) to the internal ghost box information (is unique for processor), it is not unique across all the near processor
Definition at line 116 of file grid_dist_id.hpp.