Loading...
Searching...
No Matches
Dune::Amg::TwoLevelMethodCpr< FO, CSP, S > Class Template Reference

`#include <twolevelmethodcpr.hh>`

Inheritance diagram for Dune::Amg::TwoLevelMethodCpr< FO, CSP, S >:

## Public Types

typedef CSP | CoarseLevelSolverPolicy
| The type of the policy for constructing the coarse level solver.
typedef CoarseLevelSolverPolicy::CoarseLevelSolver | CoarseLevelSolver
| The type of the coarse level solver.
typedef FO | FineOperatorType
| The linear operator of the finel level system.
typedef FineOperatorType::range_type | FineRangeType
| The type of the range of the fine level operator.
typedef FineOperatorType::domain_type | FineDomainType
| The type of the domain of the fine level operator.
typedef CSP::Operator | CoarseOperatorType
| The linear operator of the finel level system.
typedef CoarseOperatorType::range_type | CoarseRangeType
| The type of the range of the coarse level operator.
typedef CoarseOperatorType::domain_type | CoarseDomainType
| The type of the domain of the coarse level operator.
typedef S | SmootherType
| The type of the fine level smoother.

## Public Member Functions

| TwoLevelMethodCpr (const FineOperatorType &op, std::shared_ptr< SmootherType > smoother, const LevelTransferPolicyCpr< FineOperatorType, CoarseOperatorType > &policy, CoarseLevelSolverPolicy &coarsePolicy, std::size_t preSteps=1, std::size_t postSteps=1)
| Constructs a two level method.
| TwoLevelMethodCpr (const TwoLevelMethodCpr &other)
void | updatePreconditioner (FineOperatorType &, std::shared_ptr< SmootherType > smoother, CoarseLevelSolverPolicy &coarsePolicy)
void | updatePreconditioner (std::shared_ptr< SmootherType > smoother, CoarseLevelSolverPolicy &coarsePolicy)
void | pre (FineDomainType &x, FineRangeType &b)
void | post (FineDomainType &x)
bool | hasPerfectUpdate () const
void | apply (FineDomainType &v, const FineRangeType &d)
virtual SolverCategory::Category | category () const

## Detailed Description

template<class FO, class CSP, class S>
class Dune::Amg::TwoLevelMethodCpr< FO, CSP, S >

Template Parameters

  FO | The type of the fine level linear operator.
  CSP | The type of the coarse level solver policy.
  S | The type of the fine level smoother used.

## Member Typedef Documentation

## CoarseOperatorType

template<class FO, class CSP, class S>

typedef CSP::Operator Dune::Amg::TwoLevelMethodCpr< FO, CSP, S >::CoarseOperatorType

The linear operator of the finel level system.

Has to be derived from AssembledLinearOperator.

## FineOperatorType

template<class FO, class CSP, class S>

typedef FO Dune::Amg::TwoLevelMethodCpr< FO, CSP, S >::FineOperatorType

The linear operator of the finel level system.

Has to be derived from AssembledLinearOperator.

## Constructor & Destructor Documentation

## TwoLevelMethodCpr()

template<class FO, class CSP, class S>

Dune::Amg::TwoLevelMethodCpr< FO, CSP, S >::TwoLevelMethodCpr | ( | const FineOperatorType & | op,
|  | std::shared_ptr< SmootherType > | smoother,
|  | const LevelTransferPolicyCpr< FineOperatorType, CoarseOperatorType > & | policy,
|  | CoarseLevelSolverPolicy & | coarsePolicy,
|  | std::size_t | preSteps = 1,
|  | std::size_t | postSteps = 1 )

inline

Constructs a two level method.

Parameters

  op | The fine level operator.
  smoother | The fine level smoother.
  policy | The level transfer policy.
  coarsePolicy | The policy for constructing the coarse level solver.
  preSteps | The number of smoothing steps to apply before the coarse level correction.
  postSteps | The number of smoothing steps to apply after the coarse level correction.

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

- opm/simulators/linalg/twolevelmethodcpr.hh