dune-istl
2.3.1
|
A LeveTransferPolicy that used aggregation to construct the coarse level system. More...
#include <dune/istl/paamg/twolevelmethod.hh>
Public Types | |
typedef LevelTransferPolicy< O, O > | FatherType |
typedef C | Criterion |
typedef SequentialInformation | ParallelInformation |
typedef O | FineOperatorType |
The linear operator of the finel level system. Has to be derived from AssembledLinearOperator. | |
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 O | CoarseOperatorType |
The linear operator of the finel level system. Has to be derived from AssembledLinearOperator. | |
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. |
Public Member Functions | |
AggregationLevelTransferPolicy (const Criterion &crit) | |
void | createCoarseLevelSystem (const O &fineOperator) |
Algebraically creates the coarse level system. | |
void | moveToCoarseLevel (const typename FatherType::FineRangeType &fineRhs) |
void | moveToFineLevel (typename FatherType::FineDomainType &fineLhs) |
Updates the fine level linear system after the correction of the coarse levels system. | |
AggregationLevelTransferPolicy * | clone () const |
Clone the current object. | |
shared_ptr< CoarseOperatorType > & | getCoarseLevelOperator () |
Get the coarse level operator. | |
CoarseRangeType & | getCoarseLevelRhs () |
Get the coarse level right hand side. | |
CoarseDomainType & | getCoarseLevelLhs () |
Get the coarse level left hand side. | |
virtual void | moveToCoarseLevel (const FineRangeType &fineRhs)=0 |
Transfers the data to the coarse level. |
Protected Attributes | |
CoarseRangeType | rhs_ |
The coarse level rhs. | |
CoarseDomainType | lhs_ |
The coarse level lhs. | |
shared_ptr< CoarseOperatorType > | operator_ |
the coarse level linear operator. |
A LeveTransferPolicy that used aggregation to construct the coarse level system.
O | The type of the fine and coarse level operator. |
C | The criterion that describes the aggregation procedure. |
|
inherited |
The type of the domain of the coarse level operator.
|
inherited |
The linear operator of the finel level system. Has to be derived from AssembledLinearOperator.
|
inherited |
The type of the range of the coarse level operator.
typedef C Dune::Amg::AggregationLevelTransferPolicy< O, C >::Criterion |
typedef LevelTransferPolicy<O,O> Dune::Amg::AggregationLevelTransferPolicy< O, C >::FatherType |
|
inherited |
The type of the domain of the fine level operator.
|
inherited |
The linear operator of the finel level system. Has to be derived from AssembledLinearOperator.
|
inherited |
The type of the range of the fine level operator.
typedef SequentialInformation Dune::Amg::AggregationLevelTransferPolicy< O, C >::ParallelInformation |
|
inline |
Referenced by Dune::Amg::AggregationLevelTransferPolicy< O, C >::clone().
|
inlinevirtual |
Clone the current object.
Implements Dune::Amg::LevelTransferPolicy< O, O >.
References Dune::Amg::AggregationLevelTransferPolicy< O, C >::AggregationLevelTransferPolicy().
|
inlinevirtual |
Algebraically creates the coarse level system.
After returning from this function the coarse level operator can be accessed using getCoarseLevelOperator().
fineOperator | The operator of the fine level system. |
Implements Dune::Amg::LevelTransferPolicy< O, O >.
References Dune::Amg::GalerkinProduct< T >::build(), Dune::Amg::BaseGalerkinProduct::calculate(), Dune::Amg::LevelTransferPolicy< O, O >::lhs_, Dune::Amg::LevelTransferPolicy< O, O >::operator_, and Dune::Amg::LevelTransferPolicy< O, O >::rhs_.
|
inlineinherited |
Get the coarse level left hand side.
References Dune::Amg::LevelTransferPolicy< FO, CO >::lhs_.
|
inlineinherited |
Get the coarse level operator.
References Dune::Amg::LevelTransferPolicy< FO, CO >::operator_.
|
inlineinherited |
Get the coarse level right hand side.
References Dune::Amg::LevelTransferPolicy< FO, CO >::rhs_.
|
pure virtualinherited |
Transfers the data to the coarse level.
Restricts the residual to the right hand side of the coarse level system and initialies the left hand side of the coarse level system. These can afterwards be accessed usinf getCoarseLevelRhs() and getCoarseLevelLhs().
fineDefect | The current residual of the fine level system. |
|
inline |
|
inlinevirtual |
Updates the fine level linear system after the correction of the coarse levels system.
After returning from this function the coarse level correction will have been added to fine level system.
inout] | fineLhs The left hand side of the fine level to update with the coarse level correction. |
Implements Dune::Amg::LevelTransferPolicy< O, O >.
References Dune::Amg::LevelTransferPolicy< O, O >::lhs_.
|
protectedinherited |
|
protectedinherited |
the coarse level linear operator.
Referenced by Dune::Amg::AggregationLevelTransferPolicy< O, C >::createCoarseLevelSystem().
|
protectedinherited |
The coarse level rhs.
Referenced by Dune::Amg::AggregationLevelTransferPolicy< O, C >::createCoarseLevelSystem(), and Dune::Amg::AggregationLevelTransferPolicy< O, C >::moveToCoarseLevel().