22 #include "rheolef/config.h"
24 #ifdef _RHEOLEF_HAVE_MPI
25 #include "rheolef/geo_domain_indirect.h"
33 if (
dim == base::map_dimension())
return base::_indirect.ini_ownership();
34 check_macro (
dim < base::map_dimension(),
"unexpected dimension = " <<
dim <<
" > domain dimension = " << base::map_dimension());
35 return base::_omega.geo_element_ios_ownership(
dim);
43 if (
dim == map_dimension())
return base::_omega.get_geo_element (
dim, _indirect.oige(ige).index());
45 return base::_omega.dis_get_geo_element (
dim, dis_ige);
51 if (
dim == base::map_dimension())
return base::_indirect.ioige2ini_dis_ioige (ige);
52 check_macro (
dim < base::map_dimension(),
"unexpected dimension = " <<
dim <<
" > domain dimension = " << base::map_dimension());
53 return base::_omega.ige2ios_dis_ige (
dim, ige);
59 check_macro (
dim < base::map_dimension(),
"unexpected dimension = " <<
dim <<
" > domain dimension = " << base::map_dimension());
60 return base::_omega.dis_ige2ios_dis_ige (
dim, dis_ige);
66 if (
dim == base::map_dimension())
return base::_indirect.ini_ioige2dis_ioige (ios_ige);
67 check_macro (
dim < base::map_dimension(),
"unexpected dimension = " <<
dim <<
" > domain dimension = " << base::map_dimension());
68 return base::_omega.ios_ige2dis_ige (
dim, ios_ige);
73 disarray<size_type,distributed>& idof2ios_dis_idof)
const
75 fatal_macro (
"set_ios_permutation: not yet");
82 fatal_macro (
"get_igev2ios_dis_igev: not yet");
83 return base::get_background_geo().get_igev2ios_dis_igev();
88 template class geo_domain_indirect_rep<Float,distributed>;
field::size_type size_type
distributor geo_element_ios_ownership(size_type dim) const
const_reference dis_get_geo_element(size_type map_dim, size_type dis_ige) const
size_type ige2ios_dis_ige(size_type dim, size_type ige) const
void set_ios_permutation(disarray< size_type, distributed > &idof2ios_dis_idof) const
base::size_type size_type
const std::array< disarray< size_type, distributed >, reference_element::max_variant > & get_igev2ios_dis_igev() const
base::const_reference const_reference
size_type ios_ige2dis_ige(size_type dim, size_type ios_ige) const
size_type dis_ige2ios_dis_ige(size_type dim, size_type dis_ige) const
static const variant_type max_variant
check_macro(expr1.have_homogeneous_space(Xh1), "dual(expr1,expr2); expr1 should have homogeneous space. HINT: use dual(interpolate(Xh, expr1),expr2)")
This file is part of Rheolef.