dune-istl 3.0-git
Classes | Public Types | Public Member Functions | List of all members
Dune::Amg::MatrixHierarchy< M, PI, A > Class Template Reference

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

#include <dune/istl/paamg/hierarchy.hh>

Public Types

typedefMatrixOperator
 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.
 
typedefAllocator
 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, AllocatorParallelMatrixHierarchy
 The type of the parallel matrix hierarchy.
 
typedef Dune::Amg::Hierarchy< ParallelInformation, AllocatorParallelInformationHierarchy
 The type of the parallel informarion hierarchy.
 
typedef Allocator::template rebind< AggregatesMap * >::other AAllocator
 Allocator for pointers.
 
typedef std::list< AggregatesMap *, AAllocatorAggregatesMapList
 The type of the aggregates maps list.
 
typedef RedistributeInformation< ParallelInformationRedistributeInfoType
 The type of the redistribute information.
 
typedef Allocator::template rebind< RedistributeInfoType >::other RILAllocator
 Allocator for RedistributeInfoType.
 
typedef std::list< RedistributeInfoType, RILAllocatorRedistributeInfoList
 The type of the list of redistribute information.
 

Public Member Functions

 MatrixHierarchy (const MatrixOperator &fineMatrix, const ParallelInformation &pinfo=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 &copyFlags)
 Recalculate the galerkin products.
 
template<class V , class TA >
void coarsenVector (Hierarchy< BlockVector< V, 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 ParallelMatrixHierarchymatrices () const
 Get the matrix hierarchy.
 
const ParallelInformationHierarchyparallelInformation () const
 Get the hierarchy of the parallel data distribution information.
 
const AggregatesMapListaggregatesMaps () const
 Get the hierarchy of the mappings of the nodes onto aggregates.
 
const RedistributeInfoListredistributeInformation () const
 Get the hierarchy of the information about redistributions,.
 
MatrixOperator::field_type getProlongationDampingFactor () const
 
void getCoarsestAggregatesOnFinest (std::vector< std::size_t > &data) const
 Get the mapping of fine level unknowns to coarse level aggregates.
 

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.

Member Typedef Documentation

◆ AAllocator

template<class M , class PI , class A = std::allocator<M>>
typedef Allocator::template rebind<AggregatesMap*>::other Dune::Amg::MatrixHierarchy< M, PI, A >::AAllocator

Allocator for pointers.

◆ AggregatesMap

template<class M , class PI , class A = std::allocator<M>>
typedef Dune::Amg::AggregatesMap<typename MatrixGraph<Matrix>::VertexDescriptor> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMap

The type of the aggregates map we use.

◆ AggregatesMapList

template<class M , class PI , class A = std::allocator<M>>
typedef std::list<AggregatesMap*,AAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMapList

The type of the aggregates maps list.

◆ Allocator

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

The allocator to use.

◆ Matrix

template<class M , class PI , class A = std::allocator<M>>
typedef MatrixOperator::matrix_type Dune::Amg::MatrixHierarchy< M, PI, A >::Matrix

The type of the matrix.

◆ MatrixOperator

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

The type of the matrix operator.

◆ ParallelInformation

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

The type of the index set.

◆ ParallelInformationHierarchy

template<class M , class PI , class A = std::allocator<M>>
typedef Dune::Amg::Hierarchy<ParallelInformation,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelInformationHierarchy

The type of the parallel informarion hierarchy.

◆ ParallelMatrixHierarchy

template<class M , class PI , class A = std::allocator<M>>
typedef Dune::Amg::Hierarchy<MatrixOperator,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelMatrixHierarchy

The type of the parallel matrix hierarchy.

◆ RedistributeInfoList

template<class M , class PI , class A = std::allocator<M>>
typedef std::list<RedistributeInfoType,RILAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoList

The type of the list of redistribute information.

◆ RedistributeInfoType

template<class M , class PI , class A = std::allocator<M>>
typedef RedistributeInformation<ParallelInformation> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoType

The type of the redistribute information.

◆ RILAllocator

template<class M , class PI , class A = std::allocator<M>>
typedef Allocator::template rebind<RedistributeInfoType>::other Dune::Amg::MatrixHierarchy< M, PI, A >::RILAllocator

Allocator for RedistributeInfoType.

Member Function Documentation

◆ getProlongationDampingFactor()

template<class M , class PI , class A = std::allocator<M>>
MatrixOperator::field_type Dune::Amg::MatrixHierarchy< M, PI, A >::getProlongationDampingFactor ( ) const
inline

The documentation for this class was generated from the following file: