|
GEOS
|
Implements preconditioned modified Richardson iteration. More...
#include <RichardsonSolver.hpp>

Public Types | |
| using | Base = KrylovSolver< VECTOR > |
| Alias for the base type. | |
| using | Vector = typename Base::Vector |
| Alias for the vector type. | |
Public Types inherited from geos::KrylovSolver< VECTOR > | |
| using | Base = LinearOperator< VECTOR > |
| Base type. | |
| using | Vector = typename Base::Vector |
| Alias for template parameter. | |
Public Types inherited from geos::LinearOperator< VECTOR > | |
| using | Vector = VECTOR |
| Alias for template parameter. | |
Public Member Functions | |
Constructor/Destructor Methods | |
| RichardsonSolver (LinearSolverParameters params, LinearOperator< Vector > const &matrix, LinearOperator< Vector > const &precond) | |
| Solver object constructor. More... | |
KrylovSolver interface | |
| virtual void | solve (Vector const &b, Vector &x) const override |
| Solve preconditioned system. More... | |
| virtual string | methodName () const override |
| Get name of the Krylov subspace method. More... | |
Public Member Functions inherited from geos::KrylovSolver< VECTOR > | |
| KrylovSolver (LinearSolverParameters params, LinearOperator< Vector > const &matrix, LinearOperator< Vector > const &precond) | |
| Constructor. More... | |
| virtual void | apply (Vector const &src, Vector &dst) const override final |
| Apply operator to a vector. More... | |
| virtual globalIndex | numGlobalRows () const override final |
| virtual globalIndex | numGlobalCols () const override final |
| virtual localIndex | numLocalRows () const override final |
| virtual localIndex | numLocalCols () const override final |
| virtual MPI_Comm | comm () const override final |
| Get the MPI communicator the matrix was created with. More... | |
| LinearSolverParameters const & | parameters () const |
| LinearSolverResult const & | result () const |
| arrayView1d< real64 const > | history () const |
| Get convergence history of a linear solve. More... | |
Public Member Functions inherited from geos::LinearOperator< VECTOR > | |
| LinearOperator ()=default | |
| Constructor. | |
| virtual | ~LinearOperator ()=default |
| Destructor. | |
| virtual void | residual (Vector const &x, Vector const &b, Vector &r) const |
Compute residual r = b - this(x). More... | |
| virtual globalIndex | numGlobalNonzeros () const |
| virtual localIndex | numLocalNonzeros () const |
Protected Types | |
| using | VectorTemp = typename KrylovSolver< VECTOR >::VectorTemp |
| Alias for vector type that can be used for temporaries. | |
Protected Types inherited from geos::KrylovSolver< VECTOR > | |
| using | VectorTemp = typename VectorStorageHelper< VECTOR >::type |
| Alias for vector type that can be used for temporaries. | |
Additional Inherited Members | |
Static Public Member Functions inherited from geos::KrylovSolver< VECTOR > | |
| static std::unique_ptr< KrylovSolver< VECTOR > > | create (LinearSolverParameters const ¶meters, LinearOperator< VECTOR > const &matrix, LinearOperator< VECTOR > const &precond) |
| Factory method for instantiating Krylov solver objects. More... | |
Protected Member Functions inherited from geos::KrylovSolver< VECTOR > | |
| void | logProgress () const |
| Output iteration progress (called by implementations). More... | |
| void | logResult () const |
| Output convergence result (called by implementations). | |
Static Protected Member Functions inherited from geos::KrylovSolver< VECTOR > | |
| static VectorTemp | createTempVector (Vector const &src) |
| Helper function to create temporary vectors based on a source vector. More... | |
Protected Attributes inherited from geos::KrylovSolver< VECTOR > | |
| LinearSolverParameters | m_params |
| parameters of the solver | |
| LinearOperator< Vector > const & | m_operator |
| reference to the operator to be solved | |
| LinearOperator< Vector > const & | m_precond |
| reference to the preconditioning operator | |
| LinearSolverResult | m_result |
| results of a solve | |
| array1d< real64 > | m_residualNorms |
| Absolute residual norms at each iteration (if available) | |
Implements preconditioned modified Richardson iteration.
| VECTOR | type of vectors this solver operates on |
Definition at line 35 of file RichardsonSolver.hpp.
| geos::RichardsonSolver< VECTOR >::RichardsonSolver | ( | LinearSolverParameters | params, |
| LinearOperator< Vector > const & | matrix, | ||
| LinearOperator< Vector > const & | precond | ||
| ) |
Solver object constructor.
| [in] | params | parameters for the solver |
| [in] | matrix | reference to the system matrix |
| [in] | precond | reference to the preconditioning operator |
|
inlineoverridevirtual |
Get name of the Krylov subspace method.
Implements geos::KrylovSolver< VECTOR >.
Definition at line 74 of file RichardsonSolver.hpp.
|
overridevirtual |
Solve preconditioned system.
| [in] | b | system right hand side. |
| [in,out] | x | system solution (input = initial guess, output = solution). |
Implements geos::KrylovSolver< VECTOR >.