Dune Core Modules (2.4.1)

The hierarchies build by the coarsening process. More...

#include <dune/istl/paamg/hierarchy.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.
 
typedef Allocator::template rebind< AggregatesMap * >::other AAllocator
 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.
 
typedef Allocator::template rebind< RedistributeInfoType >::other RILAllocator
 Allocator for RedistributeInfoType.
 
typedef std::list< RedistributeInfoType, RILAllocator > RedistributeInfoList
 The type of the list of redistribute information.
 

Public Member Functions

 MatrixHierarchy (const MatrixOperator &fineMatrix, const ParallelInformation &pinfo=ParallelInformation())
 Constructor. More...
 
template<typename O , typename T >
void build (const T &criterion)
 Build the matrix hierarchy using aggregation. More...
 
template<class F >
void recalculateGalerkin (const F &copyFlags)
 Recalculate the galerkin products. More...
 
template<class V , class TA >
void coarsenVector (Hierarchy< BlockVector< V, TA > > &hierarchy) const
 Coarsen the vector hierarchy according to the matrix hierarchy. More...
 
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. More...
 
std::size_t levels () const
 Get the number of levels in the hierarchy. More...
 
std::size_t maxlevels () const
 Get the max number of levels in the hierarchy of processors. More...
 
bool isBuilt () const
 Whether the hierarchy was built. More...
 
const ParallelMatrixHierarchy & matrices () const
 Get the matrix hierarchy. More...
 
const ParallelInformationHierarchy & parallelInformation () const
 Get the hierarchy of the parallel data distribution information. More...
 
const AggregatesMapList & aggregatesMaps () const
 Get the hierarchy of the mappings of the nodes onto aggregates. More...
 
const RedistributeInfoList & redistributeInformation () const
 Get the hierachy of the information about redistributions,. More...
 
void getCoarsestAggregatesOnFinest (std::vector< std::size_t > &data) const
 Get the mapping of fine level unknowns to coarse level aggregates. More...
 

Detailed Description

template<class M, class PI, class A = std::allocator<M>>
class Dune::Amg::MatrixHierarchy< M, PI, A >

The hierarchies build by the coarsening process.

Namely a hierarchy of matrices, index sets, remote indices, interfaces and communicators.


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden & Uni Heidelberg  |  generated with Hugo v0.111.3 (Jun 19, 23:17, 2026)