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

Detailed Description

template<class T, class M>
class rheolef::geo_base_rep< T, M >

base class for M=sequential or distributed meshes representations

Definition at line 528 of file geo.h.

+ Inheritance diagram for geo_base_rep< T, M >:

Public Types

typedef geo_abstract_rep< T, Mbase
 
typedef base::size_type size_type
 
typedef base::node_type node_type
 
typedef base::variant_type variant_type
 
typedef base::iterator iterator
 
typedef base::const_iterator const_iterator
 
typedef base::iterator_by_variant iterator_by_variant
 
typedef base::const_iterator_by_variant const_iterator_by_variant
 
typedef base::reference reference
 
typedef base::const_reference const_reference
 
typedef base::coordinate_type coordinate_type
 
typedef std::unordered_map< std::string, void * > loaded_map_t
 

Public Member Functions

 geo_base_rep ()
 
 geo_base_rep (const geo_base_rep< T, M > &)
 
void build_from_list (const geo_basic< T, M > &lambda, const disarray< point_basic< T >, M > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, M >, reference_element::max_variant > &elt_list)
 
 ~geo_base_rep ()
 
size_type variant () const
 
std::string familyname () const
 
std::string name () const
 
size_type serial_number () const
 
size_type dimension () const
 
size_type map_dimension () const
 
bool is_broken () const
 
coordinate_type coordinate_system () const
 
void set_coordinate_system (coordinate_type sys_coord)
 
void set_name (std::string name)
 
void set_dimension (size_type dim)
 
void set_serial_number (size_type i)
 
const basis_basic< T > & get_piola_basis () const
 
const node_typexmin () const
 
const node_typexmax () const
 
const Thmin () const
 
const Thmax () const
 
const geo_sizesizes () const
 
const geo_sizeios_sizes () const
 
const distributorgeo_element_ownership (size_type dim) 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_iterator_by_variant begin_by_variant (variant_type variant) const
 
iterator_by_variant begin_by_variant (variant_type variant)
 
const_iterator_by_variant end_by_variant (variant_type variant) const
 
iterator_by_variant end_by_variant (variant_type variant)
 
const node_typenode (size_type inod) const
 
const node_typedis_node (size_type dis_inod) const
 
const node_typenode (const geo_element &K, size_type loc_inod) const
 
void dis_inod (const geo_element &K, std::vector< size_type > &dis_inod) const
 
const disarray< node_type, M > & get_nodes () const
 
void set_nodes (const disarray< node_type, M > &x)
 
size_type n_domain_indirect () const
 
bool have_domain_indirect (const std::string &name) const
 
const domain_indirect_basic< M > & get_domain_indirect (size_type i) const
 
const domain_indirect_basic< M > & get_domain_indirect (const std::string &name) const
 
void insert_domain_indirect (const domain_indirect_basic< M > &dom) 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
 
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
 
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
 
size_type neighbour (size_type ie, size_type loc_isid) const
 
void neighbour_guard () const
 
reference get_geo_element (size_type dim, size_type ige)
 
iterator begin (size_type dim)
 iterator by dimension: wraps iterator by geo_element variant
 
iterator end (size_type dim)
 
size_type size (size_type dim) const
 
size_type dis_size (size_type dim) const
 
const distributorownership () const
 
const distributorvertex_ownership () const
 
const communicatorcomm () const
 
size_type order () const
 
size_type n_node () const
 
size_type dis_n_node () const
 
size_type n_vertex () const
 
size_type size () const
 
size_type dis_n_vertex () const
 
size_type dis_size () const
 
size_type dis_n_edge () const
 
size_type dis_n_face () const
 
size_type dis_inod2dis_iv (size_type dis_inod) const
 
size_type dis_iv2dis_inod (size_type dis_iv) const
 
const_reference operator[] (size_type ie) const
 
reference operator[] (size_type ie)
 
const_iterator begin (size_type dim) const
 
const_iterator end (size_type dim) const
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator begin_edge () const
 
const_iterator end_edge () const
 
const_iterator begin_face () const
 
const_iterator end_face () const
 

Static Public Member Functions

static loaded_map_tloaded_map ()
 

Protected Member Functions

void compute_bbox ()
 
void init_neighbour () const
 

Protected Attributes

std::string _name
 
size_type _version
 
size_type _serial_number
 
std::array< hack_array< geo_element_hack, M >, reference_element::max_variant_geo_element
 
geo_size _gs
 
std::vector< domain_indirect_basic< M > > _domains
 
bool _have_connectivity
 
bool _have_neighbour
 
disarray< node_type, M_node
 
size_type _dimension
 
coordinate_type _sys_coord
 
