Dune::Amg::MatrixHierarchy< M, PI, A > Class Template Reference
[Parallel Algebraic Multigrid]

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

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

List of all members.

Classes

struct  MatrixStats
 functor to print matrix statistics.
struct  MatrixStats< Matrix, true >

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 std::list
< RedistributeInfoType,
AAllocator
RedistributeInfoList
 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 wis built.
const ParallelMatrixHierarchymatrices () const
 Get the matrix hierarchy.
const
ParallelInformationHierarchy
parallelInformation () 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 hierachy 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

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,AAllocator> 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.


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:
Generated on Sat Apr 24 11:13:51 2010 for dune-istl by  doxygen 1.6.3