Rheolef  7.1
an efficient C++ finite element environment
geo_base_rep< T, M >

base class for M=sequential or distributed meshes representations More...

+ 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 More...
 
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 communicator & comm () 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
 

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.

Member Typedef Documentation

◆ base

Definition at line 532 of file geo.h.

◆ size_type

typedef base::size_type size_type

Definition at line 533 of file geo.h.

◆ node_type

typedef base::node_type node_type

Definition at line 534 of file geo.h.

◆ variant_type

typedef base::variant_type variant_type

Definition at line 535 of file geo.h.

◆ iterator

typedef base::iterator iterator

Definition at line 536 of file geo.h.

◆ const_iterator

typedef base::const_iterator const_iterator

Definition at line 537 of file geo.h.

◆ iterator_by_variant

typedef base::iterator_by_variant iterator_by_variant

Definition at line 538 of file geo.h.

◆ const_iterator_by_variant

typedef base::const_iterator_by_variant const_iterator_by_variant

Definition at line 539 of file geo.h.

◆ reference

typedef base::reference reference

Definition at line 540 of file geo.h.

◆ const_reference

typedef base::const_reference const_reference

Definition at line 541 of file geo.h.

◆ coordinate_type

typedef base::coordinate_type coordinate_type

Definition at line 542 of file geo.h.

◆ loaded_map_t

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]

Definition at line 36 of file geo.cc.

◆ geo_base_rep() [2/2]

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

Definition at line 60 of file geo.cc.

◆ ~geo_base_rep()

class M ~geo_base_rep ( )

Definition at line 328 of file geo.cc.

Member Function Documentation

◆ build_from_list()

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()

size_type variant ( ) const

Definition at line 559 of file geo.h.

◆ familyname()

std::string familyname ( ) const

Definition at line 560 of file geo.h.

◆ name()

std::string name

Definition at line 408 of file geo.cc.

◆ serial_number()

size_type serial_number ( ) const

Definition at line 562 of file geo.h.

◆ dimension()

size_type dimension ( ) const

Definition at line 563 of file geo.h.

◆ map_dimension()

size_type map_dimension ( ) const

Definition at line 564 of file geo.h.

◆ is_broken()

bool is_broken ( ) const

Definition at line 565 of file geo.h.

◆ coordinate_system()

coordinate_type coordinate_system ( ) const

Definition at line 566 of file geo.h.

◆ set_coordinate_system()

void set_coordinate_system ( coordinate_type  sys_coord)

Definition at line 567 of file geo.h.

◆ set_name()

void set_name ( std::string  name)

Definition at line 568 of file geo.h.

◆ set_dimension()

void set_dimension ( size_type  dim)

Definition at line 569 of file geo.h.

◆ set_serial_number()

void set_serial_number ( size_type  i)

Definition at line 570 of file geo.h.

◆ get_piola_basis()

const basis_basic<T>& get_piola_basis ( ) const

Definition at line 571 of file geo.h.

◆ xmin()

const node_type& xmin ( ) const

Definition at line 572 of file geo.h.

◆ xmax()

const node_type& xmax ( ) const

Definition at line 573 of file geo.h.

◆ hmin()

const T& hmin ( ) const

Definition at line 574 of file geo.h.

◆ hmax()

const T& hmax ( ) const

Definition at line 575 of file geo.h.

◆ sizes()

const geo_size& sizes ( ) const

Definition at line 576 of file geo.h.

◆ ios_sizes()

const geo_size& ios_sizes ( ) const

Definition at line 577 of file geo.h.

◆ geo_element_ownership()

const distributor& geo_element_ownership ( size_type  dim) const

Definition at line 579 of file geo.h.

◆ get_geo_element() [1/2]

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()

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]

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]

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]

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]

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]

const node_type& node ( size_type  inod) const

Definition at line 588 of file geo.h.

◆ dis_node()

const node_type& dis_node ( size_type  dis_inod) const

Definition at line 589 of file geo.h.

◆ node() [2/2]

const node_type& node ( const geo_element K,
size_type  loc_inod 
) const

◆ dis_inod()

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

Definition at line 478 of file geo.cc.

◆ get_nodes()

const disarray<node_type,M>& get_nodes ( ) const

Definition at line 592 of file geo.h.

◆ set_nodes()

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

Definition at line 594 of file geo.h.

◆ n_domain_indirect()

size_type n_domain_indirect ( ) const

Definition at line 595 of file geo.h.

◆ have_domain_indirect()

bool have_domain_indirect ( const std::string &  name) const

Definition at line 417 of file geo.cc.

◆ get_domain_indirect() [1/2]

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]

const domain_indirect_basic< M > & get_domain_indirect ( const std::string &  name) const

Definition at line 428 of file geo.cc.

◆ insert_domain_indirect()

void insert_domain_indirect ( const domain_indirect_basic< M > &  dom) const

Definition at line 440 of file geo.cc.

◆ seq_locate()

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 400 of file geo_locate.cc.

