1 #ifndef _RHEO_DISTRIBUTOR_H
2 #define _RHEO_DISTRIBUTOR_H
55 # include "rheolef/distributed.h"
56 # include "rheolef/dis_macros.h"
57 # include "rheolef/Vector.h"
171 #ifdef _RHEOLEF_HAVE_MPI
181 #ifdef _RHEOLEF_HAVE_MPI
field::size_type size_type
see the distributor page for the full documentation
size_type last_index() const
size_type n_process() const
number of processes
Vector< size_type > _base
size_type find_owner(size_type dis_i) const
find iproc associated to a global index dis_i: CPU=log(nproc)
void resize(size_type dis_size=0, const communicator_type &c=communicator_type(), size_type loc_size=decide)
size_type dis_size() const
global and local sizes
communicator communicator_type
size_type size(size_type iproc) const
static tag_type get_new_tag()
returns a new tag
size_type process() const
current process id
bool operator!=(const distributor &) const
size_type first_index() const
global index range and local size owned by current process
bool operator==(const distributor &) const
_base::const_iterator const_iterator
bool is_owned(size_type dis_i, size_type iproc) const
true when dis_i in [first_index(iproc):last_index(iproc)[
static const size_type decide
distributor(size_type dis_size=0, const communicator_type &c=communicator_type(), size_type loc_size=decide)
std::allocator< int >::size_type size_type
const communicator_type & comm() const
This file is part of Rheolef.
DATA::const_iterator const_iterator
const_reference at(size_type n) const