BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::mesh::ConnectivityCalculator Class Reference

Computes element-to-element and node-to-node connectivity for finite element meshes. More...

#include <cl_Mesh_ConnectivityCalculator.hpp>

Public Member Functions

 ConnectivityCalculator (Mesh *aMesh)
 Constructor.
 ~ConnectivityCalculator ()
 Destructor (nothing to release; all containers are owned by the mesh).
void connect_nodes_to_elements ()
 Compute node-to-element connectivity.
void connect_facets_to_elements ()
void connect_nodes_to_facets ()
void connect_facets_to_facets ()
void connect_faces_to_edges_and_edges_to_faces ()
void connect_faces_to_faces ()
void connect_nodes_to_edges ()
void connect_edges_to_elements (Cell< Element * > &aElements)
void connect_edges_to_ghost_facets ()
void connect_faces_to_ghost_facets ()
void connect_edges_to_edges ()
void connect_nodes_to_nodes ()
 Compute node-to-node connectivity.
void connect_elements_to_elements ()
 Compute element-to-element connectivity.
void connect_thin_shells_to_thin_shells ()
void connect_control_points_to_elements ()
void connect_control_points_to_control_points ()
void save_connectivity_data (const string &aPath)
 stores the computed connectivities for debugging

Detailed Description

Computes element-to-element and node-to-node connectivity for finite element meshes.

This class computes entity-to-entity connectivities (node/edge/face/facet/element/ control point, plus thin-shell element neighbours) on the mesh it is given, in serial on the calling rank.

Key features:

  • Uses efficient vector+sort+unique approach instead of bitsets for sparse connectivity
  • Handles thin-shell ghost facets when linking edges, faces and elements across layers

Constructor & Destructor Documentation

◆ ConnectivityCalculator()

belfem::mesh::ConnectivityCalculator::ConnectivityCalculator ( Mesh * aMesh)

Constructor.

Parameters
aMeshPointer to the mesh to compute connectivity for

◆ ~ConnectivityCalculator()

belfem::mesh::ConnectivityCalculator::~ConnectivityCalculator ( )

Destructor (nothing to release; all containers are owned by the mesh).

Member Function Documentation

◆ connect_control_points_to_control_points()

void belfem::mesh::ConnectivityCalculator::connect_control_points_to_control_points ( )

◆ connect_control_points_to_elements()

void belfem::mesh::ConnectivityCalculator::connect_control_points_to_elements ( )

◆ connect_edges_to_edges()

void belfem::mesh::ConnectivityCalculator::connect_edges_to_edges ( )

◆ connect_edges_to_elements()

void belfem::mesh::ConnectivityCalculator::connect_edges_to_elements ( Cell< Element * > & aElements)

◆ connect_edges_to_ghost_facets()

void belfem::mesh::ConnectivityCalculator::connect_edges_to_ghost_facets ( )

◆ connect_elements_to_elements()

void belfem::mesh::ConnectivityCalculator::connect_elements_to_elements ( )

Compute element-to-element connectivity.

For each element, finds all other elements that share a facet with it (an edge in 2D, a face in 3D). When thin shells exist, the pass is repeated on the thin-shell blocks alone so that layer elements are linked to their in-layer neighbours.

◆ connect_faces_to_edges_and_edges_to_faces()

void belfem::mesh::ConnectivityCalculator::connect_faces_to_edges_and_edges_to_faces ( )

◆ connect_faces_to_faces()

void belfem::mesh::ConnectivityCalculator::connect_faces_to_faces ( )

◆ connect_faces_to_ghost_facets()

void belfem::mesh::ConnectivityCalculator::connect_faces_to_ghost_facets ( )

◆ connect_facets_to_elements()

void belfem::mesh::ConnectivityCalculator::connect_facets_to_elements ( )

◆ connect_facets_to_facets()

void belfem::mesh::ConnectivityCalculator::connect_facets_to_facets ( )

◆ connect_nodes_to_edges()

void belfem::mesh::ConnectivityCalculator::connect_nodes_to_edges ( )

◆ connect_nodes_to_elements()

void belfem::mesh::ConnectivityCalculator::connect_nodes_to_elements ( )

Compute node-to-element connectivity.

◆ connect_nodes_to_facets()

void belfem::mesh::ConnectivityCalculator::connect_nodes_to_facets ( )

◆ connect_nodes_to_nodes()

void belfem::mesh::ConnectivityCalculator::connect_nodes_to_nodes ( )

Compute node-to-node connectivity.

For each node, finds all other nodes that share at least one element with it (all elements attached to the node are considered).

◆ connect_thin_shells_to_thin_shells()

void belfem::mesh::ConnectivityCalculator::connect_thin_shells_to_thin_shells ( )

◆ save_connectivity_data()

void belfem::mesh::ConnectivityCalculator::save_connectivity_data ( const string & aPath)

stores the computed connectivities for debugging

Parameters
aPathPath of the HDF5 file where the data is stored

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