Files
MeanField_SERiF/docs/man/man3/serif_discretization_domain_mesh_MeshTopology.3
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

293 lines
8.5 KiB
Groff

.TH "serif::discretization::domain::mesh::MeshTopology" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::discretization::domain::mesh::MeshTopology \- Provides a convenient interface for querying the topological relationships between elements, faces, and boundaries in a mesh\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <topology\&.hpp>\fP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBMeshTopology\fP (\fBMeshTopologyData\fP data)"
.br
.RI "Owns material labels and connectivity independently of the mesh backend\&. "
.ti -1c
.RI "int \fBelement_count\fP () const noexcept"
.br
.RI "Returns the number of elements in the mesh\&. "
.ti -1c
.RI "int \fBface_count\fP () const noexcept"
.br
.RI "Returns the number of faces in the mesh\&. "
.ti -1c
.RI "int \fBboundary_element_count\fP () const noexcept"
.br
.RI "Returns the number of boundary elements in the mesh\&. "
.ti -1c
.RI "int \fBelement_domain_id\fP (int elementID) const"
.br
.RI "Returns the domain ID of the specified element\&. "
.ti -1c
.RI "int \fBboundary_element_boundary_id\fP (int boundaryElementID) const"
.br
.RI "Returns the boundary ID of the specified boundary element\&. "
.ti -1c
.RI "\fBFaceElements\fP \fBface_elements\fP (int faceID) const"
.br
.RI "Returns the elements sharing the specified face\&. "
.ti -1c
.RI "const std::vector< int > & \fBelement_neighbors\fP (int elementID) const"
.br
.RI "Returns the elements sharing an interior face with the specified element\&. "
.ti -1c
.RI "int \fBboundary_element_face\fP (int boundaryElementID) const"
.br
.RI "Returns the face a boundary element sits on\&. "
.ti -1c
.RI "const std::vector< int > & \fBboundary_elements_on_face\fP (int faceID) const"
.br
.RI "Returns the boundary elements on the specified face\&. "
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "std::vector< int > \fBm_elementDomainIDs\fP"
.br
.RI "The domain IDs of the elements in the mesh\&. "
.ti -1c
.RI "std::vector< \fBFaceElements\fP > \fBm_faceElements\fP"
.br
.RI "The elements sharing each face in the mesh\&. "
.ti -1c
.RI "std::vector< std::vector< int > > \fBm_elementNeighbors\fP"
.br
.RI "The elements sharing an interior face with each element in the mesh\&. "
.ti -1c
.RI "std::vector< int > \fBm_boundaryElementBoundaryIDs\fP"
.br
.RI "The boundary IDs of the boundary elements in the mesh\&. "
.ti -1c
.RI "std::vector< int > \fBm_boundaryElementFaceIDs\fP"
.br
.RI "The face IDs of the boundary elements in the mesh\&. "
.ti -1c
.RI "std::vector< std::vector< int > > \fBm_boundaryElementsByFace\fP"
.br
.RI "The boundary elements on each face in the mesh\&. "
.in -1c
.SS "Static Private Attributes"
.in +1c
.ti -1c
.RI "static const std::vector< int > \fBs_noElements\fP {}"
.br
.RI "A static empty vector to return when an element has no neighbors or a face has no boundary elements\&. "
.in -1c
.SH "Detailed Description"
.PP
Provides a convenient interface for querying the topological relationships between elements, faces, and boundaries in a mesh\&.
.SH "Constructor & Destructor Documentation"
.PP
.SS "serif::discretization::domain::mesh::MeshTopology::MeshTopology (\fBMeshTopologyData\fP data)\fR [explicit]\fP"
.PP
Owns material labels and connectivity independently of the mesh backend\&.
.PP
\fBParameters\fP
.RS 4
\fIdata\fP The topology data from which to derive element and boundary adjacency\&.
.RE
.PP
.SH "Member Function Documentation"
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::boundary_element_boundary_id (int boundaryElementID) const\fR [nodiscard]\fP"
.PP
Returns the boundary ID of the specified boundary element\&.
.PP
\fBParameters\fP
.RS 4
\fIboundaryElementID\fP The ID of the boundary element for which to retrieve the boundary ID\&.
.RE
.PP
\fBReturns\fP
.RS 4
The boundary ID of the specified boundary element\&.
.RE
.PP
\fBNote\fP
.RS 4
The boundary ID is the boundary label of a boundary element, i\&.e\&. which BoundaryID the mesh claims this boundary element belongs to\&.
.RE
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::boundary_element_count () const\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Returns the number of boundary elements in the mesh\&.
.PP
\fBReturns\fP
.RS 4
The number of boundary elements in the mesh\&.
.RE
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::boundary_element_face (int boundaryElementID) const\fR [nodiscard]\fP"
.PP
Returns the face a boundary element sits on\&.
.PP
\fBParameters\fP
.RS 4
\fIboundaryElementID\fP The ID of the boundary element for which to retrieve the face\&.
.RE
.PP
\fBReturns\fP
.RS 4
The ID of the face the boundary element sits on, or -1 if no face was supplied\&.
.RE
.PP
.SS "const std::vector< int > & serif::discretization::domain::mesh::MeshTopology::boundary_elements_on_face (int faceID) const\fR [nodiscard]\fP"
.PP
Returns the boundary elements on the specified face\&.
.PP
\fBParameters\fP
.RS 4
\fIfaceID\fP The ID of the face for which to retrieve the boundary elements\&.
.RE
.PP
\fBReturns\fP
.RS 4
A vector containing the IDs of the boundary elements on the specified face\&.
.RE
.PP
\fBNote\fP
.RS 4
A face may carry more than one boundary element\&.
.RE
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::element_count () const\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Returns the number of elements in the mesh\&.
.PP
\fBReturns\fP
.RS 4
The number of elements in the mesh\&.
.RE
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::element_domain_id (int elementID) const\fR [nodiscard]\fP"
.PP
Returns the domain ID of the specified element\&.
.PP
\fBParameters\fP
.RS 4
\fIelementID\fP The ID of the element for which to retrieve the domain ID\&.
.RE
.PP
\fBReturns\fP
.RS 4
The domain ID of the specified element\&.
.RE
.PP
\fBNote\fP
.RS 4
The domain ID is the material label of a volume element, i\&.e\&. which DomainID the mesh claims this element belongs to\&.
.RE
.PP
.SS "const std::vector< int > & serif::discretization::domain::mesh::MeshTopology::element_neighbors (int elementID) const\fR [nodiscard]\fP"
.PP
Returns the elements sharing an interior face with the specified element\&.
.PP
\fBParameters\fP
.RS 4
\fIelementID\fP The ID of the element for which to retrieve the neighboring elements\&.
.RE
.PP
\fBReturns\fP
.RS 4
A vector containing the IDs of the elements sharing an interior face with the specified element\&.
.RE
.PP
\fBNote\fP
.RS 4
The returned elements are not filtered by domain\&. Callers that care about one domain should filter as they walk\&.
.RE
.PP
.SS "int serif::discretization::domain::mesh::MeshTopology::face_count () const\fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Returns the number of faces in the mesh\&.
.PP
\fBReturns\fP
.RS 4
The number of faces in the mesh\&.
.RE
.PP
.SS "\fBFaceElements\fP serif::discretization::domain::mesh::MeshTopology::face_elements (int faceID) const\fR [nodiscard]\fP"
.PP
Returns the elements sharing the specified face\&.
.PP
\fBParameters\fP
.RS 4
\fIfaceID\fP The ID of the face for which to retrieve the elements\&.
.RE
.PP
\fBReturns\fP
.RS 4
A \fBFaceElements\fP struct containing the IDs of the elements sharing the face\&.
.RE
.PP
.SH "Member Data Documentation"
.PP
.SS "std::vector<int> serif::discretization::domain::mesh::MeshTopology::m_boundaryElementBoundaryIDs\fR [private]\fP"
.PP
The boundary IDs of the boundary elements in the mesh\&.
.SS "std::vector<int> serif::discretization::domain::mesh::MeshTopology::m_boundaryElementFaceIDs\fR [private]\fP"
.PP
The face IDs of the boundary elements in the mesh\&.
.SS "std::vector<std::vector<int> > serif::discretization::domain::mesh::MeshTopology::m_boundaryElementsByFace\fR [private]\fP"
.PP
The boundary elements on each face in the mesh\&.
.SS "std::vector<int> serif::discretization::domain::mesh::MeshTopology::m_elementDomainIDs\fR [private]\fP"
.PP
The domain IDs of the elements in the mesh\&.
.SS "std::vector<std::vector<int> > serif::discretization::domain::mesh::MeshTopology::m_elementNeighbors\fR [private]\fP"
.PP
The elements sharing an interior face with each element in the mesh\&.
.SS "std::vector<\fBFaceElements\fP> serif::discretization::domain::mesh::MeshTopology::m_faceElements\fR [private]\fP"
.PP
The elements sharing each face in the mesh\&.
.SS "const std::vector< int > serif::discretization::domain::mesh::MeshTopology::s_noElements {}\fR [static]\fP, \fR [private]\fP"
.PP
A static empty vector to return when an element has no neighbors or a face has no boundary elements\&.
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.