Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
geo_basic< T, distributed >

Detailed Description

template<class T>
class rheolef::geo_basic< T, distributed >

distributed mesh with rerefence counting

Definition at line 1367 of file geo.h.

+ Inheritance diagram for geo_basic< T, distributed >:

Public Types

typedef distributed memory_type
 
typedef geo_abstract_rep< T, distributedrep
 
typedef geo_rep< T, distributedrep_geo_rep
 
typedef smart_pointer_clone< repbase
 
typedef rep::size_type size_type
 
typedef rep::node_type node_type
 
typedef rep::variant_type variant_type
 
typedef rep::node_map_type node_map_type
 
typedef rep::reference reference
 
typedef rep::const_reference const_reference
 
typedef rep::iterator iterator
 
typedef rep::const_iterator const_iterator
 
typedef rep::iterator_by_variant iterator_by_variant
 
typedef rep::const_iterator_by_variant const_iterator_by_variant
 
typedef rep::coordinate_type coordinate_type
 
typedef rep::geo_element_map_type geo_element_map_type
 
- Public Types inherited from smart_pointer_clone< geo_abstract_rep< T, distributed > >
typedef geo_abstract_rep< T, distributedhandled_type
 
typedef base::internal internal
 

Public Member Functions

 geo_basic ()
 
 geo_basic (std::string name, const communicator &comm=communicator())
 
void load (std::string name, const communicator &comm=communicator())
 
 geo_basic (const domain_indirect_basic< distributed > &dom, const geo_basic< T, distributed > &omega)
 
 geo_basic (details::zero_dimension, const communicator &comm=communicator())
 
 geo_basic (const geo_basic< T, distributed > &lambda, const disarray< point_basic< T >, distributed > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, distributed >, reference_element::max_variant > &elt_list)
 
std::string name () const
 
std::string familyname () const
 
size_type dimension () const
 
size_type map_dimension () const
 
bool is_broken () const
 
size_type serial_number () const
 
size_type variant () const
 
coordinate_type coordinate_system () const
 
std::string coordinate_system_name () const
 
const basis_basic< T > & get_piola_basis () const
 
size_type order () const
 
const node_typexmin () const
 
const node_typexmax () const
 
const Thmin () const
 
const Thmax () const
 
const distributorgeo_element_ownership (size_type dim) const
 
const geo_sizesizes () const
 
const geo_sizeios_sizes () const
 
const_reference get_geo_element (size_type dim, size_type ige) const
 
const_reference dis_get_geo_element (size_type dim, size_type dis_ige) const
 
const geo_elementbgd2dom_geo_element (const geo_element &bgd_K) const
 
const geo_elementdom2bgd_geo_element (const geo_element &dom_K) const
 
size_type neighbour (size_type ie, size_type loc_isid) const
 
void neighbour_guard () const
 
distributor geo_element_ios_ownership (size_type dim) const
 
size_type ige2ios_dis_ige (size_type dim, size_type ige) const
 
size_type dis_ige2ios_dis_ige (size_type dim, size_type dis_ige) const
 
size_type ios_ige2dis_ige (size_type dim, size_type ios_ige) const
 
size_type n_node () const
 
const node_typenode (size_type inod) const
 
const node_typedis_node (size_type dis_inod) const
 
void dis_inod (const geo_element &K, std::vector< size_type > &dis_inod) const
 
const disarray< node_type, distributed > & get_nodes () const
 
size_type n_domain_indirect () const
 
bool have_domain_indirect (const std::string &name) const
 
const domain_indirect_basic< distributed > & get_domain_indirect (size_type i) const
 
const domain_indirect_basic< distributed > & get_domain_indirect (const std::string &name) const
 
void insert_domain_indirect (const domain_indirect_basic< distributed > &dom) const
 
size_type n_domain () const
 
geo_basic< T, distributedget_domain (size_type i) const
 
geo_basic< T, distributedoperator[] (const std::string &name) const
 
geo_basic< T, distributedboundary () const
 
