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)
88 lines
3.5 KiB
Groff
88 lines
3.5 KiB
Groff
.TH "serif::backend::mfem::shared" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::backend::mfem::shared
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "struct \fBBoundaryElement\fP"
|
|
.br
|
|
.RI "Borrow one boundary element and its oriented coordinates during a traversal\&. "
|
|
.ti -1c
|
|
.RI "struct \fBBoundaryFailure\fP"
|
|
.br
|
|
.RI "Explain why canonical boundary coordinates or their local assembly were rejected\&. "
|
|
.ti -1c
|
|
.RI "struct \fBReferenceMeshSnapshot\fP"
|
|
.br
|
|
.RI "The external mesh metadata consumed by a graph input\&. "
|
|
.ti -1c
|
|
.RI "struct \fBReferenceSpaceSnapshot\fP"
|
|
.br
|
|
.RI "Identity and revision of the space that gives coefficients their physical meaning\&. "
|
|
.in -1c
|
|
.SS "Typedefs"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBBoundaryStatus\fP = std::expected<void, \fBBoundaryFailure\fP>"
|
|
.br
|
|
.in -1c
|
|
.SS "Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename Visitor> \fBBoundaryStatus\fP \fBfor_each_boundary_element\fP (const ::mfem::FiniteElementSpace &space, int attribute, std::span< const int > selected_dofs, Visitor &&visit)"
|
|
.br
|
|
.RI "Visit a scalar nodal boundary in the caller's selected-node coordinates\&. "
|
|
.ti -1c
|
|
.RI "\fBReferenceMeshSnapshot\fP \fBmesh_snapshot\fP (const ::mfem::Mesh *mesh, bool coordinates, bool materials)"
|
|
.br
|
|
.RI "Capture topology and boundary labels, optionally including coordinates and material labels\&. "
|
|
.ti -1c
|
|
.RI "\fBReferenceSpaceSnapshot\fP \fBspace_snapshot\fP (const ::mfem::FiniteElementSpace &space)"
|
|
.br
|
|
.RI "Capture refinement and coefficient layout without copying the finite-element space\&. "
|
|
.ti -1c
|
|
.RI "bool \fBmesh_matches\fP (const \fBReferenceMeshSnapshot\fP &snapshot, const ::mfem::Mesh *mesh)"
|
|
.br
|
|
.RI "Compare the selected dependencies without allocating another copy of the mesh labels\&. "
|
|
.in -1c
|
|
.SH "Typedef Documentation"
|
|
.PP
|
|
.SS "using \fBserif::backend::mfem::shared::BoundaryStatus\fP = std::expected<void, \fBBoundaryFailure\fP>"
|
|
|
|
.SH "Function Documentation"
|
|
.PP
|
|
.SS "template<typename Visitor> \fBBoundaryStatus\fP serif::backend::mfem::shared::for_each_boundary_element (const ::mfem::FiniteElementSpace & space, int attribute, std::span< const int > selected_dofs, Visitor && visit)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Visit a scalar nodal boundary in the caller's selected-node coordinates\&.
|
|
.PP
|
|
\fBNote\fP
|
|
.RS 4
|
|
Scratch coordinates are reused between elements\&. The visitor owns the numerical integrand; this traversal only verifies coordinate membership and MFEM orientation\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "bool serif::backend::mfem::shared::mesh_matches (const \fBReferenceMeshSnapshot\fP & snapshot, const ::mfem::Mesh * mesh)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Compare the selected dependencies without allocating another copy of the mesh labels\&. Check unchanged references without allocating another copy of every mesh label\&.
|
|
.SS "\fBReferenceMeshSnapshot\fP serif::backend::mfem::shared::mesh_snapshot (const ::mfem::Mesh * mesh, bool coordinates, bool materials)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Capture topology and boundary labels, optionally including coordinates and material labels\&. Mesh identities and revisions cover coordinates; explicit labels catch direct attribute edits\&.
|
|
.SS "\fBReferenceSpaceSnapshot\fP serif::backend::mfem::shared::space_snapshot (const ::mfem::FiniteElementSpace & space)\fR [nodiscard]\fP"
|
|
|
|
.PP
|
|
Capture refinement and coefficient layout without copying the finite-element space\&. Space sequence numbers distinguish refinement and changed coefficient layouts\&.
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|