Namespaces | |
| namespace | cohomology |
| namespace | normals |
| namespace | proto |
Classes | |
| class | Basis |
| class | BeltedTree |
| class | BfmFile |
| class | Block |
| class | Chain |
| Formal sum of k-simplices (homology). More... | |
| class | Cochain |
| Cochain: a functional on chains (cohomology). More... | |
| class | Cohomology |
| Computes the cohomology groups H^k of a mesh complex. More... | |
| class | CommTable |
| class | ConnectivityCalculator |
| Computes element-to-element and node-to-node connectivity for finite element meshes. More... | |
| class | ControlPoint |
| class | Curve |
| class | CurvedElementChecker |
| this temporary class is created by mesh->flag_curved_elements(). More... | |
| class | CurveFactory |
| class | CutData |
| Per-cut topology and metadata. More... | |
| class | CutFactory |
| Main orchestrator for automatic cut generation on multiply-connected domains. More... | |
| class | CutProcessor |
| Converts thick cuts into the thin cuts the FEM assembly consumes. More... | |
| class | CutProcessorManual |
| class | CutSet |
| class | Distributor |
| class | Edge |
| Special Edge class for NEDELEC-Type elements. More... | |
| class | EdgeCutter |
| class | EdgeFactory |
| class | Element |
| Lagrange Element baseclass. More... | |
| class | ElementFactory |
| class | ElementTemplate |
| Lagrange Element templated against. More... | |
| class | ExodusWriter |
| class | Face |
| class | FaceFactory |
| class | Facet |
| class | Field |
| class | GlobalVariable |
| class | GmshReader |
| class | Homology |
| Computes the homology groups H_k of a mesh complex. More... | |
| class | InterfaceProcessor |
| class | InterfaceSet |
| struct | Layer |
| this is a supporting data type for the tape generation the mesh entities are passed over to the mesh and will be deleted by the mesh during destruction More... | |
| class | Node |
| struct | OpNodeIndex |
| struct | OpSegmentIndex |
| class | Partitioner |
| class | Periodicity |
| Stores matched periodic boundary entity pairs (nodes, edges, faces). More... | |
| class | PeriodicityFactory |
| Creates a Periodicity object by matching nodes on two periodic boundary planes. More... | |
| class | Pipette |
| the pipette is a class that measures the volume of an element More... | |
| class | ProtoMesh |
| class | ReferenceElement |
| class | Segment |
| class | SideSet |
| class | SimplicialComplex |
| Simplicial complex reduction engine underlying the homology and cohomology computation. More... | |
| class | SourceExpander |
| class | ThinShell |
| the thin shell class is a data container needed to link element masters and slaves to thin shell blocks More... | |
| class | ThinShellFactory |
| class | Topology |
| Analyzes and classifies mesh topology for finite element simulations. More... | |
| class | Vertex |
| class | VtkWriter |
Enumerations | |
| enum class | InterfaceTreatment { TieWeight1 , Decouple } |
| enum class | CutAlgorithm { Pellikka = 0 , CCR = 1 , BeltedTree = 2 , PellikkaGeneralized = 3 , UNDEFINED = 4 } |
Functions | |
| void | compute_edge_lengths (const uint aDimension, Cell< mesh::Element * > &aElements, Vector< real > &aEdgeLength) |
| real | compute_surface (Mesh *aMesh, const Vector< id_t > &aSideSetIDs) |
| void | compute_surface_normals (Mesh *aMesh, const Vector< id_t > &aGroupIDs, const GroupType aGroupType, const bool aComputeInParallel) |
| real | compute_volume (Mesh *aMesh, const id_t aBlockID) |
| real | compute_volume (Mesh *aMesh, const Vector< id_t > &aBlockIDs) |
| real | integrate_scalar_over_sidesets (Mesh *aMesh, const string &aFieldLabel, const Vector< id_t > &aSidesetIDs, const proc_t aMasterRank) |
| string | to_string (CutAlgorithm aCutAlgorithm) |
| CutAlgorithm | to_cut_algorithm (const string &aCutAlgorithm) |
| uint | compute_facet_index (Facet *aFacet, Element *aElement, Cell< Node * > &aNodes) |
| template<typename T> | |
| void | collect_hanging_basis (Cell< T * > &aBasis, Cell< T * > &aHangingBasis) |
| bool | check_facet_orientation (const Facet *aA, const Facet *aB) |
| Checks whether two adjacent facets have consistent orientation. | |
| void | symrcm (Cell< Node * > &aNodes) |
| void | read_node_tmatrix_from_hdf5 (Mesh *aMesh, const string &aFile) |
| void | to_master_orientation (Facet *aFacet, Cell< Node * > &aSlaveOrientation, Cell< Node * > &aMasterOrientation) |
| void | to_master_orientation (Face *aFace, Cell< Node * > &aSlaveOrientation, Cell< Node * > &aMasterOrientation) |
| void | to_master_orientation (Facet *aFacet, Cell< Edge * > &aSlaveOrientation, Cell< Edge * > &aMasterOrientation) |
| void | to_master_orientation (Face *aFace, Cell< Edge * > &aSlaveOrientation, Cell< Edge * > &aMasterOrientation) |
| void | unflag_elements (Cell< Element * > &aElements) |
| void | collect_node_coords (Element *aElement, Matrix< real > &aNodeCoords, const uint aNumberOfDimensions, const bool aCornerNodesOnly) |
| void | collect_node_data (Element *aElement, const Vector< real > &aFieldOnMesh, Vector< real > &aNodalField, const bool aCornerNodesOnly) |
| real | compute_surface_increment (const Matrix< real > &adNdXi, const Matrix< real > &aNodeCoords, const uint aNumSpatialDimensions) |
| unsigned int | number_of_nodes (const enum ElementType aElementType) |
| unsigned int | number_of_edges (const enum ElementType aElementType) |
| belfem::InterpolationOrder | interpolation_order (const enum ElementType aElementType) |
| unsigned int | interpolation_order_numeric (const enum ElementType aElementType) |
| belfem::GeometryType | geometry_type (const enum ElementType aElementType) |
| int | dimension (const enum GeometryType aGeometryType) |
| int | dimension (const enum ElementType aElementType) |
| ElementType | element_type_from_gmsh (const int aGmshNumber) |
| int | gmsh_from_element_type (const ElementType aElementType) |
| ElementType | linear_element_type (const ElementType aElementType) |
| unsigned int | number_of_corner_nodes (const enum ElementType aElementType) |
| unsigned int | number_of_facets (const enum ElementType aElementType) |
| unsigned int | bottom_facet_index (const enum ElementType aElementType) |
| Facet index of the "lower" face of a thin-shell element (the face whose outward normal points away from the shell on the bottom-layer side). | |
| unsigned int | top_facet_index (const enum ElementType aElementType) |
| Facet index of the "upper" face of a thin-shell element (the face whose outward normal points away from the shell on the top-layer side). | |
| unsigned int | number_of_faces (const enum ElementType aElementType) |
| ElementType | element_type_of_facet (const ElementType aElementType, const unsigned int aFacetIndex) |
| uint | number_of_orientations (const ElementType aElementType, const uint aFacetNumber) |
| uint | number_of_nedelec_dofs (const ElementType aElementType) |
| ElementType | element_type_from_numnodes (const uint aDimension, const uint aNumNodes, const bool aAsThinshell) |
| void | get_bottom_nodes (Element *aElement, Cell< Node * > &aNodes) |
| void | get_top_nodes (Element *aElement, Cell< Node * > &aNodes) |
| void | get_bottom_edges (Element *aElement, Cell< Edge * > &aEdges) |
| void | get_top_edges (Element *aElement, Cell< Edge * > &aEdges) |
Variables | |
| struct belfem::mesh::OpNodeIndex | opNodeIndex |
| struct belfem::mesh::OpSegmentIndex | opSegmentIndex |
|
strong |
|
strong |
| unsigned int belfem::mesh::bottom_facet_index | ( | const enum ElementType | aElementType | ) |
Facet index of the "lower" face of a thin-shell element (the face whose outward normal points away from the shell on the bottom-layer side).
Dispatches on geometry type: volume QUAD/PENTA/HEX types return the same slot as their thin-shell twin; errors for geometries without a thin-shell variant ( TRI, TET, PYRA, LINE, VERTEX ).
Checks whether two adjacent facets have consistent orientation.
In 3D, facets are polygons and adjacency means a shared edge: consistent outward normals traverse that edge in opposite directions:
Facet A: ... → P → Q → ... Facet B: ... → Q → P → ... (opposite → consistent)
If both traverse the shared edge in the same direction, the normals point in opposite directions (inverted).
For two-node facets ( 2D line segments ), two distinct facets share a single node, never an edge — consistency there means one traversal continues the other through the shared node:
Facet A: P → Q Facet B: Q → R (chain continues → consistent)
If both segments start, or both end, at the shared node, the normals are inverted. Coincident twins reduce to the 3D rule: reversed twin → consistent, identical twin → inverted. Nodes are compared via original() because the 2D facet-to-facet connectivity matches duplicates onto their originals.
| [in] | aA | first facet |
| [in] | aB | second facet (must share an edge, or in 2D a node, with aA) |
| void belfem::mesh::collect_hanging_basis | ( | Cell< T * > & | aBasis, |
| Cell< T * > & | aHangingBasis ) |
| void belfem::mesh::collect_node_coords | ( | Element * | aElement, |
| Matrix< real > & | aNodeCoords, | ||
| const uint | aNumberOfDimensions, | ||
| const bool | aCornerNodesOnly ) |
| void belfem::mesh::collect_node_data | ( | Element * | aElement, |
| const Vector< real > & | aFieldOnMesh, | ||
| Vector< real > & | aNodalField, | ||
| const bool | aCornerNodesOnly ) |
| void belfem::mesh::compute_edge_lengths | ( | const uint | aDimension, |
| Cell< mesh::Element * > & | aElements, | ||
| Vector< real > & | aEdgeLength ) |
| uint belfem::mesh::compute_facet_index | ( | Facet * | aFacet, |
| Element * | aElement, | ||
| Cell< Node * > & | aNodes ) |
| real belfem::mesh::compute_surface_increment | ( | const Matrix< real > & | adNdXi, |
| const Matrix< real > & | aNodeCoords, | ||
| const uint | aNumSpatialDimensions ) |
| void belfem::mesh::compute_surface_normals | ( | Mesh * | aMesh, |
| const Vector< id_t > & | aGroupIDs, | ||
| const GroupType | aGroupType, | ||
| const bool | aComputeInParallel ) |
| int belfem::mesh::dimension | ( | const enum ElementType | aElementType | ) |
| int belfem::mesh::dimension | ( | const enum GeometryType | aGeometryType | ) |
| ElementType belfem::mesh::element_type_from_gmsh | ( | const int | aGmshNumber | ) |
| ElementType belfem::mesh::element_type_from_numnodes | ( | const uint | aDimension, |
| const uint | aNumNodes, | ||
| const bool | aAsThinshell ) |
| ElementType belfem::mesh::element_type_of_facet | ( | const ElementType | aElementType, |
| const unsigned int | aFacetIndex ) |
| GeometryType belfem::mesh::geometry_type | ( | const enum ElementType | aElementType | ) |
| int belfem::mesh::gmsh_from_element_type | ( | const ElementType | aElementType | ) |
| real belfem::mesh::integrate_scalar_over_sidesets | ( | Mesh * | aMesh, |
| const string & | aFieldLabel, | ||
| const Vector< id_t > & | aSidesetIDs, | ||
| const proc_t | aMasterRank ) |
| InterpolationOrder belfem::mesh::interpolation_order | ( | const enum ElementType | aElementType | ) |
| unsigned int belfem::mesh::interpolation_order_numeric | ( | const enum ElementType | aElementType | ) |
| ElementType belfem::mesh::linear_element_type | ( | const ElementType | aElementType | ) |
| unsigned int belfem::mesh::number_of_corner_nodes | ( | const enum ElementType | aElementType | ) |
| unsigned int belfem::mesh::number_of_edges | ( | const enum ElementType | aElementType | ) |
| unsigned int belfem::mesh::number_of_faces | ( | const enum ElementType | aElementType | ) |
| unsigned int belfem::mesh::number_of_facets | ( | const enum ElementType | aElementType | ) |
| uint belfem::mesh::number_of_nedelec_dofs | ( | const ElementType | aElementType | ) |
| unsigned int belfem::mesh::number_of_nodes | ( | const enum ElementType | aElementType | ) |
| uint belfem::mesh::number_of_orientations | ( | const ElementType | aElementType, |
| const uint | aFacetNumber ) |
|
inline |
| void belfem::mesh::to_master_orientation | ( | Face * | aFace, |
| Cell< Edge * > & | aSlaveOrientation, | ||
| Cell< Edge * > & | aMasterOrientation ) |
| void belfem::mesh::to_master_orientation | ( | Face * | aFace, |
| Cell< Node * > & | aSlaveOrientation, | ||
| Cell< Node * > & | aMasterOrientation ) |
| void belfem::mesh::to_master_orientation | ( | Facet * | aFacet, |
| Cell< Edge * > & | aSlaveOrientation, | ||
| Cell< Edge * > & | aMasterOrientation ) |
| void belfem::mesh::to_master_orientation | ( | Facet * | aFacet, |
| Cell< Node * > & | aSlaveOrientation, | ||
| Cell< Node * > & | aMasterOrientation ) |
|
inline |
| unsigned int belfem::mesh::top_facet_index | ( | const enum ElementType | aElementType | ) |
Facet index of the "upper" face of a thin-shell element (the face whose outward normal points away from the shell on the top-layer side).
Dispatches on geometry type: volume QUAD/PENTA/HEX types return the same slot as their thin-shell twin; errors for geometries without a thin-shell variant ( TRI, TET, PYRA, LINE, VERTEX ).
| struct belfem::mesh::OpNodeIndex belfem::mesh::opNodeIndex |
| struct belfem::mesh::OpSegmentIndex belfem::mesh::opSegmentIndex |