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

Detailed Description

template<class T>
class rheolef::geo_rep< T, sequential >

Definition at line 786 of file geo.h.

+ Inheritance diagram for geo_rep< T, sequential >:

Public Types

typedef geo_base_rep< T, sequentialbase
 
typedef base::size_type size_type
 
typedef base::node_type node_type
 
typedef base::variant_type variant_type
 
typedef base::reference reference
 
typedef base::const_reference const_reference
 
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::coordinate_type coordinate_type
 
typedef base::geo_element_map_type geo_element_map_type
 
- Public Types inherited from geo_base_rep< T, sequential >
typedef geo_abstract_rep< T, sequentialbase
 
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_rep ()
 
 geo_rep (const geo_rep< T, sequential > &)
 
geo_abstract_rep< T, sequential > * clone () const
 
 geo_rep (const geo_basic< T, sequential > &lambda, const disarray< point_basic< T >, sequential > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, sequential >, reference_element::max_variant > &elt_list)
 
void build_from_domain (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &omega, std::map< size_type, size_type > &bgd_ie2dom_ie, std::map< size_type, size_type > &dis_bgd_ie2dis_dom_ie)
 
void locate (const disarray< point_basic< T >, sequential > &x, disarray< size_type, sequential > &dis_ie, bool do_check=false) const
 
void trace_ray_boundary (const disarray< point_basic< T >, sequential > &x, const disarray< point_basic< T >, sequential > &v, disarray< size_type, sequential > &dis_ie, disarray< point_basic< T >, sequential > &y, bool do_check=false) const
 
void trace_move (const disarray< point_basic< T >, sequential > &x, const disarray< point_basic< T >, sequential > &v, disarray< size_type, sequential > &dis_ie, disarray< point_basic< T >, sequential > &y) const
 
void nearest (const disarray< point_basic< T >, sequential > &x, disarray< point_basic< T >, sequential > &x_nearest, disarray< size_type, sequential > &dis_ie) const
 
size_type map_dimension () const
 
bool is_broken () const
 
const distributorgeo_element_ownership (size_type dim) const
 
const_reference get_geo_element (size_type dim, size_type ige) const
 
reference get_geo_element (size_type dim, size_type ige)
 
iterator begin (size_type dim)
 
iterator end (size_type dim)
 
const_iterator begin (size_type dim) const
 
const_iterator end (size_type dim) const
 
const geo_element_map_typeget_external_geo_element_map (size_type variant) const
 
const domain_indirect_basic< sequential > & get_domain_indirect (size_type idom) const
 
const domain_indirect_basic< sequential > & get_domain_indirect (const std::string &name) const
 
const distributorvertex_ownership () const
 
const_reference operator[] (size_type ie) const
 
reference operator[] (size_type ie)
 
idiststreamget (idiststream &)
 io for geo
 
odiststreamput_geo (odiststream &) const
 
odiststreamput (odiststream &ops) const
 
void dump (std::string name) const
 
void load (std::string name, const communicator &=communicator())
 
bool check (bool verbose) const
 
void reset_order (size_type order)
 
void build_by_subdividing (const geo_basic< T, sequential > &omega, size_type k)
 
void build_from_data (const geo_header &hdr, const disarray< node_type, sequential > &node, std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element, bool do_upgrade)
 
- Public Member Functions inherited from geo_base_rep< T, sequential >
 geo_base_rep ()
 
 geo_base_rep (const geo_base_rep< T, sequential > &)
 
