_default_solver< SparseMatrixType, VectorType > Struct Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
DiFfRG::internal::_default_solver< SparseMatrixType, VectorType > Struct Template Reference
Maps a (matrix, vector) pair to the solver that suits it. More...
#include <default_linear_solver.hh>
Public Types | |
| using | type = UMFPack<SparseMatrixType, VectorType> |
Detailed Description
template<typename SparseMatrixType, typename VectorType>
struct DiFfRG::internal::_default_solver< SparseMatrixType, VectorType >
struct DiFfRG::internal::_default_solver< SparseMatrixType, VectorType >
Maps a (matrix, vector) pair to the solver that suits it.
Serial linear algebra gets UMFPack, which is what every application used before this default existed. Distributed linear algebra gets a direct solve via MUMPS where PETSc was built with it, so that switching to an MPI build changes where the work happens but not the character of the solve – IDA's Newton sees the same convergence behaviour it does serially. PETScKrylov is the fallback when MUMPS is absent; it is iterative, and a flow that is fine-tuned against a direct solve may need its tolerances revisited.
Member Typedef Documentation
◆ type
template<typename SparseMatrixType , typename VectorType >
| using DiFfRG::internal::_default_solver< SparseMatrixType, VectorType >::type = UMFPack<SparseMatrixType, VectorType> |
The documentation for this struct was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/timestepping/default_linear_solver.hh
Generated by