node_type _xmin
 
node_type _xmax
 
T _hmin
 
T _hmax
 
basis_basic< T_piola_basis
 
geo_locate< T, M_locator
 
geo_trace_ray_boundary< T, M_tracer_ray_boundary
 
geo_nearest< T, M_nearestor
 

Static Protected Attributes

static loaded_map_t _loaded_map
 

Member Typedef Documentation

◆ base

template<class T , class M >
typedef geo_abstract_rep<T,M> base

Definition at line 532 of file geo.h.

◆ size_type

template<class T , class M >
typedef base::size_type size_type

Definition at line 533 of file geo.h.

◆ node_type

template<class T , class M >
typedef base::node_type node_type

Definition at line 534 of file geo.h.

◆ variant_type

template<class T , class M >
typedef base::variant_type variant_type

Definition at line 535 of file geo.h.

◆ iterator

template<class T , class M >
typedef base::iterator iterator

Definition at line 536 of file geo.h.

◆ const_iterator

template<class T , class M >
typedef base::const_iterator const_iterator

Definition at line 537 of file geo.h.

◆ iterator_by_variant

template<class T , class M >
typedef base::iterator_by_variant iterator_by_variant

Definition at line 538 of file geo.h.

◆ const_iterator_by_variant

template<class T , class M >
typedef base::const_iterator_by_variant const_iterator_by_variant

Definition at line 539 of file geo.h.

◆ reference

template<class T , class M >
typedef base::reference reference

Definition at line 540 of file geo.h.

◆ const_reference

template<class T , class M >
typedef base::const_reference const_reference

Definition at line 541 of file geo.h.

◆ coordinate_type

template<class T , class M >
typedef base::coordinate_type coordinate_type

Definition at line 542 of file geo.h.

◆ loaded_map_t

template<class T , class M >
typedef std::unordered_map<std::string,void*> loaded_map_t

Definition at line 698 of file geo.h.

Constructor & Destructor Documentation

◆ geo_base_rep() [1/2]

template<class T , class M >
geo_base_rep ( )

Definition at line 36 of file geo.cc.

◆ geo_base_rep() [2/2]

template<class T , class M >
geo_base_rep ( const geo_base_rep< T, M > &  o)

Definition at line 60 of file geo.cc.

◆ ~geo_base_rep()

template<class T , class M >
class M ~geo_base_rep ( )

Definition at line 388 of file geo.cc.

Member Function Documentation

◆ build_from_list()

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

Definition at line 36 of file geo_build_from_list.cc.

◆ variant()

template<class T , class M >
size_type variant ( ) const

Definition at line 559 of file geo.h.

◆ familyname()

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

Definition at line 560 of file geo.h.

◆ name()

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

Definition at line 408 of file geo.cc.

◆ serial_number()

template<class T , class M >
size_type serial_number ( ) const

Definition at line 562 of file geo.h.

◆ dimension()

template<class T , class M >
size_type dimension ( ) const

Definition at line 563 of file geo.h.

◆ map_dimension()

template<class T , class M >
size_type map_dimension ( ) const

Definition at line 564 of file geo.h.

◆ is_broken()

template<class T , class M >
bool is_broken ( ) const

Definition at line 565 of file geo.h.

◆ coordinate_system()

template<class T , class M >
coordinate_type coordinate_system ( ) const

Definition at line 566 of file geo.h.

◆ set_coordinate_system()

template<class T , class M >
void set_coordinate_system ( coordinate_type  sys_coord)

Definition at line 567 of file geo.h.

◆ set_name()

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

Definition at line 568 of file geo.h.

◆ set_dimension()

template<class T , class M >
void set_dimension ( size_type  dim)

Definition at line 569 of file geo.h.

◆ set_serial_number()

template<class T , class M >
void set_serial_number ( size_type  i)

Definition at line 570 of file geo.h.

◆ get_piola_basis()

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

Definition at line 571 of file geo.h.

◆ xmin()

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

Definition at line 572 of file geo.h.

◆ xmax()

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

Definition at line 573 of file geo.h.

◆ hmin()

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

Definition at line 574 of file geo.h.

◆ hmax()

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

Definition at line 575 of file geo.h.

◆ sizes()

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

Definition at line 576 of file geo.h.

◆ ios_sizes()

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

Definition at line 577 of file geo.h.

◆ geo_element_ownership()

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

Definition at line 579 of file geo.h.

◆ get_geo_element() [1/2]

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

Definition at line 533 of file geo.cc.

◆ dis_get_geo_element()

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

Definition at line 582 of file geo.cc.

◆ begin_by_variant() [1/2]

template<class T , class M >
geo_base_rep< T, M >::const_iterator_by_variant begin_by_variant ( variant_type  variant) const

