|
Template Numerical Library version\ main:d08c4decc
|
Wrapper for the GMRES solver in Hypre. More...
#include <TNL/Solvers/Linear/Hypre.h>


Public Member Functions | |
| HypreGMRES (const Matrices::HypreParCSRMatrix &A_) | |
| HypreGMRES (MPI_Comm comm) | |
| HYPRE_Int | getNumIterations () const |
| void | setAbsTol (double tol) |
| void | setKDim (int k_dim) |
| void | setMatrix (const Matrices::HypreParCSRMatrix &op, bool reuse_setup=false) override |
| Set the matrix of the linear system to be solved. | |
| void | setMaxIter (int max_iter) |
| void | setPreconditioner (HypreSolver &precond) |
| Set the Hypre solver to be used as a preconditioner. | |
| void | setPrintLevel (int print_level) |
| void | setTol (double tol) |
| HYPRE_PtrToParSolverFcn | setupFcn () const override |
| Hypre's internal setup function. | |
| HYPRE_PtrToParSolverFcn | solveFcn () const override |
| Hypre's internal solve function. | |
| Public Member Functions inherited from TNL::Solvers::Linear::HypreSolver | |
| HypreSolver (const Matrices::HypreParCSRMatrix &A) | |
| virtual | operator HYPRE_Solver () const |
| Type-cast to HYPRE_Solver. | |
| void | setErrorMode (ErrorMode err_mode) const |
| Set the behavior for treating Hypre errors, see the ErrorMode enum. The default mode in the base class is ABORT_HYPRE_ERRORS. | |
| virtual void | setup (const Containers::HypreParVector &b, Containers::HypreParVector &x) const |
| Setup the solver for solving the linear system Ax=b. | |
| virtual void | solve (const Containers::HypreParVector &b, Containers::HypreParVector &x) const |
| Solve the linear system Ax=b. | |
Protected Member Functions | |
| void | postSolveHook () const override |
| Hook function that is called at the end of solve. | |
Additional Inherited Members | |
| Public Types inherited from TNL::Solvers::Linear::HypreSolver | |
| enum | ErrorMode { IGNORE_HYPRE_ERRORS , WARN_HYPRE_ERRORS , ABORT_HYPRE_ERRORS } |
| How to treat errors returned by Hypre function calls. More... | |
| Protected Attributes inherited from TNL::Solvers::Linear::HypreSolver | |
| const Matrices::HypreParCSRMatrix * | A = nullptr |
| The linear system matrix. | |
| ErrorMode | error_mode = ABORT_HYPRE_ERRORS |
| How to treat Hypre errors. | |
| bool | setup_called = false |
| Indicates if Hypre's setup function was already called. | |
| HYPRE_Solver | solver = nullptr |
| Handle for the Hypre solver. | |
Wrapper for the GMRES solver in Hypre.
Parameters can be set using native Hypre functions, e.g.
See the Hypre Reference Manual for the available parameters.
|
overrideprotectedvirtual |
Hook function that is called at the end of solve.
Reimplemented from TNL::Solvers::Linear::HypreSolver.
|
overridevirtual |
Set the matrix of the linear system to be solved.
This function also resets the internal flag indicating whether the Hypre setup function was called for the current matrix.
| op | The input matrix. |
| reuse_setup | When true, the result of the previous setup phase will be preserved, i.e., the solver (and preconditioner) will not be updated for the new matrix when calling the solve method. |
Reimplemented from TNL::Solvers::Linear::HypreSolver.
|
inlinenodiscardoverridevirtual |
Hypre's internal setup function.
Implements TNL::Solvers::Linear::HypreSolver.
|
inlinenodiscardoverridevirtual |
Hypre's internal solve function.
Implements TNL::Solvers::Linear::HypreSolver.