|
| template<typename First, typename Second, typename Policy> |
| auto | coupling (const CoupledPreconditioner< First, Second, Policy > &) |
| | Couple child results through the authoritative physical cross blocks.
|
| |
| template<typename Fields, typename Constraints> |
| auto | border (const BorderedPreconditioner< Fields, Constraints > &choice) |
| | Rebuild the constraint Schur system whenever either its physical couplings or its child inverse change.
|
| |
| template<typename Strategy> |
| std::expected< backend::mfem::Inverse, Failure > | invert_matrix (std::shared_ptr< const ::mfem::SparseMatrix > matrix, const Strategy &strategy) |
| | Invert an assembled selected matrix with the chosen dense, sparse direct or AMG backend.
|
| |
| template<typename Row, typename Field, typename Strategy> |
| auto | inverse (const BlockPreconditioner< Row, Field, Strategy > &choice) |
| | Declare only the numerical inputs required by this chosen inverse.
|
| |
| template<discretization::blocks::RepresentedValueKind Kind, typename Layout, typename... Coordinates> |
| std::size_t | selected_size (const Layout &layout, utils::dependencies::KeyList< Coordinates... >) |
| | Count the declared coordinates of a selected physical block.
|
| |
| template<typename Key, typename Layout> |
| std::expected< void, Failure > | validate_physical_layout (const Layout &layout, const operators::backend::mfem::LinearizedBlock &block) |
| | Detect incorrect per-field sizes even when the total packed dimensions happen to agree.
|
| |
| template<discretization::blocks::RepresentedValueKind Kind, typename Layout, typename... Coordinates> |
| std::expected< std::vector< int >, Failure > | ordered_indices (const Layout &layout, utils::dependencies::KeyList< Coordinates... >) |
| | Map each root coefficient to the recipe's explicit subsystem ordering.
|
| |
| template<typename Recipe, typename Layout, typename... PhysicalKeys> |
| auto | ordering (utils::dependencies::KeyList< PhysicalKeys... >) |
| | Bind one inverse to independently ordered state and residual vectors through the common layout.
|
| |
| template<typename Rows, typename Values> |
| auto | physical_diagonal () |
| | Make physical diagonal extraction visible as its own graph operation.
|
| |
| template<typename Rows, typename Values> |
| auto | physical_matrix () |
| | Assemble a selected sparse block only for strategies that actually need it.
|
| |