Template Numerical Library: TNL::Solvers::Linear::HypreEuclid Class Reference

Template Numerical Library version\ main:0b2c40fb1

Loading...
Searching...
No Matches
Public Member Functions | List of all members
TNL::Solvers::Linear::HypreEuclid Class Reference
Wrappers for the Hypre library

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

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

Inheritance diagram for TNL::Solvers::Linear::HypreEuclid:
[legend]
Collaboration diagram for TNL::Solvers::Linear::HypreEuclid:
[legend]

## 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 : std::uint8_t { 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.

## 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.

TNL::Solvers::Linear::HypreEuclid precond;
HYPRE_EuclidSetLevel(precond, 2);
TNL::Solvers::Linear::HypreEuclid
Wrapper for the Euclid preconditioner in Hypre.
Definition Hypre.h:590

See the Hypre Reference Manual for the available parameters.

## Member Function Documentation

## ◆ setupFcn()

HYPRE_PtrToParSolverFcn TNL::Solvers::Linear::HypreEuclid::setupFcn | ( |  | ) | const
| inlinenodiscardoverridevirtual

Hypre's internal setup function.

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

## ◆ solveFcn()

HYPRE_PtrToParSolverFcn TNL::Solvers::Linear::HypreEuclid::solveFcn | ( |  | ) | const
| inlinenodiscardoverridevirtual

Hypre's internal solve function.

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

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

- src/TNL/Solvers/Linear/Hypre.h