Dune Core Modules (unstable)
Dune::Amg::MatrixHierarchy< M, PI, A > Class Template Reference
The hierarchies build by the coarsening process. More...
#include <dune/istl/paamg/matrixhierarchy.hh>
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. | |
using | AAllocator = typename std::allocator_traits< Allocator >::template rebind_alloc< AggregatesMap * > |
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. | |
using | RILAllocator = typename std::allocator_traits< Allocator >::template rebind_alloc< RedistributeInfoType > |
Allocator for RedistributeInfoType. | |
typedef std::list< RedistributeInfoType, RILAllocator > | RedistributeInfoList |
The type of the list of redistribute information. | |
Public Member Functions | |
MatrixHierarchy (std::shared_ptr< MatrixOperator > fineMatrix, std::shared_ptr< ParallelInformation > pinfo=std::make_shared< ParallelInformation >()) | |
Constructor. More... | |
template<typename O , typename T > | |
void | build (const T &criterion) |
Build the matrix hierarchy using aggregation. More... | |
template<class F > | |
void | recalculateGalerkin (const F ©Flags) |
Recalculate the galerkin products. More... | |
template<class V , class BA , class TA > | |
void | coarsenVector (Hierarchy< BlockVector< V, BA >, 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 | isBuilt () const |
Whether the hierarchy was built. More... | |
const ParallelMatrixHierarchy & | matrices () const |
Get the matrix hierarchy. More... | |
const ParallelInformationHierarchy & | parallelInformation () const |
Get the hierarchy of the parallel data distribution information. More... | |
const AggregatesMapList & | aggregatesMaps () const |
Get the hierarchy of the mappings of the nodes onto aggregates. More... | |
const RedistributeInfoList & | redistributeInformation () const |
Get the hierarchy of the information about redistributions,. More... | |
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 >
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.
The documentation for this class was generated from the following file:
- dune/istl/paamg/matrixhierarchy.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 21, 23:30, 2024)