|
dune-istl 2.10
|
The hierarchies build by the coarsening process. More...
#include <dune/istl/paamg/matrixhierarchy.hh>

Public Types | |
| typedef M | MatrixOperator |
| The type of the matrix operator. | |
| typedef MatrixOperator::matrix_type | Matrix |
| The type of the matrix. | |
| typedef PI | ParallelInformation |
| The type of the index set. | |
| typedef A | Allocator |
| The allocator to use. | |
| typedef Dune::Amg::AggregatesMap< typename MatrixGraph< Matrix >::VertexDescriptor > | AggregatesMap |
| The type of the aggregates map we use. | |
| typedef Dune::Amg::Hierarchy< MatrixOperator, Allocator > | ParallelMatrixHierarchy |
| The type of the parallel matrix hierarchy. | |
| typedef Dune::Amg::Hierarchy< ParallelInformation, Allocator > | ParallelInformationHierarchy |
| The type of the parallel informarion hierarchy. | |
| using | AAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<AggregatesMap*> |
| Allocator for pointers. | |
| typedef std::list< AggregatesMap *, AAllocator > | AggregatesMapList |
| The type of the aggregates maps list. | |
| typedef RedistributeInformation< ParallelInformation > | RedistributeInfoType |
| The type of the redistribute information. | |
| using | RILAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<RedistributeInfoType> |
| Allocator for RedistributeInfoType. | |
| typedef std::list< RedistributeInfoType, RILAllocator > | RedistributeInfoList |
| The type of the list of redistribute information. | |
Public Member Functions | |
| MatrixHierarchy (std::shared_ptr< MatrixOperator > fineMatrix, std::shared_ptr< ParallelInformation > pinfo=std::make_shared< ParallelInformation >()) | |
| Constructor. | |
| ~MatrixHierarchy () | |
| template<typename O, typename T> | |
| void | build (const T &criterion) |
| Build the matrix hierarchy using aggregation. | |
| template<class F> | |
| void | recalculateGalerkin (const F ©Flags) |
| Recalculate the galerkin products. | |
| template<class V, class BA, class TA> | |
| void | coarsenVector (Hierarchy< BlockVector< V, BA >, TA > &hierarchy) const |
| Coarsen the vector hierarchy according to the matrix hierarchy. | |
| template<class S, class TA> | |
| void | coarsenSmoother (Hierarchy< S, TA > &smoothers, const typename SmootherTraits< S >::Arguments &args) const |
| Coarsen the smoother hierarchy according to the matrix hierarchy. | |
| std::size_t | levels () const |
| Get the number of levels in the hierarchy. | |
| std::size_t | maxlevels () const |
| Get the max number of levels in the hierarchy of processors. | |
| bool | hasCoarsest () const |
| bool | isBuilt () const |
| Whether the hierarchy was built. | |
| const ParallelMatrixHierarchy & | matrices () const |
| Get the matrix hierarchy. | |
| const ParallelInformationHierarchy & | parallelInformation () const |
| Get the hierarchy of the parallel data distribution information. | |
| const AggregatesMapList & | aggregatesMaps () const |
| Get the hierarchy of the mappings of the nodes onto aggregates. | |
| const RedistributeInfoList & | redistributeInformation () const |
| Get the hierarchy of the information about redistributions,. | |
| double | getProlongationDampingFactor () const |
| void | getCoarsestAggregatesOnFinest (std::vector< std::size_t > &data) const |
| Get the mapping of fine level unknowns to coarse level aggregates. | |
The hierarchies build by the coarsening process.
Namely a hierarchy of matrices, index sets, remote indices, interfaces and communicators.
| using Dune::Amg::MatrixHierarchy< M, PI, A >::AAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<AggregatesMap*> |
Allocator for pointers.
| typedef Dune::Amg::AggregatesMap<typename MatrixGraph<Matrix>::VertexDescriptor> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMap |
The type of the aggregates map we use.
| typedef std::list<AggregatesMap*,AAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMapList |
The type of the aggregates maps list.
| typedef A Dune::Amg::MatrixHierarchy< M, PI, A >::Allocator |
The allocator to use.
| typedef MatrixOperator::matrix_type Dune::Amg::MatrixHierarchy< M, PI, A >::Matrix |
The type of the matrix.
| typedef M Dune::Amg::MatrixHierarchy< M, PI, A >::MatrixOperator |
The type of the matrix operator.
| typedef PI Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelInformation |
The type of the index set.
| typedef Dune::Amg::Hierarchy<ParallelInformation,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelInformationHierarchy |
The type of the parallel informarion hierarchy.
| typedef Dune::Amg::Hierarchy<MatrixOperator,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelMatrixHierarchy |
The type of the parallel matrix hierarchy.
| typedef std::list<RedistributeInfoType,RILAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoList |
The type of the list of redistribute information.
| typedef RedistributeInformation<ParallelInformation> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoType |
The type of the redistribute information.
| using Dune::Amg::MatrixHierarchy< M, PI, A >::RILAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<RedistributeInfoType> |
|
inline |