Parallel Algebraic Multigrid A Parallel Algebraic Multigrid based on Agglomeration. More...
Detailed DescriptionA Parallel Algebraic Multigrid based on Agglomeration. Typedef Documentation◆ CoarseSolver
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
the type of the coarse solver. ◆ Domain
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The domain type. ◆ Operator
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The matrix operator type. ◆ OperatorHierarchy
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The operator hierarchy type. ◆ ParallelInformation
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The type of the parallel information. Either OwnerOverlapCommunication or another type describing the parallel data distribution and providing communication methods. ◆ ParallelInformationHierarchy
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The parallal data distribution hierarchy type. ◆ Range
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The range type. ◆ Smoother
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The type of the smoother. One of the preconditioners implementing the Preconditioner interface. Note that the smoother has to fit the ParallelInformation. ◆ SmootherArgs
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The argument type for the construction of the smoother. ◆ SmootherType
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
Function Documentation◆ AMGCPR() [1/3]
template<class M , class X , class S , class PI , class A >
Copy constructor. ◆ AMGCPR() [2/3]
template<class M , class X , class S , class PI , class A >
template<class C >
Construct an AMG with an inexact coarse solver based on the smoother. As coarse solver a preconditioned CG method with the smoother as preconditioner will be used. The matrix hierarchy is built automatically.
◆ AMGCPR() [3/3]
template<class M , class X , class S , class PI , class A >
Construct a new amg with a specific coarse solver.
◆ apply()
template<class M , class X , class S , class PI , class A >
◆ category()
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
Category of the preconditioner (see SolverCategory::Category) ◆ getCoarsestAggregateNumbers()
template<class M , class X , class S , class PI , class A >
template<class A1 >
Get the aggregate number of each unknown on the coarsest level.
◆ hasPerfectUpdate()
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
Implements Dune::PreconditionerWithUpdate< X, X >. ◆ levels()
template<class M , class X , class S , class PI , class A >
◆ maxlevels()
template<class M , class X , class S , class PI , class A >
◆ post()
template<class M , class X , class S , class PI , class A >
◆ pre()
template<class M , class X , class S , class PI , class A >
◆ recalculateHierarchy()
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
Recalculate the matrix hierarchy. It is assumed that the coarsening for the changed fine level matrix would yield the same aggregates. In this case it suffices to recalculate all the Galerkin products for the matrices of the coarser levels. References Dune::Amg::redistributeMatrixAmg(). ◆ update()
template<class M , class X , class S , class PI , class A >
Update the coarse solver and the hierarchies. Implements Dune::PreconditionerWithUpdate< X, X >. ◆ updateSolver()
template<class M , class X , class S , class PI , class A >
template<class C >
Update the coarse solver and the hierarchies. ◆ usesDirectCoarseLevelSolver()
template<class M , class X , class S , class PI , class A >
Check whether the coarse solver used is a direct solver.
◆ ~AMGCPR()
template<class M , class X , class S , class PI , class A >
Variable Documentation◆ aggregates
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the aggregates maps. ◆ level
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The level index. ◆ lhs
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the left hand side. ◆ matrix
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the matrices. ◆ pinfo
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the parallel information. ◆ redist
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the redistribution information. ◆ rhs
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the right hand sided. ◆ smoother
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the smoothers. ◆ update
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
The iterator over the updates. Friends◆ KAMG
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
template<class M1 , class X1 , class S1 , class P1 , class K1 , class A1 >
◆ KAmgTwoGrid< AMGCPR >
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||