dune-istl  2.2.1
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

typedef M MatrixOperator
 The type of the matrix operator. More...
 
typedef MatrixOperator::matrix_type Matrix
 The type of the matrix. More...
 
typedef PI ParallelInformation
 The type of the index set. More...
 
typedef A Allocator
 The allocator to use. More...
 
typedef
Dune::Amg::AggregatesMap
< typename MatrixGraph< Matrix >
::VertexDescriptor > 
AggregatesMap
 The type of the aggregates map we use. More...
 
typedef Dune::Amg::Hierarchy
< MatrixOperator, Allocator
ParallelMatrixHierarchy
 The type of the parallel matrix hierarchy. More...
 
typedef Dune::Amg::Hierarchy
< ParallelInformation,
Allocator
ParallelInformationHierarchy
 The type of the parallel informarion hierarchy. More...
 
typedef Allocator::template
rebind< AggregatesMap * >
::other 
AAllocator
 Allocator for pointers. More...
 
typedef std::list
< AggregatesMap *, AAllocator
AggregatesMapList
 The type of the aggregates maps list. More...
 
typedef
RedistributeInformation
< ParallelInformation
RedistributeInfoType
 The type of the redistribute information. More...
 
typedef Allocator::template
rebind< RedistributeInfoType >
::other 
RILAllocator
 Allocator for RedistributeInfoType. More...
 
typedef std::list
< RedistributeInfoType,
RILAllocator
RedistributeInfoList
 The type of the list of redistribute information. More...
 

Public Member Functions

 MatrixHierarchy (const MatrixOperator &fineMatrix, const ParallelInformation &pinfo=ParallelInformation())
 Constructor. More...
 
 ~MatrixHierarchy ()
 
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 hasCoarsest () const
 
bool isBuilt () const
 Whether the hierarchy was built. More...
 
const ParallelMatrixHierarchymatrices () const
 Get the matrix hierarchy. More...
 
const
ParallelInformationHierarchy
parallelInformation () const
 Get the hierarchy of the parallel data distribution information. More...
 
const AggregatesMapListaggregatesMaps () const
 Get the hierarchy of the mappings of the nodes onto aggregates. More...
 
const RedistributeInfoListredistributeInformation () const
 Get the hierachy of the information about redistributions,. More...
 
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. 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.

Member Typedef Documentation

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.

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.

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.

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

The allocator to use.

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.

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.

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.

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.

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.

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.

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.

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

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: