.TH "serif::operators::LinearizedBlock" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME serif::operators::LinearizedBlock \- An accepted physical block with optional efficient diagonal and sparse assembly operations\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .SS "Classes" .in +1c .ti -1c .RI "struct \fBData\fP" .br .in -1c .SS "Public Types" .in +1c .ti -1c .RI "using \fBAction\fP = std::shared_ptr" .br .ti -1c .RI "using \fBDiagonal\fP = std::function()>" .br .ti -1c .RI "using \fBAssembly\fP = std::function()>" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBLinearizedBlock\fP (\fBAction\fP \fBaction\fP, \fBDiagonal\fP \fBdiagonal\fP={}, \fBAssembly\fP assembly={})" .br .RI "Retain an immutable action and its matching assembly routines; captures must retain their accepted data\&. " .ti -1c .RI "const \fBAction\fP & \fBaction\fP () const noexcept" .br .RI "Read the physical action belonging to this accepted block\&. " .ti -1c .RI "bool \fBhas_diagonal\fP () const noexcept" .br .RI "Whether diagonal extraction is available without global column probing\&. " .ti -1c .RI "bool \fBhas_assembly\fP () const noexcept" .br .RI "Whether this block supports explicit sparse assembly\&. " .ti -1c .RI "std::vector< double > \fBdiagonal\fP () const" .br .RI "Extract the physical operator diagonal, including any installed boundary rows\&. " .ti -1c .RI "std::shared_ptr< const ::mfem::SparseMatrix > \fBassemble\fP () const" .br .RI "Assemble only this selected physical block\&. " .ti -1c .RI "bool \fBoperator==\fP (const \fBLinearizedBlock\fP &) const=default" .br .RI "Accepted block identity is stable across copies, but changes when a new linearization is supplied\&. " .in -1c .SS "Private Attributes" .in +1c .ti -1c .RI "std::shared_ptr< const \fBData\fP > \fBm_data\fP" .br .in -1c .SH "Detailed Description" .PP An accepted physical block with optional efficient diagonal and sparse assembly operations\&. .SH "Member Typedef Documentation" .PP .SS "using \fBserif::operators::backend::mfem::LinearizedBlock::Action\fP = std::shared_ptr" .SS "using \fBserif::operators::backend::mfem::LinearizedBlock::Assembly\fP = std::function()>" .SS "using \fBserif::operators::backend::mfem::LinearizedBlock::Diagonal\fP = std::function()>" .SH "Constructor & Destructor Documentation" .PP .SS "serif::operators::backend::mfem::LinearizedBlock::LinearizedBlock (\fBAction\fP action, \fBDiagonal\fP diagonal = \fR{}\fP, \fBAssembly\fP assembly = \fR{}\fP)\fR [explicit]\fP" .PP Retain an immutable action and its matching assembly routines; captures must retain their accepted data\&. .SH "Member Function Documentation" .PP .SS "const \fBLinearizedBlock::Action\fP & serif::operators::backend::mfem::LinearizedBlock::action () const\fR [nodiscard]\fP, \fR [noexcept]\fP" .PP Read the physical action belonging to this accepted block\&. .SS "std::shared_ptr< const::mfem::SparseMatrix > serif::operators::backend::mfem::LinearizedBlock::assemble () const\fR [nodiscard]\fP" .PP Assemble only this selected physical block\&. .SS "std::vector< double > serif::operators::backend::mfem::LinearizedBlock::diagonal () const\fR [nodiscard]\fP" .PP Extract the physical operator diagonal, including any installed boundary rows\&. .SS "bool serif::operators::backend::mfem::LinearizedBlock::has_assembly () const\fR [nodiscard]\fP, \fR [noexcept]\fP" .PP Whether this block supports explicit sparse assembly\&. .SS "bool serif::operators::backend::mfem::LinearizedBlock::has_diagonal () const\fR [nodiscard]\fP, \fR [noexcept]\fP" .PP Whether diagonal extraction is available without global column probing\&. .SS "bool serif::operators::backend::mfem::LinearizedBlock::operator== (const \fBLinearizedBlock\fP & ) const\fR [nodiscard]\fP, \fR [default]\fP" .PP Accepted block identity is stable across copies, but changes when a new linearization is supplied\&. .SH "Member Data Documentation" .PP .SS "std::shared_ptr serif::operators::backend::mfem::LinearizedBlock::m_data\fR [private]\fP" .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.