◆ dis_locate()

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 408 of file geo_locate.cc.

◆ seq_trace_move()

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()

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()

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()

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()

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()

void neighbour_guard

Definition at line 706 of file geo.h.

◆ get_geo_element() [2/2]

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]

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]

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

Definition at line 750 of file geo.h.

◆ size() [1/2]

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

Definition at line 456 of file geo.cc.

◆ dis_size() [1/2]

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

Definition at line 467 of file geo.cc.

◆ ownership()

const distributor& ownership ( ) const

Definition at line 635 of file geo.h.

◆ vertex_ownership()

const distributor& vertex_ownership ( ) const

Definition at line 636 of file geo.h.

◆ comm()

const communicator& comm ( ) const

Definition at line 637 of file geo.h.

◆ order()

size_type order ( ) const

Definition at line 638 of file geo.h.

◆ n_node()

size_type n_node ( ) const

Definition at line 640 of file geo.h.

◆ dis_n_node()

size_type dis_n_node ( ) const

Definition at line 641 of file geo.h.

◆ n_vertex()

size_type n_vertex ( ) const

Definition at line 642 of file geo.h.

◆ size() [2/2]

size_type size ( ) const

Definition at line 643 of file geo.h.

◆ dis_n_vertex()

size_type dis_n_vertex ( ) const

Definition at line 644 of file geo.h.

◆ dis_size() [2/2]

size_type dis_size ( ) const

Definition at line 645 of file geo.h.

◆ dis_n_edge()

size_type dis_n_edge ( ) const

Definition at line 646 of file geo.h.

◆ dis_n_face()

size_type dis_n_face ( ) const

Definition at line 647 of file geo.h.

◆ dis_inod2dis_iv()

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()

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]

const_reference operator[] ( size_type  ie) const

Definition at line 651 of file geo.h.

◆ operator[]() [2/2]

reference operator[] ( size_type  ie)

Definition at line 652 of file geo.h.

◆ begin() [2/3]

const_iterator begin ( size_type  dim) const

Definition at line 654 of file geo.h.

◆ end() [2/3]

const_iterator end ( size_type  dim) const

Definition at line 655 of file geo.h.

◆ begin() [3/3]

const_iterator begin ( ) const

Definition at line 657 of file geo.h.

◆ end() [3/3]

const_iterator end ( ) const

Definition at line 658 of file geo.h.

◆ begin_edge()

const_iterator begin_edge ( ) const

Definition at line 660 of file geo.h.

◆ end_edge()

const_iterator end_edge ( ) const

Definition at line 661 of file geo.h.

◆ begin_face()

const_iterator begin_face ( ) const

Definition at line 662 of file geo.h.

◆ end_face()

const_iterator end_face ( ) const

Definition at line 663 of file geo.h.

◆ compute_bbox()

void compute_bbox
protected

Definition at line 486 of file geo.cc.

◆ init_neighbour()

void init_neighbour
protected

Definition at line 83 of file geo_neighbour.cc.

◆ loaded_map()

geo_base_rep< T, M >::loaded_map_t & loaded_map
static

Definition at line 151 of file geo.cc.

Member Data Documentation

◆ _name

std::string _name
protected

Definition at line 674 of file geo.h.

◆ _version

size_type _version
protected

Definition at line 675 of file geo.h.

◆ _serial_number

size_type _serial_number
protected

Definition at line 676 of file geo.h.

◆ _geo_element

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

Definition at line 678 of file geo.h.

◆ _gs

geo_size _gs
protected

Definition at line 679 of file geo.h.

◆ _domains

std::vector<domain_indirect_basic<M> > _domains
mutableprotected

Definition at line 680 of file geo.h.

◆ _have_connectivity

bool _have_connectivity
protected

Definition at line 681 of file geo.h.

◆ _have_neighbour

bool _have_neighbour
mutableprotected

Definition at line 682 of file geo.h.

◆ _node

disarray<node_type, M> _node
protected

Definition at line 684 of file geo.h.

◆ _dimension

size_type _dimension
protected

Definition at line 685 of file geo.h.

◆ _sys_coord

coordinate_type _sys_coord
protected

Definition at line 686 of file geo.h.

◆ _xmin

node_type _xmin
protected

Definition at line 687 of file geo.h.

◆ _xmax

node_type _xmax
protected

Definition at line 688 of file geo.h.

◆ _hmin

T _hmin
protected

Definition at line 689 of file geo.h.

◆ _hmax

T _hmax
protected

Definition at line 690 of file geo.h.

◆ _piola_basis

basis_basic<T> _piola_basis
protected

Definition at line 691 of file geo.h.

◆ _locator

geo_locate<T,M> _locator
protected

Definition at line 692 of file geo.h.

◆ _tracer_ray_boundary

geo_trace_ray_boundary<T,M> _tracer_ray_boundary
protected

Definition at line 693 of file geo.h.

◆ _nearestor

geo_nearest<T,M> _nearestor
protected

Definition at line 694 of file geo.h.

◆ _loaded_map

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: