atlas
Classes | Functions
atlas::mesh::detail Namespace Reference

Irregular Connectivity Table. More...

Classes

class  ConnectivityIndex
 
class  MeshImpl
 
class  MeshObserver
 
class  PartitionGraph
 

Functions

void accumulate_facets (const mesh::HybridElements &cells, const mesh::Nodes &nodes, std::vector< idx_t > &facet_nodes_data, std::vector< idx_t > &connectivity_facet_to_elem, idx_t &nb_facets, idx_t &nb_inner_facets, idx_t &missing_value)
 
void accumulate_facets_in_range (std::vector< array::Range > &range, const mesh::HybridElements &cells, const mesh::Nodes &, std::vector< idx_t > &facet_nodes_data, std::vector< idx_t > &connectivity_facet_to_elem, idx_t &nb_facets, idx_t &nb_inner_facets, idx_t &missing_value, std::vector< std::vector< idx_t >> &node_to_facet)
 
void accumulate_facets_ordered_by_halo (const mesh::HybridElements &cells, const mesh::Nodes &nodes, std::vector< idx_t > &facet_nodes_data, std::vector< idx_t > &connectivity_facet_to_elem, idx_t &nb_facets, idx_t &nb_inner_facets, idx_t &missing_value, std::vector< idx_t > &halo_offsets)
 
PartitionGraphbuild_partition_graph (const MeshImpl &mesh)
 
std::ostream & operator<< (std::ostream &s, const PartitionGraph &p)
 

Detailed Description

Irregular Connectivity Table.

Author
Willem Deconinck

Container for irregular connectivity tables. This is e.g. the case for a node-to-X connectivity. connectivity = [ 1 2 3 4 5 6 # node 1 7 8 # node 2 9 10 11 12 # node 3 13 14 15 # node 4 16 17 18 19 20 21 # node 5 ] There are 2 modes of construction:

In case ATLAS_HAVE_FORTRAN is defined (which is usually the case), the raw data will be stored with base 1 for Fortran interoperability. The operator(row,col) will then do the conversion to base 0.

In the first mode of construction, the connectivity table cannot be resized. In the second mode of construction, resizing is possible