19 #ifndef GEOS_LINEARALGEBRA_SOLVERS_RICHARDSONSOLVER_HPP_ 
   20 #define GEOS_LINEARALGEBRA_SOLVERS_RICHARDSONSOLVER_HPP_ 
   34 template< 
typename VECTOR >
 
Base class for Krylov solvers.
 
LinearSolverResult m_result
results of a solve
 
LinearOperator< Vector > const  & m_operator
reference to the operator to be solved
 
static VectorTemp createTempVector(Vector const &src)
Helper function to create temporary vectors based on a source vector.
 
void logResult() const
Output convergence result (called by implementations).
 
typename Base::Vector Vector
Alias for template parameter.
 
typename VectorStorageHelper< VECTOR >::type VectorTemp
Alias for vector type that can be used for temporaries.
 
LinearOperator< Vector > const  & m_precond
reference to the preconditioning operator
 
void logProgress() const
Output iteration progress (called by implementations).
 
array1d< real64 > m_residualNorms
Absolute residual norms at each iteration (if available)
 
LinearSolverParameters m_params
parameters of the solver
 
Abstract base class for linear operators.
 
VECTOR Vector
Alias for template parameter.
 
Implements preconditioned modified Richardson iteration.
 
RichardsonSolver(LinearSolverParameters params, LinearOperator< Vector > const &matrix, LinearOperator< Vector > const &precond)
Solver object constructor.
 
virtual string methodName() const override
Get name of the Krylov subspace method.
 
virtual void solve(Vector const &b, Vector &x) const override
Solve preconditioned system.
 
double real64
64-bit floating point type.
 
Set of parameters for a linear solver or preconditioner.