1#ifndef _RHEOLEF_DOMAIN_INDIRECT_H
2#define _RHEOLEF_DOMAIN_INDIRECT_H
54#include "rheolef/disarray.h"
55#include "rheolef/geo_element.h"
56#include "rheolef/geo_element_indirect.h"
57#include "rheolef/index_set.h"
63template <
class U,
class M>
class geo_rep;
64template <
class U,
class M>
class geo_basic;
90 const std::vector<size_type>& ie_list);
93 const std::vector<size_type>& ie_list);
136 const std::string&
name,
139 const std::vector<size_type>& ie_list)
167 const std::string&
name,
170 const std::vector<size_type>& ie_list)
203 void build_from_data (
207 std::vector<index_set>* ball);
213 std::vector<index_set>* ball);
227#ifdef _RHEOLEF_HAVE_MPI
247 const std::string&
name,
250 const std::vector<size_type>& ie_list);
291 template <
class U1,
class M1>
friend class geo_rep;
307 const std::string&
name,
310 const std::vector<size_type>& ie_list)
334template <
class M = rheo_default_memory_model>
360 const std::string&
name,
363 const std::vector<size_type>& ie_list);
368 const std::string&
name,
371 const std::vector<size_type>& ie_list);
378 std::vector<index_set>* ball);
397 std::string
name ()
const;
418 const std::string&
name,
421 const std::vector<size_type>& ie_list)
429 const std::string&
name,
432 const std::vector<size_type>& ie_list)
524 return base::data().set_map_dimension (map_dim);
538 std::vector<index_set> *ball)
552 c.data().build_union (a.data(), b.data());
556#ifdef _RHEOLEF_HAVE_MPI
576 const std::string&
name,
579 const std::vector<size_type>& ie_list);
584 const std::string&
name,
587 const std::vector<size_type>& ie_list);
599 std::string
name ()
const;
633 const std::string&
name,
636 const std::vector<size_type>& ie_list)
644 const std::string&
name,
647 const std::vector<size_type>& ie_list)
709 return base::data().set_map_dimension (map_dim);
763 return base::data().ioige2ini_dis_ioige (ioige);
769 return base::data().ini_ioige2dis_ioige (ini_ioige);
781 c.data().build_union (omega, a.data(), b.data());
see the communicator page for the full documentation
see the disarray page for the full documentation
rep::base::const_iterator const_iterator
rep::base::iterator iterator
see the distributor page for the full documentation
void build_from_list(const std::string &name, size_type map_dim, const communicator &comm, const std::vector< size_type > &ie_list)
void build_union(const domain_indirect_base_rep< M > &a, const domain_indirect_base_rep< M > &b)
geo_element_indirect::orientation_type orientation_type
iterator_ioige ioige_begin()
geo_element_indirect::size_type size_type
size_type dis_size() const
void set_map_dimension(size_type map_dim)
base::const_iterator const_iterator_ioige
size_type map_dimension() const
void set_name(std::string name)
const_iterator_ioige ioige_begin() const
domain_indirect_base_rep(const std::string &name, size_type map_dim, const communicator &comm, const std::vector< size_type > &ie_list)
base::iterator iterator_ioige
const_iterator_ioige ioige_end() const
domain_indirect_base_rep()
const geo_element_indirect & oige(size_type ioige) const
disarray< geo_element_indirect, M > base
iterator_ioige ioige_end()
const_iterator_ioige ioige_end() const
void set_map_dimension(size_type map_dim)
size_type ioige2ini_dis_ioige(size_type ioige) const
domain_indirect_rep< distributed > rep
size_type dis_size() const
void set_name(std::string name)
rep::iterator_ioige iterator_ioige
const_iterator_ioige ioige_begin() const
smart_pointer< rep > base
const distributor & ini_ownership() const
size_type map_dimension() const
const geo_element_indirect & oige(size_type ioige) const
rep::const_iterator_ioige const_iterator_ioige
size_type ini_ioige2dis_ioige(size_type ini_ioige) const
idiststream & get(idiststream &ips, const geo_rep< T, distributed > &omega)
const distributor & ownership() const
void set_map_dimension(size_type map_dim)
const_iterator_ioige ioige_end() const
void set_name(std::string name)
rep::iterator_ioige iterator_ioige
smart_pointer< rep > base
const geo_element_indirect & oige(size_type ioige) const
rep::const_iterator_ioige const_iterator_ioige
size_type dis_size() const
idiststream & get(idiststream &ips, const geo_rep< T, sequential > &omega, std::vector< index_set > *ball)
domain_indirect_rep< sequential > rep
const_iterator_ioige ioige_begin() const
size_type map_dimension() const
const distributor & ownership() const
the finite element boundary domain
size_type ioige2ini_dis_ioige(size_type ioige) const
disarray< size_type, distributed > _ioige2ini_dis_ioige
size_type dis_size() const
void set_map_dimension(size_type map_dim)
disarray< size_type, distributed > _ini_ioige2dis_ioige
size_type ini_ioige2dis_ioige(size_type ini_ioige) const
base::const_iterator_ioige const_iterator_ioige
size_type map_dimension() const
base::size_type size_type
void set_name(std::string name)
domain_indirect_base_rep< distributed > base
const distributor & ini_ownership() const
base::orientation_type orientation_type
const geo_element_indirect & oige(size_type ioige) const
void init_ios(const geo_abstract_rep< T, distributed > &omega)
base::iterator_ioige iterator_ioige
domain_indirect_rep(const std::string &name, size_type map_dim, const communicator &comm, const std::vector< size_type > &ie_list)
iterator_ioige ioige_begin()
size_type dis_size() const
domain_indirect_base_rep< sequential > base
void set_map_dimension(size_type map_dim)
base::const_iterator_ioige const_iterator_ioige
size_type map_dimension() const
base::size_type size_type
void set_name(std::string name)
const_iterator_ioige ioige_begin() const
const_iterator_ioige ioige_end() const
base::orientation_type orientation_type
const geo_element_indirect & oige(size_type ioige) const
iterator_ioige ioige_end()
base::iterator_ioige iterator_ioige
generic mesh with rerefence counting
short int orientation_type
sequential mesh representation
idiststream: see the diststream page for the full documentation
odiststream: see the diststream page for the full documentation
smart_pointer(domain_indirect_rep< sequential > *p=0)
domain_indirect_basic< rheo_default_memory_model > domain_indirect
This file is part of Rheolef.
void put(std::ostream &out, std::string name, const tiny_matrix< T > &a)
domain_indirect_basic< sequential > build_union(const geo_basic< T, sequential > &omega, const domain_indirect_basic< sequential > &a, const domain_indirect_basic< sequential > &b)