|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
#include <concepts>#include "serif/utils/error/errors.hpp"#include "serif/solver/preconditioner/recipes/block.hpp"#include "serif/backend/mfem/solver/preconditioner/computations/physical_blocks.hpp"#include "serif/backend/mfem/solver/preconditioner/inverse/diagonal.hpp"#include "serif/backend/mfem/solver/preconditioner/inverse/dense.hpp"#include "serif/backend/mfem/solver/preconditioner/inverse/amg.hpp"#include "serif/backend/mfem/solver/preconditioner/inverse/sparse_direct.hpp"#include "serif/solver/preconditioner/strategies/inverse/diagonal.hpp"Namespaces | |
| namespace | serif |
| namespace | serif::solver |
| namespace | serif::solver::preconditioner |
| namespace | serif::solver::preconditioner::computations |
Functions | |
| template<typename Strategy> | |
| std::expected< backend::mfem::Inverse, Failure > | serif::solver::preconditioner::computations::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 | serif::solver::preconditioner::computations::inverse (const BlockPreconditioner< Row, Field, Strategy > &choice) |
| Declare only the numerical inputs required by this chosen inverse. | |
Variables | |
| template<typename Strategy> | |
| constexpr bool | serif::solver::preconditioner::computations::needs_diagonal = std::same_as<Strategy, strategies::inverse::Diagonal> |
| Identify the inverse strategies whose setup consumes a physical diagonal. | |
| template<typename Strategy> | |
| constexpr bool | serif::solver::preconditioner::computations::needs_matrix |
| Identify strategies requiring an explicitly assembled selected matrix. | |