Definition at line 720 of file geo.h.

◆ begin_by_variant() [2/2]

template<class T , class M >
geo_base_rep< T, M >::iterator_by_variant begin_by_variant ( variant_type  variant)

Definition at line 714 of file geo.h.

◆ end_by_variant() [1/2]

template<class T , class M >
geo_base_rep< T, M >::const_iterator_by_variant end_by_variant ( variant_type  variant) const

Definition at line 732 of file geo.h.

◆ end_by_variant() [2/2]

template<class T , class M >
geo_base_rep< T, M >::iterator_by_variant end_by_variant ( variant_type  variant)

Definition at line 726 of file geo.h.

◆ node() [1/2]

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

Definition at line 588 of file geo.h.

◆ dis_node()

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

Definition at line 589 of file geo.h.

◆ node() [2/2]

template<class T , class M >
const node_type & node ( const geo_element K,
size_type  loc_inod 
) const

◆ dis_inod()

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

Definition at line 478 of file geo.cc.

◆ get_nodes()

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

Definition at line 592 of file geo.h.

◆ set_nodes()

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

Definition at line 594 of file geo.h.

◆ n_domain_indirect()

template<class T , class M >
size_type n_domain_indirect ( ) const

Definition at line 595 of file geo.h.

◆ have_domain_indirect()

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

Definition at line 417 of file geo.cc.

◆ get_domain_indirect() [1/2]

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

Definition at line 597 of file geo.h.

◆ get_domain_indirect() [2/2]

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

Definition at line 428 of file geo.cc.

◆ insert_domain_indirect()

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

Definition at line 440 of file geo.cc.

◆ seq_locate()

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

Definition at line 405 of file geo_locate.cc.

◆ dis_locate()

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

Definition at line 413 of file geo_locate.cc.

◆ seq_trace_move()

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

Definition at line 45 of file geo_trace_move.cc.

◆ dis_trace_move()

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

Definition at line 83 of file geo_trace_move.cc.

◆ seq_nearest()

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

Definition at line 331 of file geo_nearest.cc.

◆ dis_nearest()

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

Definition at line 339 of file geo_nearest.cc.

◆ neighbour()

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

Definition at line 234 of file geo_neighbour.cc.

◆ neighbour_guard()

template<class T , class M >
void neighbour_guard ( ) const

Definition at line 706 of file geo.h.

◆ get_geo_element() [2/2]

template<class T , class M >
geo_base_rep< T, M >::reference get_geo_element ( size_type  dim,
size_type  ige 
)

Definition at line 547 of file geo.cc.

◆ begin() [1/3]

template<class T , class M >
geo_base_rep< T, M >::iterator begin ( size_type  dim)

iterator by dimension: wraps iterator by geo_element variant

Definition at line 740 of file geo.h.

◆ end() [1/3]

template<class T , class M >
geo_base_rep< T, M >::iterator end ( size_type  dim)

Definition at line 750 of file geo.h.

◆ size() [1/2]

template<class T , class M >
geo_base_rep< T, M >::size_type size ( size_type  dim) const

Definition at line 456 of file geo.cc.

◆ dis_size() [1/2]

template<class T , class M >
geo_base_rep< T, M >::size_type dis_size ( size_type  dim) const

Definition at line 467 of file geo.cc.

◆ ownership()

template<class T , class M >
const distributor & ownership ( ) const

Definition at line 635 of file geo.h.

◆ vertex_ownership()

template<class T , class M >
const distributor & vertex_ownership ( ) const

Definition at line 636 of file geo.h.

◆ comm()

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

Definition at line 637 of file geo.h.

◆ order()

template<class T , class M >
size_type order ( ) const

Definition at line 638 of file geo.h.

◆ n_node()

template<class T , class M >
size_type n_node ( ) const

Definition at line 640 of file geo.h.

◆ dis_n_node()

template<class T , class M >
size_type dis_n_node ( ) const

Definition at line 641 of file geo.h.

◆ n_vertex()

template<class T , class M >
size_type n_vertex ( ) const

Definition at line 642 of file geo.h.

◆ size() [2/2]

template<class T , class M >
size_type size ( ) const

Definition at line 643 of file geo.h.

◆ dis_n_vertex()

template<class T , class M >
size_type dis_n_vertex ( ) const

Definition at line 644 of file geo.h.

◆ dis_size() [2/2]

template<class T , class M >
size_type dis_size ( ) const

Definition at line 645 of file geo.h.

◆ dis_n_edge()

template<class T , class M >
size_type dis_n_edge ( ) const

Definition at line 646 of file geo.h.

◆ dis_n_face()

