The symbolic analysis (fill-reducing ordering) of the last matrix factored through this cache.
More...
#include <sparse_direct.hpp>
The symbolic analysis (fill-reducing ordering) of the last matrix factored through this cache.
- Note
- A preconditioner keeps one per sparse-direct block for its lifetime, so Newton steps whose matrix keeps the same sparsity pattern repeat only the numeric factorization (0.03 instead of 0.26 s on the benchmark potential block with Accelerate). The reused analysis gives bitwise the same factorization as a fresh one, so results do not depend on the cache. Safe to share between threads.
◆ SparseDirectCache() [1/2]
| serif::solver::preconditioner::backend::mfem::SparseDirectCache::SparseDirectCache |
( |
| ) |
|
◆ ~SparseDirectCache()
| serif::solver::preconditioner::backend::mfem::SparseDirectCache::~SparseDirectCache |
( |
| ) |
|
|
default |
◆ SparseDirectCache() [2/2]
| serif::solver::preconditioner::backend::mfem::SparseDirectCache::SparseDirectCache |
( |
const SparseDirectCache & | | ) |
|
|
delete |
◆ operator=()
◆ pattern()
| std::shared_ptr< const detail::DirectLUPattern > serif::solver::preconditioner::backend::mfem::SparseDirectCache::pattern |
( |
int | size, |
|
|
const long * | column_starts, |
|
|
const int * | row_indices, |
|
|
const double * | values, |
|
|
int & | status ) |
|
nodiscard |
The cached analysis when it matches this pattern, otherwise a new analysis, which replaces it.
◆ m_state
| std::unique_ptr<State> serif::solver::preconditioner::backend::mfem::SparseDirectCache::m_state |
|
private |
The documentation for this class was generated from the following files: