134 lines
5.9 KiB
Groff
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\&.
|