|
| | AmgxPreconditioner (const M &A, const Opm::PropertyTree prm) |
| | Constructor for AmgxPreconditioner.
|
| | ~AmgxPreconditioner () |
| | Destructor for AmgxPreconditioner.
|
| void | pre (X &, Y &) override |
| | Pre-processing step before applying the preconditioner.
|
| void | apply (X &v, const Y &d) override |
| | Applies the preconditioner to a vector.
|
| void | post (X &) override |
| | Post-processing step after applying the preconditioner.
|
| void | update () override |
| | Updates the preconditioner with the current matrix values.
|
| Dune::SolverCategory::Category | category () const override |
| | Returns the solver category.
|
| bool | hasPerfectUpdate () const override |
| | Checks if the preconditioner has a perfect update.
|
template<class M, class X, class Y>
class Amgx::AmgxPreconditioner< M, X, Y >
Wrapper for AMGX's AMG preconditioner.
This class provides an interface to the AMG preconditioner from the AMGX library. It is designed to work with matrices, update vectors, and defect vectors specified by the template parameters. The AmgxInterface class provides a unified interface to AMGX's functionality, allowing for easy switching between CPU and GPU input data types.
- Template Parameters
-
| M | The matrix type |
| X | The vector type for the solution |
| Y | The vector type for the right-hand side |
template<class M, class X, class Y>
Applies the preconditioner to a vector.
Performs one AMG cycle to solve the system. Involves uploading vectors to AMGX, applying the preconditioner, and transferring the result back to the vector.
- Parameters
-
| v | The update vector. |
| d | The defect vector. |