Is an adaptation of Dune::BlockPreconditioner that works within the CuISTL framework.
More...
|
| GpuBlockPreconditioner (const std::shared_ptr< P > &p, const std::shared_ptr< const communication_type > &c) |
| Constructor.
|
|
| GpuBlockPreconditioner (const std::shared_ptr< P > &p, const communication_type &c) |
|
virtual void | pre (X &x, Y &b) override |
| Prepare the preconditioner.
|
|
virtual void | apply (X &v, const Y &d) override |
| Apply the preconditioner.
|
|
virtual void | update () override |
|
virtual void | post (X &x) override |
|
virtual Dune::SolverCategory::Category | category () const override |
| Category of the preconditioner (see SolverCategory::Category)
|
|
virtual std::shared_ptr< Dune::PreconditionerWithUpdate< X, Y > > | getUnderlyingPreconditioner () override |
| getUnderlyingPreconditioner gets the underlying preconditioner (preconditioner being held)
|
|
virtual bool | hasPerfectUpdate () const override |
|
template<class X, class Y, class C, class P = Dune::PreconditionerWithUpdate<X, Y>>
class Opm::gpuistl::GpuBlockPreconditioner< X, Y, C, P >
Is an adaptation of Dune::BlockPreconditioner that works within the CuISTL framework.
- Note
- We aim to intgrate this into OwningBlockPreconditioner (or a relative thereof).