dune-istl
2.1.1
|
The hierarchies build by the coarsening process. More...
#include <dune/istl/paamg/hierarchy.hh>
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 ©Flags) |
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 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. |
The hierarchies build by the coarsening process.
Namely a hierarchy of matrices, index sets, remote indices, interfaces and communicators.
typedef Allocator::template rebind<AggregatesMap*>::other Dune::Amg::MatrixHierarchy< M, PI, A >::AAllocator |
Allocator for pointers.
typedef Dune::Amg::AggregatesMap<typename MatrixGraph<Matrix>::VertexDescriptor> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMap |
The type of the aggregates map we use.
typedef std::list<AggregatesMap*,AAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::AggregatesMapList |
The type of the aggregates maps list.
typedef A Dune::Amg::MatrixHierarchy< M, PI, A >::Allocator |
The allocator to use.
typedef MatrixOperator::matrix_type Dune::Amg::MatrixHierarchy< M, PI, A >::Matrix |
The type of the matrix.
typedef M Dune::Amg::MatrixHierarchy< M, PI, A >::MatrixOperator |
The type of the matrix operator.
typedef PI Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelInformation |
The type of the index set.
typedef Dune::Amg::Hierarchy<ParallelInformation,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelInformationHierarchy |
The type of the parallel informarion hierarchy.
typedef Dune::Amg::Hierarchy<MatrixOperator,Allocator> Dune::Amg::MatrixHierarchy< M, PI, A >::ParallelMatrixHierarchy |
The type of the parallel matrix hierarchy.
typedef std::list<RedistributeInfoType,RILAllocator> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoList |
The type of the list of redistribute information.
typedef RedistributeInformation<ParallelInformation> Dune::Amg::MatrixHierarchy< M, PI, A >::RedistributeInfoType |
The type of the redistribute information.
typedef Allocator::template rebind<RedistributeInfoType>::other Dune::Amg::MatrixHierarchy< M, PI, A >::RILAllocator |
Allocator for RedistributeInfoType.
MatrixOperator::field_type Dune::Amg::MatrixHierarchy< M, PI, A >::getProlongationDampingFactor | ( | ) | const [inline] |