geo_basic< T, distributedinternal_sides () const
 
geo_basic< T, distributedsides () const
 
size_type seq_locate (const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
 
size_type dis_locate (const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
 
void locate (const disarray< point_basic< T >, distributed > &x, disarray< size_type, distributed > &dis_ie) const
 
size_type seq_trace_move (const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
 
size_type dis_trace_move (const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
 
void trace_ray_boundary (const disarray< point_basic< T >, distributed > &x, const disarray< point_basic< T >, distributed > &v, disarray< size_type, distributed > &dis_ie, disarray< point_basic< T >, distributed > &y) const
 
void trace_move (const disarray< point_basic< T >, distributed > &x, const disarray< point_basic< T >, distributed > &v, disarray< size_type, distributed > &dis_ie, disarray< point_basic< T >, distributed > &y) const
 
size_type seq_nearest (const point_basic< T > &x, point_basic< T > &x_nearest) const
 
size_type dis_nearest (const point_basic< T > &x, point_basic< T > &x_nearest) const
 
void nearest (const disarray< point_basic< T >, distributed > &x, disarray< point_basic< T >, distributed > &x_nearest, disarray< size_type, distributed > &dis_ie) const
 
void set_nodes (const disarray< node_type, distributed > &x)
 
void reset_order (size_type order)
 
size_type dis_inod2dis_iv (size_type dis_inod) const
 
void set_coordinate_system (coordinate_type sys_coord)
 
void set_coordinate_system (std::string sys_coord_name)
 
void set_dimension (size_type dim)
 
void set_serial_number (size_type i)
 
void set_name (std::string name)
 
void build_by_subdividing (const geo_basic< T, distributed > &omega, size_type k)
 
size_type size (size_type dim) const
 
size_type dis_size (size_type dim) const
 
const communicatorcomm () const
 
size_type size () const
 
size_type dis_size () const
 
size_type n_vertex () const
 
size_type dis_n_vertex () const
 
const_reference operator[] (size_type ie) const
 
const_iterator begin (size_type dim) const
 
const_iterator end (size_type dim) const
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator_by_variant begin_by_variant (variant_type variant) const
 
const_iterator_by_variant end_by_variant (variant_type variant) const
 
const geo_element_map_typeget_external_geo_element_map (size_type variant) const
 
const geo_basic< T, distributed > & get_background_geo () const
 
geo_basic< T, distributedget_background_domain () const
 
bool operator== (const geo_basic< T, distributed > &omega2) const
 
odiststreamput (odiststream &ops) const
 
idiststreamget (idiststream &ips)
 
void save (std::string filename="") const
 
bool check (bool verbose=true) const
 
void set_ios_permutation (disarray< size_type, distributed > &idof2ios_dis_idof) const
 
const std::array< disarray< size_type, distributed >, reference_element::max_variant > & get_igev2ios_dis_igev () const
 
- Public Member Functions inherited from smart_pointer_clone< geo_abstract_rep< T, distributed > >
 smart_pointer_clone (geo_abstract_rep< T, distributed > *p=0)
 
 smart_pointer_clone (void *count, internal i)
 
 smart_pointer_clone (const smart_pointer_clone< geo_abstract_rep< T, distributed > > &x)
 
smart_pointer_clone< geo_abstract_rep< T, distributed > > & operator= (const smart_pointer_clone< geo_abstract_rep< T, distributed > > &x)
 
 ~smart_pointer_clone ()
 
- Public Member Functions inherited from smart_pointer_base< T, C >
 smart_pointer_base (T *p=0)
 
 smart_pointer_base (const smart_pointer_base< T, C > &)
 
 smart_pointer_base (void *count, internal)
 
smart_pointer_base< T, C > & operator= (const smart_pointer_base< T, C > &)
 
 ~smart_pointer_base ()
 
const Tpointer () const
 
const Tdata () const
 
const Toperator-> () const
 
const Toperator* () const
 
Tpointer ()
 
Tdata ()
 
Toperator-> ()
 
Toperator* ()
 
int reference_counter () const
 
counter * get_count () const
 

Member Typedef Documentation

◆ memory_type

template<class T >
typedef distributed memory_type

Definition at line 1372 of file geo.h.

◆ rep

template<class T >
typedef geo_abstract_rep<T,distributed> rep

Definition at line 1373 of file geo.h.

◆ rep_geo_rep

template<class T >
typedef geo_rep<T,distributed> rep_geo_rep

Definition at line 1374 of file geo.h.

◆ base

template<class T >
typedef smart_pointer_clone<rep> base

Definition at line 1375 of file geo.h.

◆ size_type

template<class T >
typedef rep::size_type size_type

Definition at line 1376 of file geo.h.

◆ node_type

template<class T >
typedef rep::node_type node_type

Definition at line 1377 of file geo.h.

◆ variant_type

template<class T >
typedef rep::variant_type variant_type

Definition at line 1378 of file geo.h.

◆ node_map_type

template<class T >
typedef rep::node_map_type node_map_type

Definition at line 1379 of file geo.h.

◆ reference

template<class T >
typedef rep::reference reference

Definition at line 1380 of file geo.h.

◆ const_reference

template<class T >
typedef rep::const_reference const_reference

Definition at line 1381 of file geo.h.

◆ iterator

template<class T >
typedef rep::iterator iterator

Definition at line 1382 of file geo.h.

◆ const_iterator

template<class T >
typedef rep::const_iterator const_iterator

Definition at line 1383 of file geo.h.

◆ iterator_by_variant

Definition at line 1384 of file geo.h.

◆ const_iterator_by_variant

Definition at line 1385 of file geo.h.

◆ coordinate_type

template<class T >
typedef rep::coordinate_type coordinate_type

Definition at line 1386 of file geo.h.

◆ geo_element_map_type

Definition at line 1387 of file geo.h.

Constructor & Destructor Documentation

◆ geo_basic() [1/5]

template<class T >
geo_basic ( )

Definition at line 1584 of file geo.h.

◆ geo_basic() [2/5]

template<class T >
geo_basic ( std::string  name,
const communicator comm = communicator() 
)

Definition at line 1590 of file geo.h.

◆ geo_basic() [3/5]

template<class T >
geo_basic ( const domain_indirect_basic< distributed > &  dom,
const geo_basic< T, distributed > &  omega 
)

◆ geo_basic() [4/5]

template<class T >
geo_basic ( details::zero_dimension  ,
const communicator comm = communicator() 
)

◆ geo_basic() [5/5]

template<class T >
geo_basic ( const geo_basic< T, distributed > &  lambda,
const disarray< point_basic< T >, distributed > &  node_list,
const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, distributed >, reference_element::max_variant > &  elt_list 
)

Definition at line 1398 of file geo.h.

Member Function Documentation

◆ load()

template<class T >
void load ( std::string  name,
const communicator comm = communicator() 
)

Definition at line 1598 of file geo.h.

◆ name()

template<class T >
std::string name ( ) const

Definition at line 1407 of file geo.h.

◆ familyname()

template<class T >
std::string familyname ( ) const

Definition at line 1408 of file geo.h.

◆ dimension()

template<class T >
size_type dimension ( ) const

Definition at line 1409 of file geo.h.

◆ map_dimension()

template<class T >
size_type map_dimension ( ) const

Definition at line 1410 of file geo.h.

◆ is_broken()

template<class T >
bool is_broken ( ) const

Definition at line 1411 of file geo.h.

◆ serial_number()

template<class T >
size_type serial_number ( ) const

Definition at line 1412 of file geo.h.

◆ variant()

template<class T >
size_type variant ( ) const

Definition at line 1413 of file geo.h.

◆ coordinate_system()

template<class T >
coordinate_type coordinate_system ( ) const

Definition at line 1414 of file geo.h.

◆ coordinate_system_name()

template<class T >
std::string coordinate_system_name ( ) const

Definition at line 1415 of file geo.h.

◆ get_piola_basis()

template<class T >
const basis_basic< T > & get_piola_basis ( ) const

Definition at line 1416 of file geo.h.

◆ order()

template<class T >
size_type order ( ) const

Definition at line 1417 of file geo.h.

◆ xmin()

template<class T >
const node_type & xmin ( ) const

Definition at line 1418 of file geo.h.

◆ xmax()

template<class T >
const node_type & xmax ( ) const

Definition at line 1419 of file geo.h.

◆ hmin()

template<class T >
const T & hmin ( ) const

Definition at line 1420 of file geo.h.

◆ hmax()

template<class T >
const T & hmax ( ) const

Definition at line 1421 of file geo.h.

◆ geo_element_ownership()

template<class T >
const distributor & geo_element_ownership ( size_type  dim) const

Definition at line 1422 of file geo.h.

◆ sizes()

template<class T >
const geo_size & sizes ( ) const

Definition at line 1424 of file geo.h.

◆ ios_sizes()

template<class T >
const geo_size & ios_sizes ( ) const

Definition at line 1425 of file geo.h.

◆ get_geo_element()

template<class T >
const_reference get_geo_element ( size_type  dim,
size_type  ige 
) const

Definition at line 1426 of file geo.h.

◆ dis_get_geo_element()

template<class T >
const_reference dis_get_geo_element ( size_type  dim,
size_type  dis_ige 
) const

Definition at line 1428 of file geo.h.

◆ bgd2dom_geo_element()

template<class T >
const geo_element & bgd2dom_geo_element ( const geo_element bgd_K) const

Definition at line 1430 of file geo.h.

◆ dom2bgd_geo_element()

template<class T >
const geo_element & dom2bgd_geo_element ( const geo_element dom_K) const

Definition at line 1432 of file geo.h.

◆ neighbour()

template<class T >
size_type neighbour ( size_type  ie,
size_type  loc_isid 
) const

Definition at line 1434 of file geo.h.

◆ neighbour_guard()

template<class T >
void neighbour_guard ( ) const

Definition at line 1436 of file geo.h.

◆ geo_element_ios_ownership()

template<class T >
distributor geo_element_ios_ownership ( size_type  dim) const

Definition at line 1437 of file geo.h.

◆ ige2ios_dis_ige()

template<class T >
size_type ige2ios_dis_ige ( size_type  dim,
size_type  ige 
) const

Definition at line 1439 of file geo.h.

◆ dis_ige2ios_dis_ige()

template<class T >
size_type dis_ige2ios_dis_ige ( size_type  dim,
size_type  dis_ige 
) const

Definition at line 1441 of file geo.h.

◆ ios_ige2dis_ige()

template<class T >
size_type ios_ige2dis_ige ( size_type  dim,
size_type  ios_ige 
) const

Definition at line 1443 of file geo.h.

◆ n_node()

template<class T >
size_type n_node ( ) const

Definition at line 1445 of file geo.h.

◆ node()

template<class T >
const node_type & node ( size_type  inod) const

Definition at line 1446 of file geo.h.

◆ dis_node()

template<class T >
const node_type & dis_node ( size_type  dis_inod) const

Definition at line 1447 of file geo.h.

◆ dis_inod()

template<class T >
void dis_inod ( const geo_element K,
std::vector< size_type > &  dis_inod 
) const

Definition at line 1448 of file geo.h.

◆ get_nodes()

template<class T >
const disarray< node_type, distributed > & get_nodes ( ) const

Definition at line 1450 of file geo.h.

◆ n_domain_indirect()

template<class T >
size_type n_domain_indirect ( ) const

Definition at line 1452 of file geo.h.

◆ have_domain_indirect()

template<class T >
bool have_domain_indirect ( const std::string &  name) const

Definition at line 1453 of file geo.h.

◆ get_domain_indirect() [1/2]

template<class T >
const domain_indirect_basic< distributed > & get_domain_indirect ( size_type  i) const

Definition at line 1454 of file geo.h.

◆ get_domain_indirect() [2/2]

template<class T >
const domain_indirect_basic< distributed > & get_domain_indirect ( const std::string &  name) const

Definition at line 1456 of file geo.h.

◆ insert_domain_indirect()

template<class T >
void insert_domain_indirect ( const domain_indirect_basic< distributed > &  dom) const

Definition at line 1458 of file geo.h.

◆ n_domain()

template<class T >
size_type n_domain ( ) const

Definition at line 1461 of file geo.h.

◆ get_domain()

template<class T >
geo_basic< T, distributed > get_domain ( size_type  i) const

◆ operator[]() [1/2]

template<class T >
geo_basic< T, distributed > operator[] ( const std::string &  name) const

◆ boundary()

template<class T >
geo_basic< T, distributed > boundary ( ) const

Definition at line 1616 of file geo.h.

◆ internal_sides()

template<class T >
geo_basic< T, distributed > internal_sides ( ) const

Definition at line 1624 of file geo.h.

◆ sides()

template<class T >
geo_basic< T, distributed > sides ( ) const

Definition at line 1632 of file geo.h.

◆ seq_locate()

template<class T >
size_type seq_locate ( const point_basic< T > &  x,
size_type  dis_ie_guest = std::numeric_limits<size_type>::max() 
) const

Definition at line 1468 of file geo.h.

◆ dis_locate()

template<class T >
size_type dis_locate ( const point_basic< T > &  x,
size_type  dis_ie_guest = std::numeric_limits<size_type>::max() 
) const

Definition at line 1472 of file geo.h.

◆ locate()

template<class T >
void locate ( const disarray< point_basic< T >, distributed > &  x,
disarray< size_type, distributed > &  dis_ie 
) const

Definition at line 1476 of file geo.h.

◆ seq_trace_move()

template<class T >
size_type seq_trace_move ( const point_basic< T > &  x,
const point_basic< T > &  v,
point_basic< T > &  y 
) const

Definition at line 1478 of file geo.h.

◆ dis_trace_move()

template<class T >
size_type dis_trace_move ( const point_basic< T > &  x,
const point_basic< T > &  v,
point_basic< T > &  y 
) const

Definition at line 1483 of file geo.h.

◆ trace_ray_boundary()

template<class T >
void trace_ray_boundary ( const disarray< point_basic< T >, distributed > &  x,
const disarray< point_basic< T >, distributed > &  v,
disarray< size_type, distributed > &  dis_ie,
disarray< point_basic< T >, distributed > &  y 
) const

Definition at line 1488 of file geo.h.

◆ trace_move()

template<class T >
void trace_move ( const disarray< point_basic< T >, distributed > &  x,
const disarray< point_basic< T >, distributed > &  v,
disarray< size_type, distributed > &  dis_ie,
disarray< point_basic< T >, distributed > &  y 
) const

Definition at line 1494 of file geo.h.

◆ seq_nearest()

template<class T >
size_type seq_nearest ( const point_basic< T > &  x,
point_basic< T > &  x_nearest 
) const

Definition at line 1500 of file geo.h.

◆ dis_nearest()

template<class T >
size_type dis_nearest ( const point_basic< T > &  x,
point_basic< T > &  x_nearest 
) const

Definition at line 1504 of file geo.h.

◆ nearest()

template<class T >
void nearest ( const disarray< point_basic< T >, distributed > &  x,
disarray< point_basic< T >, distributed > &  x_nearest,
disarray< size_type, distributed > &  dis_ie 
) const

Definition at line 1508 of file geo.h.

◆ set_nodes()

template<class T >
void set_nodes ( const disarray< node_type, distributed > &  x)

◆ reset_order()

template<class T >
void reset_order ( size_type  order)

◆ dis_inod2dis_iv()

template<class T >
size_type dis_inod2dis_iv ( size_type  dis_inod) const

Definition at line 1517 of file geo.h.

◆ set_coordinate_system() [1/2]

template<class T >
void set_coordinate_system ( coordinate_type  sys_coord)

◆ set_coordinate_system() [2/2]

template<class T >
void set_coordinate_system ( std::string  sys_coord_name)

Definition at line 1519 of file geo.h.

◆ set_dimension()

template<class T >
void set_dimension ( size_type  dim)

◆ set_serial_number()

template<class T >
void set_serial_number ( size_type  i)

◆ set_name()

template<class T >
void set_name ( std::string  name)

◆ build_by_subdividing()

template<class T >
void build_by_subdividing ( const geo_basic< T, distributed > &  omega,
size_type  k 
)

◆ size() [1/2]

template<class T >
size_type size ( size_type  dim) const

Definition at line 1527 of file geo.h.

◆ dis_size() [1/2]

template<class T >
size_type dis_size ( size_type  dim) const

Definition at line 1528 of file geo.h.

◆ comm()

template<class T >
const communicator & comm ( ) const

Definition at line 1529 of file geo.h.

◆ size() [2/2]

template<class T >
size_type size ( ) const

Definition at line 1530 of file geo.h.

◆ dis_size() [2/2]

template<class T >
size_type dis_size ( ) const

Definition at line 1531 of file geo.h.

◆ n_vertex()

template<class T >
size_type n_vertex ( ) const

Definition at line 1532 of file geo.h.

◆ dis_n_vertex()

template<class T >
size_type dis_n_vertex ( ) const

Definition at line 1533 of file geo.h.

◆ operator[]() [2/2]

template<class T >
const_reference operator[] ( size_type  ie) const

Definition at line 1534 of file geo.h.

◆ begin() [1/2]

template<class T >
const_iterator begin ( size_type  dim) const

Definition at line 1537 of file geo.h.

◆ end() [1/2]

template<class T >
const_iterator end ( size_type  dim) const

Definition at line 1538 of file geo.h.

◆ begin() [2/2]

template<class T >
const_iterator begin ( ) const

Definition at line 1539 of file geo.h.

◆ end() [2/2]

template<class T >
const_iterator end ( ) const

Definition at line 1540 of file geo.h.

◆ begin_by_variant()

template<class T >
const_iterator_by_variant begin_by_variant ( variant_type  variant) const

Definition at line 1542 of file geo.h.

◆ end_by_variant()

template<class T >
const_iterator_by_variant end_by_variant ( variant_type  variant) const

Definition at line 1544 of file geo.h.

◆ get_external_geo_element_map()

template<class T >
const geo_element_map_type & get_external_geo_element_map ( size_type  variant) const

Definition at line 1546 of file geo.h.

◆ get_background_geo()

template<class T >
const geo_basic< T, distributed > & get_background_geo ( ) const

◆ get_background_domain()

template<class T >
geo_basic< T, distributed > get_background_domain ( ) const

◆ operator==()

template<class T >
bool operator== ( const geo_basic< T, distributed > &  omega2) const

Definition at line 1554 of file geo.h.

◆ put()

template<class T >
odiststream & put ( odiststream ops) const

Definition at line 1558 of file geo.h.

◆ get()

template<class T >
idiststream & get ( idiststream ips)

Definition at line 1605 of file geo.h.

◆ save()

template<class T >
void save ( std::string  filename = "") const

◆ check()

template<class T >
bool check ( bool  verbose = true) const

Definition at line 1561 of file geo.h.

◆ set_ios_permutation()

template<class T >
void set_ios_permutation ( disarray< size_type, distributed > &  idof2ios_dis_idof) const

Definition at line 1565 of file geo.h.

◆ get_igev2ios_dis_igev()

template<class T >
const std::array< disarray< size_type, distributed >, reference_element::max_variant > & get_igev2ios_dis_igev ( ) const

Definition at line 1570 of file geo.h.


The documentation for this class was generated from the following file: