|
| OwningTwoLevelPreconditioner (const OperatorType &linearoperator, const Opm::PropertyTree &prm, const std::function< VectorType()> weightsCalculator, std::size_t pressureIndex) |
|
| OwningTwoLevelPreconditioner (const OperatorType &linearoperator, const Opm::PropertyTree &prm, const std::function< VectorType()> weightsCalculator, std::size_t pressureIndex, const Communication &comm) |
|
virtual void | pre (VectorType &x, VectorType &b) override |
|
virtual void | apply (VectorType &v, const VectorType &d) override |
|
virtual void | post (VectorType &x) override |
|
virtual void | update () override |
|
virtual Dune::SolverCategory::Category | category () const override |
|
virtual bool | hasPerfectUpdate () const override |
|
template<class OperatorType, class VectorType, class LevelTransferPolicy, class Communication = Dune::Amg::SequentialInformation>
class Dune::OwningTwoLevelPreconditioner< OperatorType, VectorType, LevelTransferPolicy, Communication >
A version of the two-level preconditioner that is:
- Self-contained, because it owns its policy components.
- Flexible, because it uses the runtime-flexible solver and preconditioner factory.