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

134 lines
5.9 KiB
Groff

.TH "serif::model::backend::mfem::PreconditionedSystem< System >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::model::backend::mfem::PreconditionedSystem< System > \- Retain one evaluated star and its matching inverse for a linear solve\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <preconditioned_system\&.hpp>\fP
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBPreconditionedSystem\fP (std::shared_ptr< const System > \fBsystem\fP, \fBsolver::preconditioner::backend::mfem::Inverse\fP inverse)"
.br
.RI "Establish physical ownership before constructing an adapter in the selected solver coordinates\&. "
.ti -1c
.RI "const std::shared_ptr< const System > & \fBsystem\fP () const noexcept"
.br
.RI "Inspect the residual and Jacobian belonging to this inverse\&. "
.ti -1c
.RI "::mfem::Solver & \fBpreconditioner\fP () const noexcept"
.br
.RI "Supply MFEM with the matching physical or normalized inverse; unrelated rebinding is rejected\&. "
.ti -1c
.RI "const \fBsolver::preconditioner::backend::mfem::Solver\fP & \fBphysical_preconditioner\fP () const noexcept"
.br
.RI "Apply or inspect the dimensional inverse before the coordinate transformation\&. "
.ti -1c
.RI "\fBsolver::preconditioner::ApplicationContract\fP \fBcontract\fP () const noexcept"
.br
.RI "Tell the outer solver whether the selected inverse has a fixed linear application\&. "
.in -1c
.SS "Private Member Functions"
.in +1c
.ti -1c
.RI "auto \fBphysical_jacobian\fP () const"
.br
.RI "Bind the physical inverse to the dimensional root even when the outer solve is normalized\&. "
.ti -1c
.RI "std::shared_ptr<::mfem::Solver > \fBmake_solver\fP () const"
.br
.RI "Reuse the existing normalization adapter while retaining both of its borrowed owners\&. "
.in -1c
.SS "Static Private Member Functions"
.in +1c
.ti -1c
.RI "static std::shared_ptr< const System > \fBchecked_system\fP (std::shared_ptr< const System > \fBsystem\fP)"
.br
.RI "Report an invalid owner before any adapter borrows an operator from it\&. "
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "std::shared_ptr< const System > \fBm_system\fP"
.br
.ti -1c
.RI "std::shared_ptr< \fBsolver::preconditioner::backend::mfem::Solver\fP > \fBm_physical_inverse\fP"
.br
.ti -1c
.RI "std::shared_ptr<::mfem::Solver > \fBm_inverse\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
.SS "template<typename System>
.br
requires (std::same_as<System, \fBPhysicalSystem\fP> || std::same_as<System, \fBNormalizedSystem\fP>)
.br
class serif::model::backend::mfem::PreconditionedSystem< System >"Retain one evaluated star and its matching inverse for a linear solve\&.
.PP
\fBNote\fP
.RS 4
Later evaluations cannot change these operators\&. MFEM adapters reuse scratch storage; applications of the same preparation must not run concurrently\&.
.RE
.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<typename System> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::PreconditionedSystem (std::shared_ptr< const System > system, \fBsolver::preconditioner::backend::mfem::Inverse\fP inverse)\fR [inline]\fP"
.PP
Establish physical ownership before constructing an adapter in the selected solver coordinates\&.
.SH "Member Function Documentation"
.PP
.SS "template<typename System> static std::shared_ptr< const System > \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::checked_system (std::shared_ptr< const System > system)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
.PP
Report an invalid owner before any adapter borrows an operator from it\&.
.SS "template<typename System> \fBsolver::preconditioner::ApplicationContract\fP \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::contract () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Tell the outer solver whether the selected inverse has a fixed linear application\&.
.SS "template<typename System> std::shared_ptr<::mfem::Solver > \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::make_solver () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
.PP
Reuse the existing normalization adapter while retaining both of its borrowed owners\&.
.SS "template<typename System> auto \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::physical_jacobian () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
.PP
Bind the physical inverse to the dimensional root even when the outer solve is normalized\&.
.SS "template<typename System> const \fBsolver::preconditioner::backend::mfem::Solver\fP & \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::physical_preconditioner () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Apply or inspect the dimensional inverse before the coordinate transformation\&.
.SS "template<typename System> ::mfem::Solver & \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::preconditioner () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Supply MFEM with the matching physical or normalized inverse; unrelated rebinding is rejected\&.
.SS "template<typename System> const std::shared_ptr< const System > & \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::system () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
.PP
Inspect the residual and Jacobian belonging to this inverse\&.
.SH "Member Data Documentation"
.PP
.SS "template<typename System> std::shared_ptr<::mfem::Solver> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::m_inverse\fR [private]\fP"
.SS "template<typename System> std::shared_ptr<\fBsolver::preconditioner::backend::mfem::Solver\fP> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::m_physical_inverse\fR [private]\fP"
.SS "template<typename System> std::shared_ptr<const System> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::m_system\fR [private]\fP"
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.