an algebraic multigrid method using a Krylov-cycle.
More...
#include <dune/istl/paamg/amg.hh>
|
| KAMG (const OperatorHierarchy &matrices, CoarseSolver &coarseSolver, const SmootherArgs &smootherArgs, std::size_t gamma, std::size_t preSmoothingSteps=1, std::size_t postSmoothingSteps=1, std::size_t maxLevelKrylovSteps=3, double minDefectReduction=1e-1) |
| Construct a new amg with a specific coarse solver. More...
|
|
template<class C > |
| KAMG (const Operator &fineOperator, const C &criterion, const SmootherArgs &smootherArgs, std::size_t gamma=1, std::size_t preSmoothingSteps=1, std::size_t postSmoothingSteps=1, std::size_t maxLevelKrylovSteps=3, double minDefectReduction=1e-1, const ParallelInformation &pinfo=ParallelInformation()) |
| Construct an AMG with an inexact coarse solver based on the smoother. More...
|
|
void | pre (Domain &x, Range &b) |
| Prepare the preconditioner. More...
|
|
void | post (Domain &x) |
| Clean up. More...
|
|
void | apply (Domain &v, const Range &d) |
| Apply one step of the preconditioner to the system A(v)=d. More...
|
|
std::size_t | maxlevels () |
|
template<class M, class X, class S, class P, class K, class A>
class Dune::Amg::KAMG< M, X, S, P, K, A >
an algebraic multigrid method using a Krylov-cycle.
The implementation is based on the paper [Notay and Vassilevski, 2007]
- Template Parameters
-
M | The type of the linear operator. |
X | The type of the range and domain. |
PI | The parallel information object. Use SequentialInformation (default) for a sequential AMG, OwnerOverlapCopyCommunication for the parallel case. |
K | The type of the Krylov method to use for the cycle. |
A | The type of the allocator to use. |
template<class M , class X , class S , class P , class K , class A >
The type of the underlying AMG.
template<class M , class X , class S , class P , class K , class A >
The type of the coarse solver.
template<class M , class X , class S , class P , class K , class A >
The domain type of the preconditioner.
The field type of the preconditioner.
template<class M , class X , class S , class P , class K , class A >
The type of the Krylov solver for the cycle.
template<class M , class X , class S , class P , class K , class A >
the type of the lineatr operator.
template<class M , class X , class S , class P , class K , class A >
The type of the hierarchy of operators.
template<class M , class X , class S , class P , class K , class A >
the type of the parallelinformation to use.
template<class M , class X , class S , class P , class K , class A >
The type of the hierarchy of parallel information.
template<class M , class X , class S , class P , class K , class A >
The range type of the preconditioner.
template<class M , class X , class S , class P , class K , class A >
The type of the scalar product.
template<class M , class X , class S , class P , class K , class A >
The type of the arguments for construction of the smoothers.
template<class M , class X , class S , class P , class K , class A >
Enumerator |
---|
category |
The solver category.
|
The documentation for this class was generated from the following files: