dune-istl  2.2.0
Classes | Public Types | Public Member Functions
Dune::Amg::MatrixHierarchy< M, PI, A > Class Template Reference

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 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.
 ~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 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 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,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: