Template Numerical Library version\ main:bb09b17
|
Wrapper for the Euclid preconditioner in Hypre. More...
#include <TNL/Solvers/Linear/Hypre.h>
Public Member Functions | |
HypreEuclid (const Matrices::HypreParCSRMatrix &A) | |
HypreEuclid (MPI_Comm comm) | |
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 | setMatrix (const Matrices::HypreParCSRMatrix &op, bool reuse_setup=false) |
Set the matrix of the linear system to be solved. | |
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. | |
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 Member Functions inherited from TNL::Solvers::Linear::HypreSolver | |
virtual void | postSolveHook () const |
Hook function that is called at the end of solve. | |
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 Euclid preconditioner in Hypre.
Euclid implements the Parallel Incomplete LU factorization technique. For more information see: "A Scalable Parallel Algorithm for Incomplete Factor Preconditioning" by David Hysom and Alex Pothen, https://doi.org/10.1137/S1064827500376193
Parameters can be set using native Hypre functions, e.g.
See the Hypre Reference Manual for the available parameters.
|
inlineoverridevirtual |
Hypre's internal setup function.
Implements TNL::Solvers::Linear::HypreSolver.
|
inlineoverridevirtual |
Hypre's internal solve function.
Implements TNL::Solvers::Linear::HypreSolver.