void build_from_list (const geo_basic< T, sequential > &lambda, const disarray< point_basic< T >, sequential > &node_list, const std::array< disarray< geo_element_auto< heap_allocator< size_type > >, sequential >, 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
 
reference get_geo_element (size_type dim, size_type ige)
 
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_typenode (const geo_element &K, size_type loc_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, sequential > & get_nodes () const
 
void set_nodes (const disarray< node_type, sequential > &x)
 
size_type n_domain_indirect () const
 
bool have_domain_indirect (const std::string &name) const
 
const domain_indirect_basic< sequential > & get_domain_indirect (size_type i) const
 
const domain_indirect_basic< sequential > & get_domain_indirect (const std::string &name) const
 
void insert_domain_indirect (const domain_indirect_basic< sequential > &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
 
iterator begin (size_type dim)
 iterator by dimension: wraps iterator by geo_element variant
 
const_iterator begin (size_type dim) const
 
const_iterator begin () const
 
iterator end (size_type dim)
 
const_iterator end (size_type dim) const
 
const_iterator end () const
 
size_type size (size_type dim) const
 
size_type size () const
 
size_type dis_size (size_type dim) const
 
size_type dis_size () 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 dis_n_vertex () 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_edge () const
 
const_iterator end_edge () const
 
const_iterator begin_face () const
 
const_iterator end_face () const
 

Protected Member Functions

idiststreamget_standard (idiststream &, const geo_header &)
 
idiststreamget_upgrade (idiststream &, const geo_header &)
 upgrade for geo
 
void build_connectivity (std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element)
 
void build_connectivity_sides (size_type side_dim, std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &tmp_geo_element)
 
void set_element_side_index (size_type side_dim)
 
void domain_set_side_part1 (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &bgd_omega, size_type sid_dim, disarray< size_type, sequential > &bgd_isid2dom_dis_isid, disarray< size_type, sequential > &dom_isid2bgd_isid, disarray< size_type, sequential > &dom_isid2dom_ios_dis_isid, size_type size_by_variant[reference_element::max_variant])
 
void domain_set_side_part2 (const domain_indirect_rep< sequential > &indirect, const geo_abstract_rep< T, sequential > &bgd_omega, disarray< size_type, sequential > &bgd_iv2dom_dis_iv, size_type sid_dim, disarray< size_type, sequential > &bgd_isid2dom_dis_isid, disarray< size_type, sequential > &dom_isid2bgd_isid, disarray< size_type, sequential > &dom_isid2dom_ios_dis_isid, size_type size_by_variant[reference_element::max_variant])
 
void build_external_entities ()
 
- Protected Member Functions inherited from geo_base_rep< T, sequential >
void compute_bbox ()
 
void init_neighbour () const
 

Additional Inherited Members

- Static Public Member Functions inherited from geo_base_rep< T, sequential >
static loaded_map_tloaded_map ()
 
- Protected Attributes inherited from geo_base_rep< T, sequential >
std::string _name
 
size_type _version
 
size_type _serial_number
 
std::array< hack_array< geo_element_hack, sequential >, reference_element::max_variant > _geo_element
 
geo_size _gs
 
std::vector< domain_indirect_basic< sequential > > _domains
 
bool _have_connectivity
 
bool _have_neighbour
 
disarray< node_type, sequential_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, sequential_locator
 
geo_trace_ray_boundary< T, sequential_tracer_ray_boundary
 
geo_nearest< T, sequential_nearestor
 
- Static Protected Attributes inherited from geo_base_rep< T, sequential >
static loaded_map_t _loaded_map
 

Member Typedef Documentation

◆ base

template<class T >
typedef geo_base_rep<T,sequential> base

Definition at line 790 of file geo.h.

◆ size_type

template<class T >
typedef base::size_type size_type

Definition at line 791 of file geo.h.

◆ node_type

template<class T >
typedef base::node_type node_type

Definition at line 792 of file geo.h.

◆ variant_type

template<class T >
typedef base::variant_type variant_type

Definition at line 793 of file geo.h.

◆ reference

template<class T >
typedef base::reference reference

Definition at line 794 of file geo.h.

◆ const_reference

template<class T >
typedef base::const_reference const_reference

Definition at line 795 of file geo.h.

◆ iterator

template<class T >
typedef base::iterator iterator

Definition at line 796 of file geo.h.

◆ const_iterator

template<class T >
typedef base::const_iterator const_iterator

Definition at line 797 of file geo.h.

◆ iterator_by_variant

Definition at line 798 of file geo.h.

◆ const_iterator_by_variant

Definition at line 799 of file geo.h.

◆ coordinate_type

template<class T >
typedef base::coordinate_type coordinate_type

Definition at line 800 of file geo.h.

◆ geo_element_map_type

template<class T >
typedef base::geo_element_map_type geo_element_map_type

Definition at line 801 of file geo.h.

Constructor & Destructor Documentation

◆ geo_rep() [1/3]

template<class T >
geo_rep ( )

Definition at line 85 of file geo.cc.

◆ geo_rep() [2/3]

template<class T >
geo_rep ( const geo_rep< T, sequential > &  omega)

Definition at line 90 of file geo.cc.

◆ geo_rep() [3/3]

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

Definition at line 134 of file geo_build_from_list.cc.

Member Function Documentation

◆ clone()

template<class T >
geo_abstract_rep< T, sequential > * clone ( ) const

Definition at line 97 of file geo.cc.

◆ build_from_domain()

template<class T >
void build_from_domain ( const domain_indirect_rep< sequential > &  indirect,
const geo_abstract_rep< T, sequential > &  omega,
std::map< size_type, size_type > &  bgd_ie2dom_ie,
std::map< size_type, size_type > &  dis_bgd_ie2dis_dom_ie 
)

Definition at line 156 of file geo_domain_seq.cc.

◆ locate()

template<class T >
void locate ( const disarray< point_basic< T >, sequential > &  x,
disarray< size_type, sequential > &  dis_ie,
bool  do_check = false 
) const

Definition at line 424 of file geo_locate.cc.

◆ trace_ray_boundary()

template<class T >
void trace_ray_boundary ( const disarray< point_basic< T >, sequential > &  x,
const disarray< point_basic< T >, sequential > &  v,
disarray< size_type, sequential > &  dis_ie,
disarray< point_basic< T >, sequential > &  y,
bool  do_check = false 
) const

Definition at line 579 of file geo_trace_ray_boundary.cc.

◆ trace_move()

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

Definition at line 111 of file geo_trace_move.cc.

◆ nearest()

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

Definition at line 370 of file geo_nearest.cc.

◆ map_dimension()

template<class T >
size_type map_dimension ( ) const

Definition at line 846 of file geo.h.

◆ is_broken()

template<class T >
bool is_broken ( ) const

Definition at line 847 of file geo.h.

◆ geo_element_ownership()

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

Definition at line 848 of file geo.h.

◆ get_geo_element() [1/2]

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

Definition at line 849 of file geo.h.

◆ get_geo_element() [2/2]

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

Definition at line 850 of file geo.h.

◆ begin() [1/2]

template<class T >
iterator begin ( size_type  dim)

Definition at line 851 of file geo.h.

◆ end() [1/2]

template<class T >
iterator end ( size_type  dim)

Definition at line 852 of file geo.h.

◆ begin() [2/2]

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

Definition at line 853 of file geo.h.

◆ end() [2/2]

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

Definition at line 854 of file geo.h.

◆ get_external_geo_element_map()

template<class T >
const geo_rep< T, sequential >::geo_element_map_type & get_external_geo_element_map ( size_type  variant) const

Definition at line 105 of file geo.cc.

◆ get_domain_indirect() [1/2]

template<class T >
const domain_indirect_basic< sequential > & get_domain_indirect ( size_type  idom) const

Definition at line 857 of file geo.h.

◆ get_domain_indirect() [2/2]

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

Definition at line 858 of file geo.h.

◆ vertex_ownership()

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

Definition at line 862 of file geo.h.

◆ operator[]() [1/2]

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

Definition at line 863 of file geo.h.

◆ operator[]() [2/2]

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

Definition at line 864 of file geo.h.

◆ get()

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

io for geo

Definition at line 127 of file geo_seq_get.cc.

◆ put_geo()

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

Definition at line 44 of file geo_seq_put.cc.

◆ put()

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

Definition at line 870 of file geo.h.

◆ dump()

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

Definition at line 303 of file geo_seq_get.cc.

◆ load()

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

Definition at line 313 of file geo_seq_get.cc.

◆ check()

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

Definition at line 150 of file geo_seq_check.cc.

◆ reset_order()

template<class T >
void reset_order ( size_type  order)

◆ build_by_subdividing()

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

◆ build_from_data()

template<class T >
void build_from_data ( const geo_header hdr,
const disarray< node_type, sequential > &  node,
std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &  tmp_geo_element,
bool  do_upgrade 
)

Definition at line 236 of file geo_seq_upgrade.cc.

◆ get_standard()

template<class T >
idiststream & get_standard ( idiststream ips,
const geo_header hdr 
)
protected

Definition at line 149 of file geo_seq_get.cc.

◆ get_upgrade()

template<class T >
idiststream & get_upgrade ( idiststream ips,
const geo_header hdr 
)
protected

upgrade for geo

Definition at line 188 of file geo_seq_upgrade.cc.

◆ build_connectivity()

template<class T >
void build_connectivity ( std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &  tmp_geo_element)
protected

Definition at line 38 of file geo_seq_upgrade.cc.

◆ build_connectivity_sides()

template<class T >
void build_connectivity_sides ( size_type  side_dim,
std::array< disarray< geo_element_auto<>, sequential >, reference_element::max_variant > &  tmp_geo_element 
)
protected

Definition at line 51 of file geo_seq_upgrade.cc.

◆ set_element_side_index()

template<class T >
void set_element_side_index ( size_type  side_dim)
protected

on any 3d geo_element K, set K.dis_iface(iloc) number

Definition at line 53 of file geo_seq_get.cc.

◆ domain_set_side_part1()

template<class T >
void domain_set_side_part1 ( const domain_indirect_rep< sequential > &  indirect,
const geo_abstract_rep< T, sequential > &  bgd_omega,
size_type  sid_dim,
disarray< size_type, sequential > &  bgd_isid2dom_dis_isid,
disarray< size_type, sequential > &  dom_isid2bgd_isid,
disarray< size_type, sequential > &  dom_isid2dom_ios_dis_isid,
size_type  size_by_variant[reference_element::max_variant] 
)
protected

Definition at line 31 of file geo_domain_seq.cc.

◆ domain_set_side_part2()

template<class T >
void domain_set_side_part2 ( const domain_indirect_rep< sequential > &  indirect,
const geo_abstract_rep< T, sequential > &  bgd_omega,
disarray< size_type, sequential > &  bgd_iv2dom_dis_iv,
size_type  sid_dim,
disarray< size_type, sequential > &  bgd_isid2dom_dis_isid,
disarray< size_type, sequential > &  dom_isid2bgd_isid,
disarray< size_type, sequential > &  dom_isid2dom_ios_dis_isid,
size_type  size_by_variant[reference_element::max_variant] 
)
protected

Definition at line 106 of file geo_domain_seq.cc.

◆ build_external_entities()

template<class T >
void build_external_entities ( )
protected

Definition at line 915 of file geo.h.


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