template<class T , class M >
size_type dis_n_face ( ) const

Definition at line 647 of file geo.h.

◆ dis_inod2dis_iv()

template<class T , class M >
geo_base_rep< T, M >::size_type dis_inod2dis_iv ( size_type  dis_inod) const

Definition at line 565 of file geo.cc.

◆ dis_iv2dis_inod()

template<class T , class M >
geo_base_rep< T, M >::size_type dis_iv2dis_inod ( size_type  dis_iv) const

Definition at line 572 of file geo.cc.

◆ operator[]() [1/2]

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

Definition at line 651 of file geo.h.

◆ operator[]() [2/2]

template<class T , class M >
reference operator[] ( size_type  ie)

Definition at line 652 of file geo.h.

◆ begin() [2/3]

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

Definition at line 654 of file geo.h.

◆ end() [2/3]

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

Definition at line 655 of file geo.h.

◆ begin() [3/3]

template<class T , class M >
const_iterator begin ( ) const

Definition at line 657 of file geo.h.

◆ end() [3/3]

template<class T , class M >
const_iterator end ( ) const

Definition at line 658 of file geo.h.

◆ begin_edge()

template<class T , class M >
const_iterator begin_edge ( ) const

Definition at line 660 of file geo.h.

◆ end_edge()

template<class T , class M >
const_iterator end_edge ( ) const

Definition at line 661 of file geo.h.

◆ begin_face()

template<class T , class M >
const_iterator begin_face ( ) const

Definition at line 662 of file geo.h.

◆ end_face()

template<class T , class M >
const_iterator end_face ( ) const

Definition at line 663 of file geo.h.

◆ compute_bbox()

template<class T , class M >
void compute_bbox ( )
protected

Definition at line 486 of file geo.cc.

◆ init_neighbour()

template<class T , class M >
void init_neighbour ( ) const
protected

Definition at line 83 of file geo_neighbour.cc.

◆ loaded_map()

template<class T , class M >
geo_base_rep< T, M >::loaded_map_t & loaded_map ( )
static

Definition at line 151 of file geo.cc.

Member Data Documentation

◆ _name

template<class T , class M >
std::string _name
protected

Definition at line 674 of file geo.h.

◆ _version

template<class T , class M >
size_type _version
protected

Definition at line 675 of file geo.h.

◆ _serial_number

template<class T , class M >
size_type _serial_number
protected

Definition at line 676 of file geo.h.

◆ _geo_element

template<class T , class M >
std::array<hack_array<geo_element_hack,M>, reference_element::max_variant> _geo_element
protected

Definition at line 678 of file geo.h.

◆ _gs

template<class T , class M >
geo_size _gs
protected

Definition at line 679 of file geo.h.

◆ _domains

template<class T , class M >
std::vector<domain_indirect_basic<M> > _domains
mutableprotected

Definition at line 680 of file geo.h.

◆ _have_connectivity

template<class T , class M >
bool _have_connectivity
protected

Definition at line 681 of file geo.h.

◆ _have_neighbour

template<class T , class M >
bool _have_neighbour
mutableprotected

Definition at line 682 of file geo.h.

◆ _node

template<class T , class M >
disarray<node_type, M> _node
protected

Definition at line 684 of file geo.h.

◆ _dimension

template<class T , class M >
size_type _dimension
protected

Definition at line 685 of file geo.h.

◆ _sys_coord

template<class T , class M >
coordinate_type _sys_coord
protected

Definition at line 686 of file geo.h.

◆ _xmin

template<class T , class M >
node_type _xmin
protected

Definition at line 687 of file geo.h.

◆ _xmax

template<class T , class M >
node_type _xmax
protected

Definition at line 688 of file geo.h.

◆ _hmin

template<class T , class M >
T _hmin
protected

Definition at line 689 of file geo.h.

◆ _hmax

template<class T , class M >
T _hmax
protected

Definition at line 690 of file geo.h.

◆ _piola_basis

template<class T , class M >
basis_basic<T> _piola_basis
protected

Definition at line 691 of file geo.h.

◆ _locator

template<class T , class M >
geo_locate<T,M> _locator
protected

Definition at line 692 of file geo.h.

◆ _tracer_ray_boundary

template<class T , class M >
geo_trace_ray_boundary<T,M> _tracer_ray_boundary
protected

Definition at line 693 of file geo.h.

◆ _nearestor

template<class T , class M >
geo_nearest<T,M> _nearestor
protected

Definition at line 694 of file geo.h.

◆ _loaded_map

template<class T , class M >
geo_base_rep< T, M >::loaded_map_t _loaded_map
staticprotected

Definition at line 701 of file geo.h.


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