.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 \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 .br requires (std::same_as || std::same_as) .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 \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 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 \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 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 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 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 ::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 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 std::shared_ptr<::mfem::Solver> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::m_inverse\fR [private]\fP" .SS "template std::shared_ptr<\fBsolver::preconditioner::backend::mfem::Solver\fP> \fBserif::model::backend::mfem::PreconditionedSystem\fP< System >::m_physical_inverse\fR [private]\fP" .SS "template std::shared_ptr \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\&.