Loading...
Searching...
No Matches
Dune::OwningTwoLevelPreconditioner< OperatorType, VectorType, LevelTransferPolicy, Communication > Class Template Reference

A version of the two-level preconditioner that is: More...

`#include <OwningTwoLevelPreconditioner.hpp>`

Inheritance diagram for Dune::OwningTwoLevelPreconditioner< OperatorType, VectorType, LevelTransferPolicy, Communication >:

## Public Types

using | MatrixType = typename OperatorType::matrix_type
using | PrecFactory = Opm::PreconditionerFactory<OperatorType, Communication>
using | AbstractOperatorType = Dune::AssembledLinearOperator<MatrixType, VectorType, VectorType>

## Public Member Functions

| 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

## Detailed Description

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.

## Member Function Documentation

## hasPerfectUpdate()

template<class OperatorType, class VectorType, class LevelTransferPolicy, class Communication = Dune::Amg::SequentialInformation>

virtual bool Dune::OwningTwoLevelPreconditioner< OperatorType, VectorType, LevelTransferPolicy, Communication >::hasPerfectUpdate | ( |  | ) | const

inline override virtual

Implements Dune::PreconditionerWithUpdate< VectorType, VectorType >.

## update()

template<class OperatorType, class VectorType, class LevelTransferPolicy, class Communication = Dune::Amg::SequentialInformation>

virtual void Dune::OwningTwoLevelPreconditioner< OperatorType, VectorType, LevelTransferPolicy, Communication >::update | ( |  | ) |

inline override virtual

Implements Dune::PreconditionerWithUpdate< VectorType, VectorType >.

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

- opm/simulators/linalg/OwningTwoLevelPreconditioner.hpp