SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::backend::mfem::shared Namespace Reference

Classes

struct  BoundaryElement
 Borrow one boundary element and its oriented coordinates during a traversal. More...
 
struct  BoundaryFailure
 Explain why canonical boundary coordinates or their local assembly were rejected. More...
 
struct  ReferenceMeshSnapshot
 The external mesh metadata consumed by a graph input. More...
 
struct  ReferenceSpaceSnapshot
 Identity and revision of the space that gives coefficients their physical meaning. More...
 

Typedefs

using BoundaryStatus = std::expected<void, BoundaryFailure>
 

Functions

template<typename Visitor>
BoundaryStatus for_each_boundary_element (const ::mfem::FiniteElementSpace &space, int attribute, std::span< const int > selected_dofs, Visitor &&visit)
 Visit a scalar nodal boundary in the caller's selected-node coordinates.
 
ReferenceMeshSnapshot mesh_snapshot (const ::mfem::Mesh *mesh, bool coordinates, bool materials)
 Capture topology and boundary labels, optionally including coordinates and material labels.
 
ReferenceSpaceSnapshot space_snapshot (const ::mfem::FiniteElementSpace &space)
 Capture refinement and coefficient layout without copying the finite-element space.
 
bool mesh_matches (const ReferenceMeshSnapshot &snapshot, const ::mfem::Mesh *mesh)
 Compare the selected dependencies without allocating another copy of the mesh labels.
 

Typedef Documentation

◆ BoundaryStatus

Function Documentation

◆ for_each_boundary_element()

template<typename Visitor>
BoundaryStatus serif::backend::mfem::shared::for_each_boundary_element ( const ::mfem::FiniteElementSpace & space,
int attribute,
std::span< const int > selected_dofs,
Visitor && visit )
nodiscard

Visit a scalar nodal boundary in the caller's selected-node coordinates.

Note
Scratch coordinates are reused between elements. The visitor owns the numerical integrand; this traversal only verifies coordinate membership and MFEM orientation.

◆ mesh_matches()

bool serif::backend::mfem::shared::mesh_matches ( const ReferenceMeshSnapshot & snapshot,
const ::mfem::Mesh * mesh )
nodiscard

Compare the selected dependencies without allocating another copy of the mesh labels.

Check unchanged references without allocating another copy of every mesh label.

◆ mesh_snapshot()

ReferenceMeshSnapshot serif::backend::mfem::shared::mesh_snapshot ( const ::mfem::Mesh * mesh,
bool coordinates,
bool materials )
nodiscard

Capture topology and boundary labels, optionally including coordinates and material labels.

Mesh identities and revisions cover coordinates; explicit labels catch direct attribute edits.

◆ space_snapshot()

ReferenceSpaceSnapshot serif::backend::mfem::shared::space_snapshot ( const ::mfem::FiniteElementSpace & space)
nodiscard

Capture refinement and coefficient layout without copying the finite-element space.

Space sequence numbers distinguish refinement and changed coefficient layouts.