Template Numerical Library version\ main:bb09b17
Loading...
Searching...
No Matches
TNL::Solvers::Linear::HypreEuclid Class Reference

Wrapper for the Euclid preconditioner in Hypre. More...

#include <TNL/Solvers/Linear/Hypre.h>

Inheritance diagram for TNL::Solvers::Linear::HypreEuclid:
Collaboration diagram for TNL::Solvers::Linear::HypreEuclid:

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::HypreParCSRMatrixA = 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.
 

Detailed Description

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.

HYPRE_EuclidSetLevel(precond, 2);
Wrapper for the Euclid preconditioner in Hypre.
Definition Hypre.h:593

See the Hypre Reference Manual for the available parameters.

Member Function Documentation

◆ setupFcn()

HYPRE_PtrToParSolverFcn TNL::Solvers::Linear::HypreEuclid::setupFcn ( ) const
inlineoverridevirtual

Hypre's internal setup function.

Implements TNL::Solvers::Linear::HypreSolver.

◆ solveFcn()

HYPRE_PtrToParSolverFcn TNL::Solvers::Linear::HypreEuclid::solveFcn ( ) const
inlineoverridevirtual

Hypre's internal solve function.

Implements TNL::Solvers::Linear::HypreSolver.


The documentation for this class was generated from the following files: