Files
MeanField_SERiF/docs/man/man3/serif_utils_projection_backend_mfem.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

60 lines
3.3 KiB
Groff

.TH "serif::utils::projection::backend::mfem" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::utils::projection::backend::mfem
.SH SYNOPSIS
.br
.PP
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBdetail\fP"
.br
.in -1c
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBRadialProjectionOptions\fP"
.br
.RI "Sample physical radii about a center, optionally through SERiF's existing geometry mapping\&. The mapping must use the projection space's mesh and must be refreshed after its input fields change\&. "
.in -1c
.SS "Typedefs"
.in +1c
.ti -1c
.RI "using \fBProjectionResult\fP = std::expected<::mfem::GridFunction, std::string>"
.br
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "template<RadialFunction Function> \fBProjectionResult\fP \fBproject_scalar\fP (::mfem::FiniteElementSpace &space, const Function &profile, const \fBRadialProjectionOptions\fP &options={})"
.br
.RI "Project a radial scalar with the finite element's native coefficient projection\&. "
.ti -1c
.RI "template<RadialFunction Function> \fBProjectionResult\fP \fBproject_vector\fP (::mfem::FiniteElementSpace &space, const Function &radial_amplitude, const \fBRadialProjectionOptions\fP &options={})"
.br
.RI "Project amplitude(r) times the outward radial unit vector into a vector H1/L2 space\&. "
.in -1c
.SH "Typedef Documentation"
.PP
.SS "using \fBserif::utils::projection::backend::mfem::ProjectionResult\fP = std::expected<::mfem::GridFunction, std::string>"
.SH "Function Documentation"
.PP
.SS "template<RadialFunction Function> \fBProjectionResult\fP serif::utils::projection::backend::mfem::project_scalar (::mfem::FiniteElementSpace & space, const Function & profile, const \fBRadialProjectionOptions\fP & options = \fR{}\fP)\fR [nodiscard]\fP"
.PP
Project a radial scalar with the finite element's native coefficient projection\&. This uses native interpolation and conforming restriction, not a global L2 fit\&. Hanging-node constraints are enforced before publishing the field\&. The returned field owns its coefficients and borrows the supplied space\&. The profile controls exterior values; no radius clamping or mass adjustment is applied\&. A rejected sample discards the entire unpublished field\&. At compactified infinity an explicit scalar_at_infinity callback may supply the limiting value in mesh coordinates, before the finite element's native mapping\&. Without that prescription infinity is rejected\&. Meshes and spaces must remain alive for the returned field\&.
.SS "template<RadialFunction Function> \fBProjectionResult\fP serif::utils::projection::backend::mfem::project_vector (::mfem::FiniteElementSpace & space, const Function & radial_amplitude, const \fBRadialProjectionOptions\fP & options = \fR{}\fP)\fR [nodiscard]\fP"
.PP
Project amplitude(r) times the outward radial unit vector into a vector H1/L2 space\&. Smooth radial vectors must have zero amplitude at the center\&. Conforming restriction enforces hanging-node constraints before publishing the field; this is not a global L2 fit\&. The profile remains in physical coordinates\&. At compactified infinity, vector_at_infinity must supply the limit in mesh coordinates\&. The callback receives the original mesh position, without subtraction of the configured physical center\&.
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.