11 #ifndef BOGUS_BLOCK_SOLVER_BASE_HPP
12 #define BOGUS_BLOCK_SOLVER_BASE_HPP
14 #include "../Block.fwd.hpp"
15 #include "../BlockSolvers.fwd.hpp"
17 #ifndef BOGUS_WITHOUT_EIGEN
18 #include "../Eigen/EigenProblemTraits.hpp"
19 #include "../Eigen/EigenBlockContainers.hpp"
22 #include "../Utils/Signal.hpp"
28 template <
typename BlockMatrixType >
33 typedef typename BlockTraits::Scalar Scalar ;
41 unsigned maxIters()
const {
return m_maxIters ; }
45 Scalar tol()
const {
return m_tol ; }
53 const CallBackType &
callback()
const {
return m_callback ; }
60 unsigned maxIters = 0, Scalar tol = 0 )
CallBackType & callback()
Callback hook; will be triggered every N iterations, depending on the solver.
Definition: BlockSolverBase.hpp:52
Definition: Traits.hpp:19
Scalar m_tol
See setTol()
Definition: BlockSolverBase.hpp:70
Definition: BlockSolvers.fwd.hpp:33
Base class for solvers that operate on BlockMatrixBase matrices.
Definition: BlockSolverBase.hpp:29
const BlockObjectBase< BlockMatrixType > * m_matrix
Pointer to the matrix of the system.
Definition: BlockSolverBase.hpp:65
unsigned m_maxIters
See setMaxIters()
Definition: BlockSolverBase.hpp:68
void setTol(Scalar tol)
For iterative solvers: sets the solver tolerance.
Definition: BlockSolverBase.hpp:44
void setMaxIters(unsigned maxIters)
For iterative solvers: sets the maximum number of iterations.
Definition: BlockSolverBase.hpp:40