|
My Project
|
Jacobi preconditioner on the GPU. More...
#include <GpuJac.hpp>
Public Types | |
| using | matrix_type = typename std::remove_const< M >::type |
| The matrix type the preconditioner is for. | |
| using | domain_type = X |
| The domain type of the preconditioner. | |
| using | range_type = Y |
| The range type of the preconditioner. | |
| using | field_type = typename X::field_type |
| The field type of the preconditioner. | |
Public Member Functions | |
| GpuJac (const M &A, field_type w) | |
| Constructor. | |
| virtual void | pre (X &x, Y &b) override |
| Prepare the preconditioner. | |
| virtual void | apply (X &v, const Y &d) override |
| Apply the preconditoner. | |
| virtual void | post (X &x) override |
| Post processing. | |
| virtual Dune::SolverCategory::Category | category () const override |
| Category of the preconditioner (see SolverCategory::Category) | |
| virtual void | update () override |
| Updates the matrix data. | |
| virtual bool | hasPerfectUpdate () const override |
Static Public Member Functions | |
| static constexpr bool | shouldCallPre () |
| static constexpr bool | shouldCallPost () |
Jacobi preconditioner on the GPU.
| M | The matrix type to operate on |
| X | Type of the update |
| Y | Type of the defect |
| l | Ignored. Just there to have the same number of template arguments as other preconditioners. |
| Opm::gpuistl::GpuJac< M, X, Y, l >::GpuJac | ( | const M & | A, |
| field_type | w | ||
| ) |
Constructor.
Constructor gets all parameters to operate the prec.
| A | The matrix to operate on. |
| w | The relaxation factor. |
|
inlineoverridevirtual |
Implements Dune::PreconditionerWithUpdate< X, Y >.
|
overridevirtual |
Post processing.
|
overridevirtual |
Prepare the preconditioner.
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
overridevirtual |
Updates the matrix data.
Implements Dune::PreconditionerWithUpdate< X, Y >.