Loading...
Searching...
No Matches
Parallel Algebraic Multigrid
Iterative Solvers Template Library (ISTL) » Iterative Solvers » Preconditioners

A Parallel Algebraic Multigrid based on Agglomeration. More...

Collaboration diagram for Parallel Algebraic Multigrid:

## Files

file | aggregates.hh
| Provides classes for the Coloring process of AMG.
file | amg.hh
| The AMG preconditioner.
file | construction.hh
| Helper classes for the construction of classes without empty constructor.
file | dependency.hh
| Provides classes for initializing the link attributes of a matrix graph.
file | galerkin.hh
| Provides a class for building the galerkin product based on a aggregation scheme.
file | globalaggregates.hh
| Provdes class for identifying aggregates globally.
file | graph.hh
| Provides classes for building the matrix graph.
file | hierarchy.hh
| Provides a classes representing the hierarchies in AMG.
file | indicescoarsener.hh
| Provides a class for building the index set and remote indices on the coarse level.
file | kamg.hh
| Provides an algebraic multigrid using a Krylov cycle.
file | matrixhierarchy.hh
| Provides a classes representing the hierarchies in AMG.
file | parameters.hh
| Parameter classes for customizing AMG.
file | properties.hh
| Provides classes for handling internal properties in a graph.
file | smoother.hh
| Classes for the generic construction and application of the smoothers.
file | transfer.hh
| Prolongation and restriction for amg.
file | twolevelmethod.hh
| Algebraic twolevel methods.

## Namespaces

namespace | Dune

## Classes

class | Dune::Amg::AggregationCriterion< T >
| Base class of all aggregation criterions. More...
class | Dune::Amg::SymmetricMatrixDependency< M, N >
| Dependency policy for symmetric matrices. More...
class | Dune::Amg::Dependency< M, N >
| Dependency policy for symmetric matrices. More...
class | Dune::Amg::SymmetricDependency< M, N >
| Dependency policy for symmetric matrices. More...
class | Dune::Amg::Diagonal< N >
| Norm that uses only the [N][N] entry of the block to determine couplings. More...
class | Dune::Amg::FirstDiagonal
| Norm that uses only the [0][0] entry of the block to determine couplings. More...
struct | Dune::Amg::RowSum
| Functor using the row sum (infinity) norm to determine strong couplings. More...
struct | Dune::Amg::FrobeniusNorm
struct | Dune::Amg::AlwaysOneNorm
class | Dune::Amg::SymmetricCriterion< M, Norm >
| Criterion taking advantage of symmetric matrices. More...
class | Dune::Amg::UnSymmetricCriterion< M, Norm >
| Criterion suitable for unsymmetric matrices. More...
class | Dune::Amg::Aggregator< G >
| Class for building the aggregates. More...
class | Dune::Amg::AggregatesMap< V >
| Class providing information about the mapping of the vertices onto aggregates. More...
class | Dune::Amg::AggregatesMap< V >::DummyEdgeVisitor
| A Dummy visitor that does nothing for each visited edge. More...
class | Dune::Amg::Aggregate< G, S >
| A class for temporarily storing the vertices of an aggregate in. More...
class | Dune::Amg::KAMG< M, X, S, PI, K, A >
| an algebraic multigrid method using a Krylov-cycle. More...
class | Dune::Amg::KAmgTwoGrid< AMG >
| Two grid operator for AMG with Krylov cycle. More...
class | Dune::Amg::AMG< M, X, S, PI, A >
| Parallel algebraic multigrid based on agglomeration. More...
struct | Dune::Amg::DirectSolverSelector< Matrix, Vector >
struct | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >
struct | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >
struct | Dune::AMGCreator::isValidMatrix< class >
struct | Dune::AMGCreator::isValidMatrix< BCRSMatrix< FieldMatrix< T, n, m >, A > >
struct | Dune::Amg::ConstructionTraits< T >
| Traits class for generically constructing non default constructable types. More...
struct | Dune::Amg::ConstructionTraits< BlockVector< T, A > >
struct | Dune::Amg::ParallelOperatorArgs< M, C >
struct | Dune::Amg::OwnerOverlapCopyCommunicationArgs
struct | Dune::Amg::SequentialCommunicationArgs
struct | Dune::Amg::ConstructionTraits< OverlappingSchwarzOperator< M, X, Y, C > >
struct | Dune::Amg::ConstructionTraits< NonoverlappingSchwarzOperator< M, X, Y, C > >
struct | Dune::Amg::MatrixAdapterArgs< M, X, Y >
struct | Dune::Amg::ConstructionTraits< MatrixAdapter< M, X, Y > >
struct | Dune::Amg::ConstructionTraits< SequentialInformation >
struct | Dune::Amg::ConstructionTraits< OwnerOverlapCopyCommunication< T1, T2 > >
class | Dune::Amg::EdgeProperties
| Class representing the properties of an edge in the matrix graph. More...
class | Dune::Amg::VertexProperties
| Class representing a node in the matrix graph. More...
class | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >
struct | Dune::Amg::OverlapVertex< T >
class | Dune::Amg::SparsityBuilder< M >
| Functor for building the sparsity pattern of the matrix using examineConnectivity. More...
class | Dune::Amg::BaseGalerkinProduct
class | Dune::Amg::GalerkinProduct< T >
class | Dune::Amg::GalerkinProduct< SequentialInformation >
struct | Dune::Amg::BaseConnectivityConstructor
class | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >
| Visitor for identifying connected aggregates during a breadthFirstSearch. More...
struct | Dune::Amg::ConnectivityConstructor< G, T >
struct | Dune::Amg::ConnectivityConstructor< G, SequentialInformation >
struct | Dune::Amg::DirichletBoundarySetter< T >
struct | Dune::Amg::DirichletBoundarySetter< SequentialInformation >
class | Dune::Amg::MatrixGraph< M >
| The (undirected) graph of a matrix. More...
class | Dune::Amg::SubGraph< G, T >
| A subgraph of a graph. More...
class | Dune::Amg::VertexPropertiesGraph< G, VP, VM >
| Attaches properties to the vertices of a graph. More...
class | Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >
| Attaches properties to the edges and vertices of a graph. More...
class | Dune::Amg::GraphVertexPropertiesSelector< G >
| Wrapper to access the internal edge properties of a graph via operator[](). More...
class | Dune::Amg::GraphEdgePropertiesSelector< G >
| Wrapper to access the internal vertex properties of a graph via operator[](). More...
class | Dune::Amg::Hierarchy< T, A >
| A hierarchy of containers (e.g. matrices or vectors). More...
class | Dune::Amg::IndicesCoarsener< T, E >
class | Dune::Amg::ParallelIndicesCoarsener< T, E >
class | Dune::Amg::IndicesCoarsener< OwnerOverlapCopyCommunication< G, L >, E >
| Coarsen Indices in the parallel case. More...
class | Dune::Amg::IndicesCoarsener< SequentialInformation, E >
| Coarsen Indices in the sequential case. More...
class | Dune::Amg::MatrixHierarchy< M, PI, A >
| The hierarchies build by the coarsening process. More...
class | Dune::Amg::CoarsenCriterion< T >
| The criterion describing the stop criteria for the coarsening process. More...
class | Dune::Amg::DependencyParameters
| Parameters needed to check whether a node depends on another. More...
class | Dune::Amg::AggregationParameters
| Parameters needed for the aggregation process. More...
class | Dune::Amg::CoarseningParameters
| Parameters for the complete coarsening process. More...
class | Dune::Amg::Parameters
| All parameters for AMG. More...
struct | Dune::Amg::VertexVisitedTag
| Tag idnetifying the visited property of a vertex. More...
class | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >
| A property map that extracts one property out of a bundle using operator[](). More...
struct | Dune::Amg::DefaultSmootherArgs< T >
| The default class for the smoother arguments. More...
struct | Dune::Amg::SmootherTraits< T >
| Traits class for getting the attribute class of a smoother. More...
struct | Dune::Amg::SmootherTraits< Richardson< X, Y > >
struct | Dune::Amg::SmootherTraits< BlockPreconditioner< X, Y, C, T > >
struct | Dune::Amg::SmootherTraits< NonoverlappingBlockPreconditioner< C, T > >
class | Dune::Amg::DefaultConstructionArgs< T >
| Construction Arguments for the default smoothers. More...
struct | Dune::Amg::ConstructionArgs< T >
class | Dune::Amg::DefaultParallelConstructionArgs< T, C >
class | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >
struct | Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >
| Policy for the construction of the SeqSSOR smoother. More...
struct | Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >
| Policy for the construction of the SeqSOR smoother. More...
struct | Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >
| Policy for the construction of the SeqJac smoother. More...
struct | Dune::Amg::ConstructionTraits< Richardson< X, Y > >
| Policy for the construction of the Richardson smoother. More...
class | Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >
struct | Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >
| Policy for the construction of the SeqILU smoother. More...
struct | Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >
| Policy for the construction of the ParSSOR smoother. More...
struct | Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >
struct | Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >
struct | Dune::Amg::SmootherApplier< T >
| Helper class for applying the smoothers. More...
struct | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >
struct | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >
struct | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >
struct | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >
struct | Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >
struct | Dune::Amg::SmootherTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >
class | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >
struct | Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >
class | Dune::Amg::Transfer< V1, V2, T >
class | Dune::Amg::Transfer< V, V1, SequentialInformation >
class | Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >

## Typedefs

typedef T | Dune::Amg::AggregationCriterion< T >::DependencyPolicy
| The policy for calculating the dependency graph.
typedef M | Dune::Amg::SymmetricMatrixDependency< M, N >::Matrix
| The matrix type we build the dependency of.
typedef N | Dune::Amg::SymmetricMatrixDependency< M, N >::Norm
| The norm to use for examining the matrix entries.
typedef Matrix::row_type | Dune::Amg::SymmetricMatrixDependency< M, N >::Row
| Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator | Dune::Amg::SymmetricMatrixDependency< M, N >::ColIter
| Constant column iterator of the matrix.
typedef Matrix::field_type | Dune::Amg::SymmetricMatrixDependency< M, N >::field_type
| The current max value.
typedef FieldTraits< field_type >::real_type | Dune::Amg::SymmetricMatrixDependency< M, N >::real_type
typedef M | Dune::Amg::Dependency< M, N >::Matrix
| The matrix type we build the dependency of.
typedef N | Dune::Amg::Dependency< M, N >::Norm
| The norm to use for examining the matrix entries.
typedef Matrix::row_type | Dune::Amg::Dependency< M, N >::Row
| Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator | Dune::Amg::Dependency< M, N >::ColIter
| Constant column iterator of the matrix.
typedef Matrix::field_type | Dune::Amg::Dependency< M, N >::field_type
| The current max value.
typedef FieldTraits< field_type >::real_type | Dune::Amg::Dependency< M, N >::real_type
typedef M | Dune::Amg::SymmetricDependency< M, N >::Matrix
| The matrix type we build the dependency of.
typedef N | Dune::Amg::SymmetricDependency< M, N >::Norm
| The norm to use for examining the matrix entries.
typedef Matrix::row_type | Dune::Amg::SymmetricDependency< M, N >::Row
| Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator | Dune::Amg::SymmetricDependency< M, N >::ColIter
| Constant column iterator of the matrix.
typedef Matrix::field_type | Dune::Amg::SymmetricDependency< M, N >::field_type
| The current max value.
typedef FieldTraits< field_type >::real_type | Dune::Amg::SymmetricDependency< M, N >::real_type
typedef V | Dune::Amg::AggregatesMap< V >::VertexDescriptor
| The vertex descriptor type.
typedef V | Dune::Amg::AggregatesMap< V >::AggregateDescriptor
| The aggregate descriptor type.
typedef PoolAllocator< VertexDescriptor, 100 > | Dune::Amg::AggregatesMap< V >::Allocator
| The allocator we use for our lists and the set.
typedef SLList< VertexDescriptor, Allocator > | Dune::Amg::AggregatesMap< V >::VertexList
| The type of a single linked list of vertex descriptors.
typedef const AggregateDescriptor * | Dune::Amg::AggregatesMap< V >::const_iterator
typedef AggregateDescriptor * | Dune::Amg::AggregatesMap< V >::iterator
typedef G | Dune::Amg::Aggregate< G, S >::MatrixGraph
typedef MatrixGraph::VertexDescriptor | Dune::Amg::Aggregate< G, S >::Vertex
| The vertex descriptor type.
typedef PoolAllocator< Vertex, 100 > | Dune::Amg::Aggregate< G, S >::Allocator
| The allocator we use for our lists and the set.
typedef S | Dune::Amg::Aggregate< G, S >::VertexSet
| The type of a single linked list of vertex descriptors.
using | Dune::Amg::Aggregate< G, S >::size_type = typename VertexSet::size_type
| Type of size used by allocator of sllist.
typedef VertexSet::const_iterator | Dune::Amg::Aggregate< G, S >::const_iterator
| Const iterator over a vertex list.
typedef std::size_t * | Dune::Amg::Aggregate< G, S >::SphereMap
| Type of the mapping of aggregate members onto distance spheres.
typedef G | Dune::Amg::Aggregator< G >::MatrixGraph
| The matrix graph type used.
typedef MatrixGraph::VertexDescriptor | Dune::Amg::Aggregator< G >::Vertex
| The vertex identifier.
typedef MatrixGraph::VertexDescriptor | Dune::Amg::Aggregator< G >::AggregateDescriptor
| The type of the aggregate descriptor.
typedef V | Dune::Amg::Aggregator< G >::AggregateVisitor< V >::Visitor
| The type of the adapted visitor.
typedef M | Dune::Amg::AMG< M, X, S, PI, A >::Operator
| The matrix operator type.
typedef PI | Dune::Amg::AMG< M, X, S, PI, A >::ParallelInformation
| The type of the parallel information. Either OwnerOverlapCommunication or another type describing the parallel data distribution and providing communication methods.
typedef MatrixHierarchy< M, ParallelInformation, A > | Dune::Amg::AMG< M, X, S, PI, A >::OperatorHierarchy
| The operator hierarchy type.
typedef OperatorHierarchy::ParallelInformationHierarchy | Dune::Amg::AMG< M, X, S, PI, A >::ParallelInformationHierarchy
| The parallal data distribution hierarchy type.
typedef X | Dune::Amg::AMG< M, X, S, PI, A >::Domain
| The domain type.
typedef X | Dune::Amg::AMG< M, X, S, PI, A >::Range
| The range type.
typedef InverseOperator< X, X > | Dune::Amg::AMG< M, X, S, PI, A >::CoarseSolver
| the type of the coarse solver.
typedef S | Dune::Amg::AMG< M, X, S, PI, A >::Smoother
| The type of the smoother.
typedef SmootherTraits< Smoother >::Arguments | Dune::Amg::AMG< M, X, S, PI, A >::SmootherArgs
| The argument type for the construction of the smoother.
typedef Smoother | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::SmootherType
typedef Matrix::field_type | Dune::Amg::DirectSolverSelector< Matrix, Vector >::field_type
typedef InverseOperator< Vector, Vector > | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::type
typedef SuperLU< M > | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::type
typedef Solver< Matrix, solver > | Dune::Amg::DirectSolverSelector< Matrix, Vector >::SelectedSolver
typedef SelectedSolver::type | Dune::Amg::DirectSolverSelector< Matrix, Vector >::DirectSolver
typedef const void * | Dune::Amg::ConstructionTraits< T >::Arguments
| A type holding all the arguments needed to call the constructor.
typedef const int | Dune::Amg::ConstructionTraits< BlockVector< T, A > >::Arguments
typedef ReadWritePropertyMapTag | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Category
typedef G | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Graph
| The type of the graph with internal properties.
typedef std::bitset< VertexProperties::SIZE > | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::BitSet
| The type of the bitset.
typedef BitSet::reference | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Reference
| The reference type.
typedef bool | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::ValueType
| The value type.
typedef G::VertexDescriptor | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Vertex
| The vertex descriptor.
typedef Amg::PropertyGraphVertexPropertyMap< Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM >, Amg::VertexProperties::VISITED > | Dune::PropertyMapTypeSelector< Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > >::Type
typedef T | Dune::Amg::OverlapVertex< T >::Aggregate
| The aggregate descriptor.
typedef T | Dune::Amg::OverlapVertex< T >::Vertex
| The vertex descriptor.
typedef T | Dune::Amg::GalerkinProduct< T >::ParallelInformation
typedef G | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Graph
| The type of the graph.
typedef Graph::ConstEdgeIterator | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConstEdgeIterator
| The constant edge iterator.
typedef S | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Set
| The type of the connected set.
typedef V | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::VisitedMap
| The type of the map for marking vertices as visited.
typedef Graph::VertexDescriptor | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Vertex
| The vertex descriptor of the graph.
typedef G::VertexDescriptor | Dune::Amg::ConnectivityConstructor< G, T >::Vertex
typedef G::VertexDescriptor | Dune::Amg::ConnectivityConstructor< G, SequentialInformation >::Vertex
typedef E | Dune::Amg::ParallelIndicesCoarsener< T, E >::ExcludedAttributes
| The set of excluded attributes.
typedef T | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelInformation
| The type of the parallel information.
typedef ParallelInformation::ParallelIndexSet | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelIndexSet
typedef ParallelIndexSet::GlobalIndex | Dune::Amg::ParallelIndicesCoarsener< T, E >::GlobalIndex
| The type of the global index.
typedef ParallelIndexSet::LocalIndex | Dune::Amg::ParallelIndicesCoarsener< T, E >::LocalIndex
| The type of the local index.
typedef LocalIndex::Attribute | Dune::Amg::ParallelIndicesCoarsener< T, E >::Attribute
| The type of the attribute.
typedef Dune::RemoteIndices< ParallelIndexSet > | Dune::Amg::ParallelIndicesCoarsener< T, E >::RemoteIndices
| The type of the remote indices.
typedef C | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Container
| The container that holds the properties.
typedef R | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Reference
| The reference type of the container.
typedef K | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Key
| The key of the property map.
typedef LvaluePropertyMapTag | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Category
| The category of the property map.
typedef FieldTraits< T >::real_type | Dune::Amg::DefaultSmootherArgs< T >::RelaxationFactor
| The type of the relaxation factor.
typedef DefaultSmootherArgs< typename T::matrix_type::field_type > | Dune::Amg::SmootherTraits< T >::Arguments
typedef DefaultSmootherArgs< typename X::field_type > | Dune::Amg::SmootherTraits< Richardson< X, Y > >::Arguments
typedef DefaultConstructionArgs< SeqSSOR< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::Arguments
typedef DefaultConstructionArgs< SeqSOR< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::Arguments
typedef DefaultConstructionArgs< SeqJac< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::Arguments
typedef DefaultConstructionArgs< Richardson< X, Y > > | Dune::Amg::ConstructionTraits< Richardson< X, Y > >::Arguments
typedef ConstructionArgs< SeqILU< M, X, Y > > | Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >::Arguments
typedef DefaultParallelConstructionArgs< M, C > | Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::Arguments
typedef DefaultParallelConstructionArgs< T, C > | Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::Arguments
typedef ConstructionTraits< T > | Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::SeqConstructionTraits
typedef DefaultParallelConstructionArgs< T, C > | Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::Arguments
typedef ConstructionTraits< T > | Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::SeqConstructionTraits
typedef T | Dune::Amg::SmootherApplier< T >::Smoother
typedef Smoother::range_type | Dune::Amg::SmootherApplier< T >::Range
typedef Smoother::domain_type | Dune::Amg::SmootherApplier< T >::Domain
typedef SeqSOR< M, X, Y, l > | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Smoother
typedef Smoother::range_type | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Range
typedef Smoother::domain_type | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Domain
typedef BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Smoother
typedef Smoother::range_type | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Range
typedef Smoother::domain_type | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Domain
typedef NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Smoother
typedef Smoother::range_type | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Range
typedef Smoother::domain_type | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Domain
typedef SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Smoother
typedef Smoother::range_type | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Range
typedef Smoother::domain_type | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Domain
typedef SeqOverlappingSchwarzSmootherArgs< typename M::field_type > | Dune::Amg::SmootherTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Arguments
typedef MatrixGraph< M >::VertexDescriptor | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexDescriptor
typedef Dune::Amg::AggregatesMap< VertexDescriptor > | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregatesMap
typedef AggregatesMap::AggregateDescriptor | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateDescriptor
typedef SeqOverlappingSchwarz< M, X, TM, TS, TA >::subdomain_vector | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Vector
typedef Vector::value_type | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Subdomain
typedef ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > > | Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Arguments

## Enumerations

enum | { Dune::Amg::Diagonal< N >::is_sign_preserving = true }
enum | { Dune::Amg::RowSum::is_sign_preserving = false }
enum | { Dune::Amg::FrobeniusNorm::is_sign_preserving = false }
enum | { Dune::Amg::AlwaysOneNorm::is_sign_preserving = false }
enum | Dune::Amg::DirectSolverSelector< Matrix, Vector >::SolverType { Dune::Amg::DirectSolverSelector< Matrix, Vector >::umfpack , Dune::Amg::DirectSolverSelector< Matrix, Vector >::superlu , Dune::Amg::DirectSolverSelector< Matrix, Vector >::none }
enum | { Dune::Amg::EdgeProperties::INFLUENCE , Dune::Amg::EdgeProperties::DEPEND , Dune::Amg::EdgeProperties::SIZE }
| Flags of the link. More...
enum | { Dune::Amg::VertexProperties::ISOLATED , Dune::Amg::VertexProperties::VISITED , Dune::Amg::VertexProperties::FRONT , Dune::Amg::VertexProperties::BORDER , Dune::Amg::VertexProperties::SIZE }
enum | { Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::index = i }
enum | { Dune::Amg::MAX_PROCESSES = 72000 }
enum | Dune::Amg::AccumulationMode { Dune::Amg::noAccu = 0 , Dune::Amg::atOnceAccu =1 , Dune::Amg::successiveAccu =2 }
| Identifiers for the different accumulation modes. More...
enum | { Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::index = i }
enum | Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::Overlap { Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::vertex , Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::aggregate , Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::pairwise , Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::none }

## Functions

| Dune::Amg::AggregationCriterion< T >::AggregationCriterion ()
| Constructor.
| Dune::Amg::AggregationCriterion< T >::AggregationCriterion (const Parameters &parms)
void | Dune::Amg::AggregationCriterion< T >::setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an isotropic problem.
void | Dune::Amg::AggregationCriterion< T >::setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an aisotropic problem.
template<class T>
std::ostream & | Dune::Amg::operator<< (std::ostream &os, const AggregationCriterion< T > &criterion)
void | Dune::Amg::SymmetricMatrixDependency< M, N >::init (const Matrix *matrix)
void | Dune::Amg::SymmetricMatrixDependency< M, N >::initRow (const Row &row, int index)
void | Dune::Amg::SymmetricMatrixDependency< M, N >::examine (const ColIter &col)
template<class G>
void | Dune::Amg::SymmetricMatrixDependency< M, N >::examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool | Dune::Amg::SymmetricMatrixDependency< M, N >::isIsolated ()
| Dune::Amg::SymmetricMatrixDependency< M, N >::SymmetricMatrixDependency (const Parameters &parms)
| Dune::Amg::SymmetricMatrixDependency< M, N >::SymmetricMatrixDependency ()
void | Dune::Amg::Dependency< M, N >::init (const Matrix *matrix)
void | Dune::Amg::Dependency< M, N >::initRow (const Row &row, int index)
void | Dune::Amg::Dependency< M, N >::examine (const ColIter &col)
template<class G>
void | Dune::Amg::Dependency< M, N >::examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool | Dune::Amg::Dependency< M, N >::isIsolated ()
| Dune::Amg::Dependency< M, N >::Dependency (const Parameters &parms)
| Dune::Amg::Dependency< M, N >::Dependency ()
void | Dune::Amg::SymmetricDependency< M, N >::init (const Matrix *matrix)
void | Dune::Amg::SymmetricDependency< M, N >::initRow (const Row &row, int index)
void | Dune::Amg::SymmetricDependency< M, N >::examine (const ColIter &col)
template<class G>
void | Dune::Amg::SymmetricDependency< M, N >::examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool | Dune::Amg::SymmetricDependency< M, N >::isIsolated ()
| Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency (const Parameters &parms)
| Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency ()
template<class M>
FieldTraits< typenameM::field_type >::real_type | Dune::Amg::Diagonal< N >::operator() (const M &m, typename std::enable_if_t<!Dune::IsNumber< M >::value > *sfinae=nullptr) const
| compute the norm of a matrix.
template<class M>
auto | Dune::Amg::Diagonal< N >::operator() (const M &m, typename std::enable_if_t< Dune::IsNumber< M >::value > *=nullptr) const
| Compute the norm of a scalar.
template<class M>
auto | Dune::Amg::RowSum::operator() (const M &m) const
| compute the norm of a matrix.
template<class M>
FieldTraits< typenameM::field_type >::real_type | Dune::Amg::FrobeniusNorm::operator() (const M &m) const
| compute the norm of a matrix.
template<class M>
FieldTraits< typenameM::field_type >::real_type | Dune::Amg::AlwaysOneNorm::operator() (const M &) const
| compute the norm of a matrix.
| Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion (const Parameters &parms)
| Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion ()
| Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion (const Parameters &parms)
| Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion ()
template<class EdgeIterator>
void | Dune::Amg::AggregatesMap< V >::DummyEdgeVisitor::operator() (const EdgeIterator &edge) const
| Dune::Amg::AggregatesMap< V >::AggregatesMap ()
| Constructs without allocating memory.
| Dune::Amg::AggregatesMap< V >::AggregatesMap (std::size_t noVertices)
| Constructs with allocating memory.
| Dune::Amg::AggregatesMap< V >::~AggregatesMap ()
| Destructor.
template<class M, class G, class C>
std::tuple< int, int, int, int > | Dune::Amg::AggregatesMap< V >::buildAggregates (const M &matrix, G &graph, const C &criterion, bool finestLevel)
| Build the aggregates.
template<bool reset, class G, class F, class VM>
std::size_t | Dune::Amg::AggregatesMap< V >::breadthFirstSearch (const VertexDescriptor &start, const AggregateDescriptor &aggregate, const G &graph, F &aggregateVisitor, VM &visitedMap) const
| Breadth first search within an aggregate.
template<bool remove, bool reset, class G, class L, class F1, class F2, class VM>
std::size_t | Dune::Amg::AggregatesMap< V >::breadthFirstSearch (const VertexDescriptor &start, const AggregateDescriptor &aggregate, const G &graph, L &visited, F1 &aggregateVisitor, F2 &nonAggregateVisitor, VM &visitedMap) const
| Breadth first search within an aggregate.
void | Dune::Amg::AggregatesMap< V >::allocate (std::size_t noVertices)
| Allocate memory for holding the information.
std::size_t | Dune::Amg::AggregatesMap< V >::noVertices () const
| Get the number of vertices.
void | Dune::Amg::AggregatesMap< V >::free ()
| Free the allocated memory.
AggregateDescriptor & | Dune::Amg::AggregatesMap< V >::operator[] (const VertexDescriptor &v)
| Get the aggregate a vertex belongs to.
const AggregateDescriptor & | Dune::Amg::AggregatesMap< V >::operator[] (const VertexDescriptor &v) const
| Get the aggregate a vertex belongs to.
const_iterator | Dune::Amg::AggregatesMap< V >::begin () const
const_iterator | Dune::Amg::AggregatesMap< V >::end () const
iterator | Dune::Amg::AggregatesMap< V >::begin ()
iterator | Dune::Amg::AggregatesMap< V >::end ()
template<class G, class C>
void | Dune::Amg::buildDependency (G &graph, const typename C::Matrix &matrix, C criterion, bool finestLevel)
| Build the dependency of the matrix graph.
| Dune::Amg::Aggregate< G, S >::Aggregate (MatrixGraph &graph, AggregatesMap< Vertex > &aggregates, VertexSet &connectivity, std::vector< Vertex > &front_)
| Constructor.
void | Dune::Amg::Aggregate< G, S >::invalidate ()
void | Dune::Amg::Aggregate< G, S >::reconstruct (const Vertex &vertex)
| Reconstruct the aggregat from an seed node.
void | Dune::Amg::Aggregate< G, S >::seed (const Vertex &vertex)
| Initialize the aggregate with one vertex.
void | Dune::Amg::Aggregate< G, S >::add (const Vertex &vertex)
| Add a vertex to the aggregate.
void | Dune::Amg::Aggregate< G, S >::add (std::vector< Vertex > &vertex)
void | Dune::Amg::Aggregate< G, S >::clear ()
| Clear the aggregate.
size_type | Dune::Amg::Aggregate< G, S >::size ()
| Get the size of the aggregate.
size_type | Dune::Amg::Aggregate< G, S >::connectSize ()
| Get the number of connections to other aggregates.
int | Dune::Amg::Aggregate< G, S >::id ()
| Get the id identifying the aggregate.
const_iterator | Dune::Amg::Aggregate< G, S >::begin () const
| get an iterator over the vertices of the aggregate.
const_iterator | Dune::Amg::Aggregate< G, S >::end () const
| get an iterator over the vertices of the aggregate.
| Dune::Amg::Aggregator< G >::Aggregator ()
| Constructor.
| Dune::Amg::Aggregator< G >::~Aggregator ()
| Destructor.
template<class M, class C>
std::tuple< int, int, int, int > | Dune::Amg::Aggregator< G >::build (const M &m, G &graph, AggregatesMap< Vertex > &aggregates, const C &c, bool finestLevel)
| Build the aggregates.
| Dune::Amg::Aggregator< G >::Stack::Stack (const MatrixGraph &graph, const Aggregator< G > &aggregatesBuilder, const AggregatesMap< Vertex > &aggregates)
| Dune::Amg::Aggregator< G >::Stack::~Stack ()
Vertex | Dune::Amg::Aggregator< G >::Stack::pop ()
| Dune::Amg::Aggregator< G >::AggregateVisitor< V >::AggregateVisitor (const AggregatesMap< Vertex > &aggregates, const AggregateDescriptor &aggregate, Visitor &visitor)
| Constructor.
void | Dune::Amg::Aggregator< G >::AggregateVisitor< V >::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
| Examine an edge.
| Dune::Amg::Aggregator< G >::Counter::Counter ()
| Constructor.
int | Dune::Amg::Aggregator< G >::Counter::value ()
| Access the current count.
void | Dune::Amg::Aggregator< G >::Counter::increment ()
| Increment counter.
void | Dune::Amg::Aggregator< G >::Counter::decrement ()
| Decrement counter.
| Dune::Amg::Aggregator< G >::FrontNeighbourCounter::FrontNeighbourCounter (const MatrixGraph &front)
| Constructor.
void | Dune::Amg::Aggregator< G >::FrontNeighbourCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
void | Dune::Amg::Aggregator< G >::TwoWayCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
void | Dune::Amg::Aggregator< G >::OneWayCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
| Dune::Amg::Aggregator< G >::ConnectivityCounter::ConnectivityCounter (const VertexSet &connected, const AggregatesMap< Vertex > &aggregates)
| Constructor.
void | Dune::Amg::Aggregator< G >::ConnectivityCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
| Dune::Amg::Aggregator< G >::DependencyCounter::DependencyCounter ()
| Constructor.
void | Dune::Amg::Aggregator< G >::DependencyCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
| Dune::Amg::Aggregator< G >::FrontMarker::FrontMarker (std::vector< Vertex > &front, MatrixGraph &graph)
| Constructor.
void | Dune::Amg::Aggregator< G >::FrontMarker::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
template<class V>
void | Dune::Amg::printAggregates2d (const AggregatesMap< V > &aggregates, int n, int m, std::ostream &os)
| Dune::Amg::AMG< M, X, S, PI, A >::AMG (OperatorHierarchy &matrices, CoarseSolver &coarseSolver, const SmootherArgs &smootherArgs, const Parameters &parms)
| Construct a new amg with a specific coarse solver.
template<class C>
| Dune::Amg::AMG< M, X, S, PI, A >::AMG (const Operator &fineOperator, const C &criterion, const SmootherArgs &smootherArgs=SmootherArgs(), const ParallelInformation &pinfo=ParallelInformation())
| Construct an AMG with an inexact coarse solver based on the smoother.
| Dune::Amg::AMG< M, X, S, PI, A >::AMG (std::shared_ptr< const Operator > fineOperator, const ParameterTree &configuration, const ParallelInformation &pinfo=ParallelInformation())
| Constructor an AMG via ParameterTree.
| Dune::Amg::AMG< M, X, S, PI, A >::AMG (const AMG &amg)
| Copy constructor.
void | Dune::Amg::AMG< M, X, S, PI, A >::pre (Domain &x, Range &b)
| Prepare the preconditioner.
void | Dune::Amg::AMG< M, X, S, PI, A >::apply (Domain &v, const Range &d)
| Apply one step of the preconditioner to the system A(v)=d.
virtual SolverCategory::Category | Dune::Amg::AMG< M, X, S, PI, A >::category () const
| Category of the preconditioner (see SolverCategory::Category).
void | Dune::Amg::AMG< M, X, S, PI, A >::post (Domain &x)
| Clean up.
template<class A1>
void | Dune::Amg::AMG< M, X, S, PI, A >::getCoarsestAggregateNumbers (std::vector< std::size_t, A1 > &cont)
| Get the aggregate number of each unknown on the coarsest level.
std::size_t | Dune::Amg::AMG< M, X, S, PI, A >::levels ()
std::size_t | Dune::Amg::AMG< M, X, S, PI, A >::maxlevels ()
void | Dune::Amg::AMG< M, X, S, PI, A >::recalculateHierarchy ()
| Recalculate the matrix hierarchy.
bool | Dune::Amg::AMG< M, X, S, PI, A >::usesDirectCoarseLevelSolver () const
| Check whether the coarse solver used is a direct solver.
std::string | Dune::Amg::AMG< M, X, S, PI, A >::ToLower::operator() (const std::string &str)
static type * | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::create (const M &mat, bool verbose, bool reusevector)
static std::string | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::name ()
static type * | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::create (const M &mat, bool verbose, bool reusevector)
static std::string | Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::name ()
static std::string | Dune::Amg::DirectSolverSelector< Matrix, Vector >::name ()
static DirectSolver * | Dune::Amg::DirectSolverSelector< Matrix, Vector >::create (const Matrix &mat, bool verbose, bool reusevector)
template<class OP>
std::shared_ptr< Dune::Preconditioner< typename OP::element_type::domain_type, typename OP::element_type::range_type > > | Dune::AMGCreator::makeAMG (const OP &op, const std::string &smoother, const Dune::ParameterTree &config) const
template<class M, class X, class Y>
std::shared_ptr< Dune::Preconditioner< X, Y > > | Dune::AMGCreator::makeAMG (const std::shared_ptr< MatrixAdapter< M, X, Y > > &op, const std::string &smoother, const Dune::ParameterTree &config) const
template<class M, class X, class Y, class C>
std::shared_ptr< Dune::Preconditioner< X, Y > > | Dune::AMGCreator::makeAMG (const std::shared_ptr< OverlappingSchwarzOperator< M, X, Y, C > > &op, const std::string &smoother, const Dune::ParameterTree &config) const
template<class M, class X, class Y, class C>
std::shared_ptr< Dune::Preconditioner< X, Y > > | Dune::AMGCreator::makeAMG (const std::shared_ptr< NonoverlappingSchwarzOperator< M, X, Y, C > > &op, const std::string &smoother, const Dune::ParameterTree &config) const
template<typename OpTraits, typename OP>
std::shared_ptr< Dune::Preconditioner< typename OpTraits::domain_type, typename OpTraits::range_type > > | Dune::AMGCreator::operator() (OpTraits opTraits, const std::shared_ptr< OP > &op, const Dune::ParameterTree &config, std::enable_if_t< isValidMatrix< typename OpTraits::matrix_type >::value, int >=0) const
template<typename OpTraits, typename OP>
std::shared_ptr< Dune::Preconditioner< typename OpTraits::domain_type, typename OpTraits::range_type > > | Dune::AMGCreator::operator() (OpTraits opTraits, const std::shared_ptr< OP > &op, const Dune::ParameterTree &config, std::enable_if_t<!isValidMatrix< typename OpTraits::matrix_type >::value, int >=0) const
static std::shared_ptr< T > | Dune::Amg::ConstructionTraits< T >::construct (Arguments &)
| Construct an object with the specified arguments.
static std::shared_ptr< BlockVector< T, A > > | Dune::Amg::ConstructionTraits< BlockVector< T, A > >::construct (Arguments &n)
| Dune::Amg::ParallelOperatorArgs< M, C >::ParallelOperatorArgs (std::shared_ptr< M > matrix, const C &comm)
| Dune::Amg::OwnerOverlapCopyCommunicationArgs::OwnerOverlapCopyCommunicationArgs (MPI_Comm comm, SolverCategory::Category cat)
| Dune::Amg::SequentialCommunicationArgs::SequentialCommunicationArgs (Communication< void * > comm, int cat)
| Dune::Amg::EdgeProperties::EdgeProperties ()
| Constructor.
std::bitset< SIZE >::reference | Dune::Amg::EdgeProperties::operator[] (std::size_t v)
| Access the bits directly.
bool | Dune::Amg::EdgeProperties::operator[] (std::size_t v) const
| Access the bits directly.
bool | Dune::Amg::EdgeProperties::depends () const
| Checks whether the vertex the edge points to depends on the vertex the edge starts.
void | Dune::Amg::EdgeProperties::setDepends ()
| Marks the edge as one of which the end point depends on the starting point.
void | Dune::Amg::EdgeProperties::resetDepends ()
| Resets the depends flag.
bool | Dune::Amg::EdgeProperties::influences () const
| Checks whether the start vertex is influenced by the end vertex.
void | Dune::Amg::EdgeProperties::setInfluences ()
| Marks the edge as one of which the start vertex by the end vertex.
void | Dune::Amg::EdgeProperties::resetInfluences ()
| Resets the influence flag.
bool | Dune::Amg::EdgeProperties::isOneWay () const
| Checks whether the edge is one way. I.e. either the influence or the depends flag but is set.
bool | Dune::Amg::EdgeProperties::isTwoWay () const
| Checks whether the edge is two way. I.e. both the influence flag and the depends flag are that.
bool | Dune::Amg::EdgeProperties::isStrong () const
| Checks whether the edge is strong. I.e. the influence or depends flag is set.
void | Dune::Amg::EdgeProperties::reset ()
| Reset all flags.
void | Dune::Amg::EdgeProperties::printFlags () const
| Prints the attributes of the edge for debugging.
| Dune::Amg::VertexProperties::VertexProperties ()
| Constructor.
std::bitset< SIZE >::reference | Dune::Amg::VertexProperties::operator[] (std::size_t v)
| Access the bits directly.
bool | Dune::Amg::VertexProperties::operator[] (std::size_t v) const
| Access the bits directly.
void | Dune::Amg::VertexProperties::setIsolated ()
| Marks that node as being isolated.
bool | Dune::Amg::VertexProperties::isolated () const
| Checks whether the node is isolated.
void | Dune::Amg::VertexProperties::resetIsolated ()
| Resets the isolated flag.
void | Dune::Amg::VertexProperties::setVisited ()
| Mark the node as already visited.
bool | Dune::Amg::VertexProperties::visited () const
| Checks whether the node is marked as visited.
void | Dune::Amg::VertexProperties::resetVisited ()
| Resets the visited flag.
void | Dune::Amg::VertexProperties::setFront ()
| Marks the node as belonging to the current clusters front.
bool | Dune::Amg::VertexProperties::front () const
| Checks whether the node is marked as a front node.
void | Dune::Amg::VertexProperties::resetFront ()
| Resets the front node flag.
void | Dune::Amg::VertexProperties::setExcludedBorder ()
| Marks the vertex as excluded from the aggregation.
bool | Dune::Amg::VertexProperties::excludedBorder () const
| Tests whether the vertex is excluded from the aggregation.
void | Dune::Amg::VertexProperties::resetExcludedBorder ()
| Marks the vertex as included in the aggregation.
void | Dune::Amg::VertexProperties::reset ()
| Reset all flags.
| Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap (G &g)
| Constructor.
| Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap ()
| Default constructor.
Reference | Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::operator[] (const Vertex &vertex) const
| Get the properties associated to a vertex.
std::ostream & | Dune::Amg::operator<< (std::ostream &os, const EdgeProperties &props)
std::ostream & | Dune::Amg::operator<< (std::ostream &os, const VertexProperties &props)
| Dune::Amg::SparsityBuilder< M >::SparsityBuilder (M &matrix)
| Constructor.
void | Dune::Amg::SparsityBuilder< M >::insert (const typename M::size_type &index)
void | Dune::Amg::SparsityBuilder< M >::operator++ ()
std::size_t | Dune::Amg::SparsityBuilder< M >::minRowSize ()
std::size_t | Dune::Amg::SparsityBuilder< M >::maxRowSize ()
std::size_t | Dune::Amg::SparsityBuilder< M >::sumRowSize ()
std::size_t | Dune::Amg::SparsityBuilder< M >::index ()
template<class M, class V, class I, class O>
void | Dune::Amg::BaseGalerkinProduct::calculate (const M &fine, const AggregatesMap< V > &aggregates, M &coarse, const I &pinfo, const O &copy)
| Calculate the galerkin product.
template<class G, class V, class Set>
G::MutableMatrix * | Dune::Amg::GalerkinProduct< T >::build (G &fineGraph, V &visitedMap, const ParallelInformation &pinfo, AggregatesMap< typename G::VertexDescriptor > &aggregates, const typename G::Matrix::size_type &size, const Set &copy)
| Calculates the coarse matrix via a Galerkin product.
bool | Dune::Amg::GalerkinProduct< T >::OVLess< A >::operator() (const OverlapVertex< A > &o1, const OverlapVertex< A > &o2)
template<class G, class V, class Set>
G::MutableMatrix * | Dune::Amg::GalerkinProduct< SequentialInformation >::build (G &fineGraph, V &visitedMap, const SequentialInformation &pinfo, const AggregatesMap< typename G::VertexDescriptor > &aggregates, const typename G::Matrix::size_type &size, const Set &copy)
| Calculates the coarse matrix via a Galerkin product.
template<class R, class G, class V>
static void | Dune::Amg::BaseConnectivityConstructor::constructOverlapConnectivity (R &row, G &graph, V &visitedMap, const AggregatesMap< typename G::VertexDescriptor > &aggregates, const OverlapVertex< typename G::VertexDescriptor > *&seed, const OverlapVertex< typename G::VertexDescriptor > *overlapEnd)
template<class R, class G, class V>
static void | Dune::Amg::BaseConnectivityConstructor::constructNonOverlapConnectivity (R &row, G &graph, V &visitedMap, const AggregatesMap< typename G::VertexDescriptor > &aggregates, const typename G::VertexDescriptor &seed)
| Construct the connectivity of an aggregate in the overlap.
| Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConnectedBuilder (const AggregatesMap< Vertex > &aggregates, Graph &graph, VisitedMap &visitedMap, Set &connected)
| Constructor.
void | Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::operator() (const ConstEdgeIterator &edge)
| Process an edge pointing to another aggregate.
template<class V, class O, class R>
static void | Dune::Amg::ConnectivityConstructor< G, T >::examine (G &graph, V &visitedMap, const T &pinfo, const AggregatesMap< Vertex > &aggregates, const O &overlap, const OverlapVertex< Vertex > *overlapVertices, const OverlapVertex< Vertex > *overlapEnd, R &row)
template<class V, class R>
static void | Dune::Amg::ConnectivityConstructor< G, SequentialInformation >::examine (G &graph, V &visitedMap, const SequentialInformation &pinfo, const AggregatesMap< Vertex > &aggregates, R &row)
template<class M, class O>
static void | Dune::Amg::DirichletBoundarySetter< T >::set (M &coarse, const T &pinfo, const O &copy)
template<class M, class O>
static void | Dune::Amg::DirichletBoundarySetter< SequentialInformation >::set (M &coarse, const SequentialInformation &pinfo, const O &copy)
template<class G, class V>
int | Dune::Amg::visitNeighbours (const G &graph, const typename G::VertexDescriptor &vertex, V &visitor)
| Visit all neighbour vertices of a vertex in a graph.
template<typename Graph, typename VM>
static Graph::VertexDescriptor | Dune::Amg::ParallelIndicesCoarsener< T, E >::coarsen (ParallelInformation &fineInfo, Graph &fineGraph, VM &visitedMap, AggregatesMap< typename Graph::VertexDescriptor > &aggregates, ParallelInformation &coarseInfo, typename Graph::VertexDescriptor noAggregates, bool useFixedOrder=false)
| Build the coarse index set after the aggregatio.
| Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::ParallelAggregateRenumberer (AggregatesMap< Vertex > &aggregates, const I &lookup)
void | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() (const typename G::ConstEdgeIterator &edge)
Vertex | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() (const GlobalIndex &global)
bool | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic ()
void | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic (bool b)
void | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::reset ()
void | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute (const Attribute &attribute)
Attribute | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute ()
const GlobalIndex & | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex () const
void | Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex (const GlobalIndex &global)
template<typename Graph, typename VM>
static Graph::VertexDescriptor | Dune::Amg::IndicesCoarsener< SequentialInformation, E >::coarsen (const SequentialInformation &fineInfo, Graph &fineGraph, VM &visitedMap, AggregatesMap< typename Graph::VertexDescriptor > &aggregates, SequentialInformation &coarseInfo, typename Graph::VertexDescriptor noAggregates, bool useFixedOrder=false)
template<typename M, typename C1>
bool | Dune::Amg::repartitionAndDistributeMatrix (const M &origMatrix, std::shared_ptr< M > newMatrix, SequentialInformation &origComm, std::shared_ptr< SequentialInformation > &newComm, RedistributeInformation< SequentialInformation > &ri, int nparts, C1 &criterion)
template<typename M, typename C, typename C1>
bool | Dune::Amg::repartitionAndDistributeMatrix (const M &origMatrix, std::shared_ptr< M > newMatrix, C &origComm, std::shared_ptr< C > &newComm, RedistributeInformation< C > &ri, int nparts, C1 &criterion)
| Dune::Amg::DependencyParameters::DependencyParameters ()
| Constructor.
void | Dune::Amg::DependencyParameters::setBeta (double b)
| Set threshold for marking nodes as isolated. The default value is 1.0E-5.
double | Dune::Amg::DependencyParameters::beta () const
| Get the threshold for marking nodes as isolated. The default value is 1.0E-5.
void | Dune::Amg::DependencyParameters::setAlpha (double a)
| Set the scaling value for marking connections as strong. Default value is 1/3.
double | Dune::Amg::DependencyParameters::alpha () const
| Get the scaling value for marking connections as strong. Default value is 1/3.
| Dune::Amg::AggregationParameters::AggregationParameters ()
| Constructor.
void | Dune::Amg::AggregationParameters::setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an isotropic problem.
void | Dune::Amg::AggregationParameters::setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
| Sets reasonable default values for an anisotropic problem.
std::size_t | Dune::Amg::AggregationParameters::maxDistance () const
| Get the maximal distance allowed between two nodes in a aggregate.
void | Dune::Amg::AggregationParameters::setMaxDistance (std::size_t distance)
| Set the maximal distance allowed between two nodes in a aggregate.
bool | Dune::Amg::AggregationParameters::skipIsolated () const
| Whether isolated aggregates will not be represented on the coarse level.
void | Dune::Amg::AggregationParameters::setSkipIsolated (bool skip)
| Set whether isolated aggregates will not be represented on the coarse level.
std::size_t | Dune::Amg::AggregationParameters::minAggregateSize () const
| Get the minimum number of nodes a aggregate has to consist of.
void | Dune::Amg::AggregationParameters::setMinAggregateSize (std::size_t size)
| Set the minimum number of nodes a aggregate has to consist of.
std::size_t | Dune::Amg::AggregationParameters::maxAggregateSize () const
| Get the maximum number of nodes a aggregate is allowed to have.
void | Dune::Amg::AggregationParameters::setMaxAggregateSize (std::size_t size)
| Set the maximum number of nodes a aggregate is allowed to have.
std::size_t | Dune::Amg::AggregationParameters::maxConnectivity () const
| Get the maximum number of connections a aggregate is allowed to have.
void | Dune::Amg::AggregationParameters::setMaxConnectivity (std::size_t connectivity)
| Set the maximum number of connections a aggregate is allowed to have.
void | Dune::Amg::CoarseningParameters::setMaxLevel (int l)
| Set the maximum number of levels allowed in the hierarchy.
int | Dune::Amg::CoarseningParameters::maxLevel () const
| Get the maximum number of levels allowed in the hierarchy.
void | Dune::Amg::CoarseningParameters::setCoarsenTarget (int nodes)
| Set the maximum number of unknowns allowed on the coarsest level.
int | Dune::Amg::CoarseningParameters::coarsenTarget () const
| Get the maximum number of unknowns allowed on the coarsest level.
void | Dune::Amg::CoarseningParameters::setMinCoarsenRate (double rate)
| Set the minimum coarsening rate to be achieved in each coarsening.
double | Dune::Amg::CoarseningParameters::minCoarsenRate () const
| Get the minimum coarsening rate to be achieved.
AccumulationMode | Dune::Amg::CoarseningParameters::accumulate () const
| Whether the data should be accumulated on fewer processes on coarser levels.
void | Dune::Amg::CoarseningParameters::setAccumulate (AccumulationMode accu)
| Set whether the data should be accumulated on fewer processes on coarser levels.
void | Dune::Amg::CoarseningParameters::setAccumulate (bool accu)
bool | Dune::Amg::CoarseningParameters::useFixedOrder () const
| Check if the indices for the coarser levels should be created in a fixed order.
void | Dune::Amg::CoarseningParameters::setUseFixedOrder (bool useFixedOrder)
void | Dune::Amg::CoarseningParameters::setProlongationDampingFactor (double d)
| Set the damping factor for the prolongation.
double | Dune::Amg::CoarseningParameters::getProlongationDampingFactor () const
| Get the damping factor for the prolongation.
| Dune::Amg::CoarseningParameters::CoarseningParameters (int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu, bool useFixedOrder=false)
| Constructor.
void | Dune::Amg::Parameters::setDebugLevel (int level)
| Set the debugging level.
int | Dune::Amg::Parameters::debugLevel () const
| Get the debugging Level.
void | Dune::Amg::Parameters::setNoPreSmoothSteps (std::size_t steps)
| Set the number of presmoothing steps to apply.
std::size_t | Dune::Amg::Parameters::getNoPreSmoothSteps () const
| Get the number of presmoothing steps to apply.
void | Dune::Amg::Parameters::setNoPostSmoothSteps (std::size_t steps)
| Set the number of postsmoothing steps to apply.
std::size_t | Dune::Amg::Parameters::getNoPostSmoothSteps () const
| Get the number of postsmoothing steps to apply.
void | Dune::Amg::Parameters::setGamma (std::size_t gamma)
| Set the value of gamma; 1 for V-cycle, 2 for W-cycle.
std::size_t | Dune::Amg::Parameters::getGamma () const
| Get the value of gamma; 1 for V-cycle, 2 for W-cycle.
void | Dune::Amg::Parameters::setAdditive (bool additive)
| Set whether to use additive multigrid.
bool | Dune::Amg::Parameters::getAdditive () const
| Get whether to use additive multigrid.
| Dune::Amg::Parameters::Parameters (int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu, bool useFixedOrder=false)
| Constructor.
Reference | Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::operator[] (const Key &key) const
| Get the property for a key.
| Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap (Container &container)
| Constructor.
| Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap ()
| The default constructor.
| Dune::Amg::DefaultSmootherArgs< T >::DefaultSmootherArgs ()
| Default constructor.
virtual | Dune::Amg::DefaultConstructionArgs< T >::~DefaultConstructionArgs ()
void | Dune::Amg::DefaultConstructionArgs< T >::setMatrix (const Matrix &matrix)
virtual void | Dune::Amg::DefaultConstructionArgs< T >::setMatrix (const Matrix &matrix, const AggregatesMap &amap)
const Matrix & | Dune::Amg::DefaultConstructionArgs< T >::getMatrix () const
void | Dune::Amg::DefaultConstructionArgs< T >::setArgs (const SmootherArgs &args)
template<class T1>
void | Dune::Amg::DefaultConstructionArgs< T >::setComm (T1 &comm)
const SequentialInformation & | Dune::Amg::DefaultConstructionArgs< T >::getComm ()
const SmootherArgs | Dune::Amg::DefaultConstructionArgs< T >::getArgs () const
virtual | Dune::Amg::DefaultParallelConstructionArgs< T, C >::~DefaultParallelConstructionArgs ()
void | Dune::Amg::DefaultParallelConstructionArgs< T, C >::setComm (const C &comm)
const C & | Dune::Amg::DefaultParallelConstructionArgs< T, C >::getComm () const
virtual | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::~DefaultConstructionArgs ()
template<class... Args>
void | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setMatrix (const Args &...)
void | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setArgs (const SmootherArgs &args)
template<class T1>
void | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setComm (T1 &comm)
const SequentialInformation & | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::getComm ()
const SmootherArgs | Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::getArgs () const
static std::shared_ptr< SeqSSOR< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::construct (Arguments &args)
static std::shared_ptr< SeqSOR< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::construct (Arguments &args)
static std::shared_ptr< SeqJac< M, X, Y, l > > | Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::construct (Arguments &args)
static std::shared_ptr< Richardson< X, Y > > | Dune::Amg::ConstructionTraits< Richardson< X, Y > >::construct (Arguments &args)
| Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::ConstructionArgs (int n=0)
void | Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::setN (int n)
int | Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::getN ()
static std::shared_ptr< SeqILU< M, X, Y > > | Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >::construct (Arguments &args)
static std::shared_ptr< ParSSOR< M, X, Y, C > > | Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::construct (Arguments &args)
static std::shared_ptr< BlockPreconditioner< X, Y, C, T > > | Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::construct (Arguments &args)
static std::shared_ptr< NonoverlappingBlockPreconditioner< C, T > > | Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::construct (Arguments &args)
static void | Dune::Amg::SmootherApplier< T >::preSmooth (Smoother &smoother, Domain &v, const Range &d)
| apply pre smoothing in forward direction
static void | Dune::Amg::SmootherApplier< T >::postSmooth (Smoother &smoother, Domain &v, const Range &d)
| apply post smoothing in forward direction
template<typename LevelContext>
void | Dune::Amg::presmooth (LevelContext &levelContext, size_t steps)
| Apply pre smoothing on the current level.
template<typename LevelContext>
void | Dune::Amg::postsmooth (LevelContext &levelContext, size_t steps)
| Apply post smoothing on the current level.
static void | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::preSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::postSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::preSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::postSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::preSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::postSmooth (Smoother &smoother, Domain &v, Range &d)
static void | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::preSmooth (Smoother &smoother, Domain &v, const Range &d)
static void | Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::postSmooth (Smoother &smoother, Domain &v, const Range &d)
| Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::SeqOverlappingSchwarzSmootherArgs (Overlap overlap_=vertex, bool onthefly_=false)
virtual void | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::setMatrix (const M &matrix, const AggregatesMap &amap)
void | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::setMatrix (const M &matrix)
const Vector & | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::getSubDomains ()
| Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::VertexAdder (Vector &subdomains_, const AggregatesMap &aggregates_)
template<class T>
void | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::operator() (const T &edge)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::setAggregate (const AggregateDescriptor &aggregate_)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::noSubdomains () const
template<class T>
void | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::operator() (const T &)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::setAggregate (const AggregateDescriptor &)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::noSubdomains () const
| Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::AggregateAdder (Vector &subdomains_, const AggregatesMap &aggregates_, const MatrixGraph< const M > &graph_, VM &visitedMap_)
template<class T>
void | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::operator() (const T &edge)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::setAggregate (const AggregateDescriptor &aggregate_)
int | Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::noSubdomains () const
static std::shared_ptr< SeqOverlappingSchwarz< M, X, TM, TS, TA > > | Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::construct (Arguments &args)
template<class M, class V, class P, class O>
void | Dune::Amg::BaseGalerkinProduct::calculate (const M &fine, const AggregatesMap< V > &aggregates, M &coarse, const P &pinfo, const O &copy)
| Dune::Amg::Hierarchy< T, A >::Hierarchy (const std::shared_ptr< MemberType > &first)
| Construct a new hierarchy.
| Dune::Amg::Hierarchy< T, A >::Hierarchy (const Hierarchy &other)
| Copy constructor (deep copy!).
std::size_t | Dune::Amg::Hierarchy< T, A >::levels () const
| Get the number of levels in the hierarchy.
void | Dune::Amg::Hierarchy< T, A >::addRedistributedOnCoarsest (Arguments &args)
void | Dune::Amg::Hierarchy< T, A >::addCoarser (Arguments &args)
| Add an element on a coarser level.
void | Dune::Amg::Hierarchy< T, A >::addFiner (Arguments &args)
| Add an element on a finer level.
Iterator | Dune::Amg::Hierarchy< T, A >::finest ()
| Get an iterator positioned at the finest level.
Iterator | Dune::Amg::Hierarchy< T, A >::coarsest ()
| Get an iterator positioned at the coarsest level.
ConstIterator | Dune::Amg::Hierarchy< T, A >::finest () const
| Get an iterator positioned at the finest level.
ConstIterator | Dune::Amg::Hierarchy< T, A >::coarsest () const
| Get an iterator positioned at the coarsest level.
| Dune::Amg::KAMG< M, X, S, PI, K, A >::KAMG (OperatorHierarchy &matrices, CoarseSolver &coarseSolver, const SmootherArgs &smootherArgs, const Parameters &parms, std::size_t maxLevelKrylovSteps=3, double minDefectReduction=1e-1)
| Construct a new amg with a specific coarse solver.
template<class C>
| Dune::Amg::KAMG< M, X, S, PI, K, A >::KAMG (const Operator &fineOperator, const C &criterion, const SmootherArgs &smootherArgs=SmootherArgs(), std::size_t maxLevelKrylovSteps=3, double minDefectReduction=1e-1, const ParallelInformation &pinfo=ParallelInformation())
| Construct an AMG with an inexact coarse solver based on the smoother.
void | Dune::Amg::KAMG< M, X, S, PI, K, A >::pre (Domain &x, Range &b)
| Prepare the preconditioner.
void | Dune::Amg::KAMG< M, X, S, PI, K, A >::post (Domain &x)
| Clean up.
void | Dune::Amg::KAMG< M, X, S, PI, K, A >::apply (Domain &v, const Range &d)
| Apply one step of the preconditioner to the system A(v)=d.
std::size_t | Dune::Amg::KAMG< M, X, S, PI, K, A >::maxlevels ()
| Dune::Amg::MatrixHierarchy< M, PI, A >::MatrixHierarchy (std::shared_ptr< MatrixOperator > fineMatrix, std::shared_ptr< ParallelInformation > pinfo=std::make_shared< ParallelInformation >())
| Constructor.
template<typename O, typename T>
void | Dune::Amg::MatrixHierarchy< M, PI, A >::build (const T &criterion)
| Build the matrix hierarchy using aggregation.
const ParallelMatrixHierarchy & | Dune::Amg::MatrixHierarchy< M, PI, A >::matrices () const
| Get the matrix hierarchy.
const ParallelInformationHierarchy & | Dune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation () const
| Get the hierarchy of the parallel data distribution information.
void | Dune::Amg::MatrixHierarchy< M, PI, A >::getCoarsestAggregatesOnFinest (std::vector< std::size_t > &data) const
| Get the mapping of fine level unknowns to coarse level aggregates.
const AggregatesMapList & | Dune::Amg::MatrixHierarchy< M, PI, A >::aggregatesMaps () const
| Get the hierarchy of the mappings of the nodes onto aggregates.
const RedistributeInfoList & | Dune::Amg::MatrixHierarchy< M, PI, A >::redistributeInformation () const
| Get the hierarchy of the information about redistributions,.
| Dune::Amg::MatrixHierarchy< M, PI, A >::~MatrixHierarchy ()
template<class V, class BA, class TA>
void | Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenVector (Hierarchy< BlockVector< V, BA >, TA > &hierarchy) const
| Coarsen the vector hierarchy according to the matrix hierarchy.
template<class S, class TA>
void | Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother (Hierarchy< S, TA > &smoothers, const typename SmootherTraits< S >::Arguments &args) const
| Coarsen the smoother hierarchy according to the matrix hierarchy.
template<class F>
void | Dune::Amg::MatrixHierarchy< M, PI, A >::recalculateGalerkin (const F &copyFlags)
| Recalculate the galerkin products.
std::size_t | Dune::Amg::MatrixHierarchy< M, PI, A >::levels () const
| Get the number of levels in the hierarchy.
std::size_t | Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels () const
| Get the max number of levels in the hierarchy of processors.
bool | Dune::Amg::MatrixHierarchy< M, PI, A >::hasCoarsest () const
bool | Dune::Amg::MatrixHierarchy< M, PI, A >::isBuilt () const
| Whether the hierarchy was built.
template<typename T>
void | Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongateVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, Vector &fineRedist, T damp, const SequentialInformation &comm, const Redist &redist)
template<typename T>
void | Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongateVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, T damp, const SequentialInformation &comm)
static void | Dune::Amg::Transfer< V, V1, SequentialInformation >::restrictVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, const Vector &fine, const SequentialInformation &comm)
template<typename T3>
static void | Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongateVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, Vector &fineRedist, T3 damp, OwnerOverlapCopyCommunication< T1, T2 > &comm, const Redist &redist)
template<typename T3>
static void | Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongateVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, T3 damp, OwnerOverlapCopyCommunication< T1, T2 > &comm)
static void | Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::restrictVector (const AggregatesMap< Vertex > &aggregates, Vector &coarse, const Vector &fine, OwnerOverlapCopyCommunication< T1, T2 > &comm)

## Variables

const Matrix * | Dune::Amg::SymmetricMatrixDependency< M, N >::matrix_
| The matrix we work on.
real_type | Dune::Amg::SymmetricMatrixDependency< M, N >::maxValue_
Norm | Dune::Amg::SymmetricMatrixDependency< M, N >::norm_
| The functor for calculating the norm.
int | Dune::Amg::SymmetricMatrixDependency< M, N >::row_
| index of the currently evaluated row.
real_type | Dune::Amg::SymmetricMatrixDependency< M, N >::diagonal_
| The norm of the current diagonal.
std::vector< real_type > | Dune::Amg::SymmetricMatrixDependency< M, N >::vals_
std::vector< real_type >::iterator | Dune::Amg::SymmetricMatrixDependency< M, N >::valIter_
const Matrix * | Dune::Amg::Dependency< M, N >::matrix_
| The matrix we work on.
real_type | Dune::Amg::Dependency< M, N >::maxValue_
Norm | Dune::Amg::Dependency< M, N >::norm_
| The functor for calculating the norm.
int | Dune::Amg::Dependency< M, N >::row_
| index of the currently evaluated row.
real_type | Dune::Amg::Dependency< M, N >::diagonal_
| The norm of the current diagonal.
const Matrix * | Dune::Amg::SymmetricDependency< M, N >::matrix_
| The matrix we work on.
real_type | Dune::Amg::SymmetricDependency< M, N >::maxValue_
Norm | Dune::Amg::SymmetricDependency< M, N >::norm_
| The functor for calculating the norm.
int | Dune::Amg::SymmetricDependency< M, N >::row_
| index of the currently evaluated row.
real_type | Dune::Amg::SymmetricDependency< M, N >::diagonal_
| The norm of the current diagonal.
static const V | Dune::Amg::AggregatesMap< V >::UNAGGREGATED
| Identifier of not yet aggregated vertices.
static const V | Dune::Amg::AggregatesMap< V >::ISOLATED
| Identifier of isolated vertices.
static const Vertex | Dune::Amg::Aggregator< G >::Stack::NullEntry
Hierarchy< Smoother, A >::Iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::smoother
| The iterator over the smoothers.
OperatorHierarchy::ParallelMatrixHierarchy::ConstIterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::matrix
| The iterator over the matrices.
ParallelInformationHierarchy::Iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::pinfo
| The iterator over the parallel information.
OperatorHierarchy::RedistributeInfoList::const_iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::redist
| The iterator over the redistribution information.
OperatorHierarchy::AggregatesMapList::const_iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::aggregates
| The iterator over the aggregates maps.
Hierarchy< Domain, A >::Iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::lhs
| The iterator over the left hand side.
Hierarchy< Domain, A >::Iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::update
| The iterator over the updates.
Hierarchy< Range, A >::Iterator | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::rhs
| The iterator over the right hand sided.
std::size_t | Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::level
| The level index.
static constexpr SolverType | Dune::Amg::DirectSolverSelector< Matrix, Vector >::solver
static constexpr bool | Dune::Amg::DirectSolverSelector< Matrix, Vector >::isDirectSolver = solver != none
std::shared_ptr< M > | Dune::Amg::ParallelOperatorArgs< M, C >::matrix_
const C & | Dune::Amg::ParallelOperatorArgs< M, C >::comm_
MPI_Comm | Dune::Amg::OwnerOverlapCopyCommunicationArgs::comm_
SolverCategory::Category | Dune::Amg::OwnerOverlapCopyCommunicationArgs::cat_
Communication< void * > | Dune::Amg::SequentialCommunicationArgs::comm_
Aggregate * | Dune::Amg::OverlapVertex< T >::aggregate
| The aggregate the vertex belongs to.
Vertex | Dune::Amg::OverlapVertex< T >::vertex
| The vertex descriptor.
int | Dune::Amg::DefaultSmootherArgs< T >::iterations
| The number of iterations to perform.
RelaxationFactor | Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor
| The relaxation factor to use.
const Matrix * | Dune::Amg::DefaultConstructionArgs< T >::matrix_
Overlap | Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap
bool | Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::onthefly

## Friends

class | Dune::Amg::Aggregator< G >::Stack
template<class M1, class X1, class S1, class P1, class K1, class A1>
class | Dune::Amg::AMG< M, X, S, PI, A >::KAMG
class | Dune::Amg::AMG< M, X, S, PI, A >::KAmgTwoGrid< AMG >
std::ostream & | Dune::Amg::EdgeProperties::operator<< (std::ostream &os, const EdgeProperties &props)
std::ostream & | Dune::Amg::VertexProperties::operator<< (std::ostream &os, const VertexProperties &props)

## Detailed Description

A Parallel Algebraic Multigrid based on Agglomeration.

## Typedef Documentation

## Aggregate

template<class T>

typedef T Dune::Amg::OverlapVertex< T >::Aggregate

The aggregate descriptor.

## AggregateDescriptor [1/3]

template<class V>

typedef V Dune::Amg::AggregatesMap< V >::AggregateDescriptor

The aggregate descriptor type.

## AggregateDescriptor [2/3]

template<class G>

typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::AggregateDescriptor

The type of the aggregate descriptor.

## AggregateDescriptor [3/3]

template<class M, class X, class TM, class TS, class TA>

typedef AggregatesMap::AggregateDescriptor Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateDescriptor

## AggregatesMap

template<class M, class X, class TM, class TS, class TA>

typedef Dune::Amg::AggregatesMap<VertexDescriptor> Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregatesMap

## Allocator [1/2]

template<class G, class S>

typedef PoolAllocator<Vertex,100> Dune::Amg::Aggregate< G, S >::Allocator

The allocator we use for our lists and the set.

## Allocator [2/2]

template<class V>

typedef PoolAllocator<VertexDescriptor,100> Dune::Amg::AggregatesMap< V >::Allocator

The allocator we use for our lists and the set.

## Arguments [1/14]

template<typename T>

typedef const void* Dune::Amg::ConstructionTraits< T >::Arguments

A type holding all the arguments needed to call the constructor.

## Arguments [2/14]

template<class X, class Y, class C, class T>

typedef DefaultParallelConstructionArgs<T,C> Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::Arguments

## Arguments [3/14]

template<class T, class A>

typedef const int Dune::Amg::ConstructionTraits< BlockVector< T, A > >::Arguments

## Arguments [4/14]

template<class C, class T>

typedef DefaultParallelConstructionArgs<T,C> Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::Arguments

## Arguments [5/14]

template<class M, class X, class Y, class C>

typedef DefaultParallelConstructionArgs<M,C> Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::Arguments

## Arguments [6/14]

template<class X, class Y>

typedef DefaultConstructionArgs<Richardson<X,Y> > Dune::Amg::ConstructionTraits< Richardson< X, Y > >::Arguments

## Arguments [7/14]

template<class M, class X, class Y>

typedef ConstructionArgs<SeqILU<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >::Arguments

## Arguments [8/14]

template<class M, class X, class Y, int l>

typedef DefaultConstructionArgs<SeqJac<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::Arguments

## Arguments [9/14]

template<class M, class X, class TM, class TS, class TA>

typedef ConstructionArgs<SeqOverlappingSchwarz<M,X,TM,TS,TA> > Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Arguments

## Arguments [10/14]

template<class M, class X, class Y, int l>

typedef DefaultConstructionArgs<SeqSOR<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::Arguments

## Arguments [11/14]

template<class M, class X, class Y, int l>

typedef DefaultConstructionArgs<SeqSSOR<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::Arguments

## Arguments [12/14]

template<class T>

typedef DefaultSmootherArgs<typename T::matrix_type::field_type> Dune::Amg::SmootherTraits< T >::Arguments

## Arguments [13/14]

template<class X, class Y>

typedef DefaultSmootherArgs<typename X::field_type> Dune::Amg::SmootherTraits< Richardson< X, Y > >::Arguments

## Arguments [14/14]

template<class M, class X, class TM, class TS, class TA>

typedef SeqOverlappingSchwarzSmootherArgs<typename M::field_type> Dune::Amg::SmootherTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Arguments

## Attribute

template<typename T, typename E>

typedef LocalIndex::Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::Attribute

The type of the attribute.

## BitSet

template<typename G, std::size_t i>

typedef std::bitset<VertexProperties::SIZE> Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::BitSet

The type of the bitset.

## Category [1/2]

template<typename G, std::size_t i>

typedef ReadWritePropertyMapTag Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Category

## Category [2/2]

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

typedef LvaluePropertyMapTag Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Category

The category of the property map.

## CoarseSolver

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef InverseOperator<X,X> Dune::Amg::AMG< M, X, S, PI, A >::CoarseSolver

the type of the coarse solver.

## ColIter [1/3]

template<class M, class N>

typedef Matrix::ConstColIterator Dune::Amg::Dependency< M, N >::ColIter

Constant column iterator of the matrix.

## ColIter [2/3]

template<class M, class N>

typedef Matrix::ConstColIterator Dune::Amg::SymmetricDependency< M, N >::ColIter

Constant column iterator of the matrix.

## ColIter [3/3]

template<class M, class N>

typedef Matrix::ConstColIterator Dune::Amg::SymmetricMatrixDependency< M, N >::ColIter

Constant column iterator of the matrix.

## const_iterator [1/2]

template<class G, class S>

typedef VertexSet::const_iterator Dune::Amg::Aggregate< G, S >::const_iterator

Const iterator over a vertex list.

## const_iterator [2/2]

template<class V>

typedef const AggregateDescriptor* Dune::Amg::AggregatesMap< V >::const_iterator

## ConstEdgeIterator

template<class G, class S, class V>

typedef Graph::ConstEdgeIterator Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConstEdgeIterator

The constant edge iterator.

## Container

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

typedef C Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Container

The container that holds the properties.

## DependencyPolicy

template<class T>

typedef T Dune::Amg::AggregationCriterion< T >::DependencyPolicy

The policy for calculating the dependency graph.

## DirectSolver

template<class Matrix, class Vector>

typedef SelectedSolver::type Dune::Amg::DirectSolverSelector< Matrix, Vector >::DirectSolver

## Domain [1/6]

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef X Dune::Amg::AMG< M, X, S, PI, A >::Domain

The domain type.

## Domain [2/6]

template<class T>

typedef Smoother::domain_type Dune::Amg::SmootherApplier< T >::Domain

## Domain [3/6]

template<class M, class X, class Y, class C, int l>

typedef Smoother::domain_type Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Domain

## Domain [4/6]

template<class M, class X, class Y, class C, int l>

typedef Smoother::domain_type Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Domain

## Domain [5/6]

template<class M, class X, class MS, class TA>

typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Domain

## Domain [6/6]

template<class M, class X, class Y, int l>

typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Domain

## ExcludedAttributes

template<typename T, typename E>

typedef E Dune::Amg::ParallelIndicesCoarsener< T, E >::ExcludedAttributes

The set of excluded attributes.

## field_type [1/4]

template<class M, class N>

typedef Matrix::field_type Dune::Amg::Dependency< M, N >::field_type

protected

The current max value.

## field_type [2/4]

template<class Matrix, class Vector>

typedef Matrix::field_type Dune::Amg::DirectSolverSelector< Matrix, Vector >::field_type

## field_type [3/4]

template<class M, class N>

typedef Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::field_type

protected

The current max value.

## field_type [4/4]

template<class M, class N>

typedef Matrix::field_type Dune::Amg::SymmetricMatrixDependency< M, N >::field_type

protected

The current max value.

## GlobalIndex

template<typename T, typename E>

typedef ParallelIndexSet::GlobalIndex Dune::Amg::ParallelIndicesCoarsener< T, E >::GlobalIndex

The type of the global index.

## Graph [1/2]

template<class G, class S, class V>

typedef G Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Graph

The type of the graph.

## Graph [2/2]

template<typename G, std::size_t i>

typedef G Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Graph

The type of the graph with internal properties.

## iterator

template<class V>

typedef AggregateDescriptor* Dune::Amg::AggregatesMap< V >::iterator

## Key

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

typedef K Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Key

The key of the property map.

## LocalIndex

template<typename T, typename E>

typedef ParallelIndexSet::LocalIndex Dune::Amg::ParallelIndicesCoarsener< T, E >::LocalIndex

The type of the local index.

## Matrix [1/3]

template<class M, class N>

typedef M Dune::Amg::Dependency< M, N >::Matrix

The matrix type we build the dependency of.

## Matrix [2/3]

template<class M, class N>

typedef M Dune::Amg::SymmetricDependency< M, N >::Matrix

The matrix type we build the dependency of.

## Matrix [3/3]

template<class M, class N>

typedef M Dune::Amg::SymmetricMatrixDependency< M, N >::Matrix

The matrix type we build the dependency of.

## MatrixGraph [1/2]

template<class G, class S>

typedef G Dune::Amg::Aggregate< G, S >::MatrixGraph

## MatrixGraph [2/2]

template<class G>

typedef G Dune::Amg::Aggregator< G >::MatrixGraph

The matrix graph type used.

## Norm [1/3]

template<class M, class N>

typedef N Dune::Amg::Dependency< M, N >::Norm

The norm to use for examining the matrix entries.

## Norm [2/3]

template<class M, class N>

typedef N Dune::Amg::SymmetricDependency< M, N >::Norm

The norm to use for examining the matrix entries.

## Norm [3/3]

template<class M, class N>

typedef N Dune::Amg::SymmetricMatrixDependency< M, N >::Norm

The norm to use for examining the matrix entries.

## Operator

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef M Dune::Amg::AMG< M, X, S, PI, A >::Operator

The matrix operator type.

## OperatorHierarchy

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef MatrixHierarchy<M, ParallelInformation, A> Dune::Amg::AMG< M, X, S, PI, A >::OperatorHierarchy

The operator hierarchy type.

## ParallelIndexSet

template<typename T, typename E>

typedef ParallelInformation::ParallelIndexSet Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelIndexSet

## ParallelInformation [1/3]

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef PI Dune::Amg::AMG< M, X, S, PI, A >::ParallelInformation

The type of the parallel information. Either OwnerOverlapCommunication or another type describing the parallel data distribution and providing communication methods.

## ParallelInformation [2/3]

template<class T>

typedef T Dune::Amg::GalerkinProduct< T >::ParallelInformation

## ParallelInformation [3/3]

template<typename T, typename E>

typedef T Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelInformation

The type of the parallel information.

## ParallelInformationHierarchy

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef OperatorHierarchy::ParallelInformationHierarchy Dune::Amg::AMG< M, X, S, PI, A >::ParallelInformationHierarchy

The parallal data distribution hierarchy type.

## Range [1/6]

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef X Dune::Amg::AMG< M, X, S, PI, A >::Range

The range type.

## Range [2/6]

template<class T>

typedef Smoother::range_type Dune::Amg::SmootherApplier< T >::Range

## Range [3/6]

template<class M, class X, class Y, class C, int l>

typedef Smoother::range_type Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Range

## Range [4/6]

template<class M, class X, class Y, class C, int l>

typedef Smoother::range_type Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Range

## Range [5/6]

template<class M, class X, class MS, class TA>

typedef Smoother::range_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Range

## Range [6/6]

template<class M, class X, class Y, int l>

typedef Smoother::range_type Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Range

## real_type [1/3]

template<class M, class N>

typedef FieldTraits<field_type>::real_type Dune::Amg::Dependency< M, N >::real_type

protected

## real_type [2/3]

template<class M, class N>

typedef FieldTraits<field_type>::real_type Dune::Amg::SymmetricDependency< M, N >::real_type

protected

## real_type [3/3]

template<class M, class N>

typedef FieldTraits<field_type>::real_type Dune::Amg::SymmetricMatrixDependency< M, N >::real_type

protected

## Reference [1/2]

template<typename G, std::size_t i>

typedef BitSet::reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Reference

The reference type.

## Reference [2/2]

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

typedef R Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Reference

The reference type of the container.

## RelaxationFactor

template<class T>

typedef FieldTraits<T>::real_type Dune::Amg::DefaultSmootherArgs< T >::RelaxationFactor

The type of the relaxation factor.

## RemoteIndices

template<typename T, typename E>

typedef Dune::RemoteIndices<ParallelIndexSet> Dune::Amg::ParallelIndicesCoarsener< T, E >::RemoteIndices

The type of the remote indices.

## Row [1/3]

template<class M, class N>

typedef Matrix::row_type Dune::Amg::Dependency< M, N >::Row

Constant Row iterator of the matrix.

## Row [2/3]

template<class M, class N>

typedef Matrix::row_type Dune::Amg::SymmetricDependency< M, N >::Row

Constant Row iterator of the matrix.

## Row [3/3]

template<class M, class N>

typedef Matrix::row_type Dune::Amg::SymmetricMatrixDependency< M, N >::Row

Constant Row iterator of the matrix.

## SelectedSolver

template<class Matrix, class Vector>

typedef Solver< Matrix, solver > Dune::Amg::DirectSolverSelector< Matrix, Vector >::SelectedSolver

## SeqConstructionTraits [1/2]

template<class X, class Y, class C, class T>

typedef ConstructionTraits<T> Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::SeqConstructionTraits

## SeqConstructionTraits [2/2]

template<class C, class T>

typedef ConstructionTraits<T> Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::SeqConstructionTraits

## Set

template<class G, class S, class V>

typedef S Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Set

The type of the connected set.

## size_type

template<class G, class S>

using Dune::Amg::Aggregate< G, S >::size_type = typename VertexSet::size_type

Type of size used by allocator of sllist.

## Smoother [1/6]

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef S Dune::Amg::AMG< M, X, S, PI, A >::Smoother

The type of the smoother.

One of the preconditioners implementing the Preconditioner interface. Note that the smoother has to fit the ParallelInformation.

## Smoother [2/6]

template<class T>

typedef T Dune::Amg::SmootherApplier< T >::Smoother

## Smoother [3/6]

template<class M, class X, class Y, class C, int l>

typedef BlockPreconditioner<X,Y,C,SeqSOR<M,X,Y,l> > Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Smoother

## Smoother [4/6]

template<class M, class X, class Y, class C, int l>

typedef NonoverlappingBlockPreconditioner<C,SeqSOR<M,X,Y,l> > Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Smoother

## Smoother [5/6]

template<class M, class X, class MS, class TA>

typedef SeqOverlappingSchwarz<M,X,MultiplicativeSchwarzMode,MS,TA> Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Smoother

## Smoother [6/6]

template<class M, class X, class Y, int l>

typedef SeqSOR<M,X,Y,l> Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Smoother

## SmootherArgs

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef SmootherTraits<Smoother>::Arguments Dune::Amg::AMG< M, X, S, PI, A >::SmootherArgs

The argument type for the construction of the smoother.

## SmootherType

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

typedef Smoother Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::SmootherType

## SphereMap

template<class G, class S>

typedef std::size_t* Dune::Amg::Aggregate< G, S >::SphereMap

Type of the mapping of aggregate members onto distance spheres.

## Subdomain

template<class M, class X, class TM, class TS, class TA>

typedef Vector::value_type Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Subdomain

## Type

template<typename G, typename EP, typename VM, typename EM>

typedef Amg::PropertyGraphVertexPropertyMap<Amg::PropertiesGraph<G,Amg::VertexProperties,EP,VM,EM>, Amg::VertexProperties::VISITED> Dune::PropertyMapTypeSelector< Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > >::Type

## type [1/2]

template<class Matrix, class Vector>
template<class M, SolverType>

typedef InverseOperator<Vector,Vector> Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::type

## type [2/2]

template<class Matrix, class Vector>
template<class M>

typedef SuperLU< M > Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::type

## ValueType

template<typename G, std::size_t i>

typedef bool Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::ValueType

The value type.

## Vector

template<class M, class X, class TM, class TS, class TA>

typedef SeqOverlappingSchwarz<M,X,TM,TS,TA>::subdomain_vector Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::Vector

## Vertex [1/7]

template<class G, class S>

typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregate< G, S >::Vertex

The vertex descriptor type.

## Vertex [2/7]

template<class G>

typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::Vertex

The vertex identifier.

## Vertex [3/7]

template<class G, class S, class V>

typedef Graph::VertexDescriptor Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Vertex

The vertex descriptor of the graph.

## Vertex [4/7]

template<class G, class T>

typedef G::VertexDescriptor Dune::Amg::ConnectivityConstructor< G, T >::Vertex

## Vertex [5/7]

template<class G>

typedef G::VertexDescriptor Dune::Amg::ConnectivityConstructor< G, SequentialInformation >::Vertex

## Vertex [6/7]

template<class T>

typedef T Dune::Amg::OverlapVertex< T >::Vertex

The vertex descriptor.

## Vertex [7/7]

template<typename G, std::size_t i>

typedef G::VertexDescriptor Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Vertex

The vertex descriptor.

## VertexDescriptor [1/2]

template<class V>

typedef V Dune::Amg::AggregatesMap< V >::VertexDescriptor

The vertex descriptor type.

## VertexDescriptor [2/2]

template<class M, class X, class TM, class TS, class TA>

typedef MatrixGraph<M>::VertexDescriptor Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexDescriptor

## VertexList

template<class V>

typedef SLList<VertexDescriptor,Allocator> Dune::Amg::AggregatesMap< V >::VertexList

The type of a single linked list of vertex descriptors.

## VertexSet

template<class G, class S>

typedef S Dune::Amg::Aggregate< G, S >::VertexSet

The type of a single linked list of vertex descriptors.

## VisitedMap

template<class G, class S, class V>

typedef V Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::VisitedMap

The type of the map for marking vertices as visited.

## Visitor

template<class G>
template<class V>

typedef V Dune::Amg::Aggregator< G >::AggregateVisitor< V >::Visitor

The type of the adapted visitor.

## Enumeration Type Documentation

## anonymous enum

template<typename G, std::size_t i>

anonymous enum

Enumerator
index | the index to access in the bitset.

## anonymous enum

anonymous enum

Enumerator
is_sign_preserving |

## anonymous enum

anonymous enum

Enumerator
is_sign_preserving |

## anonymous enum

template<int N>

anonymous enum

Enumerator
is_sign_preserving |

## anonymous enum

anonymous enum

Enumerator
MAX_PROCESSES | Hard limit for the number of processes allowed. This is needed to prevent overflows when calculating the coarsening rate. Currently set 72,000 which is enough for JUGENE.

## anonymous enum

anonymous enum

Flags of the link.

Enumerator
INFLUENCE |
DEPEND |
SIZE |

## anonymous enum

anonymous enum

Enumerator
is_sign_preserving |

## anonymous enum

anonymous enum

Enumerator
ISOLATED |
VISITED |
FRONT |
BORDER |
SIZE |

## anonymous enum

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

anonymous enum

Enumerator
index | The index of the property in the bundle.

## AccumulationMode

enum Dune::Amg::AccumulationMode

Identifiers for the different accumulation modes.

Enumerator
noAccu | No data accumulution. The coarse level data will be distributed to all processes.
atOnceAccu | Accumulate data to one process at once. Once no further coarsening is possible all data will be accumulated to one process
successiveAccu | Successively accumulate to fewer processes.

## Overlap

template<class T>

enum Dune::Amg::SeqOverlappingSchwarzSmootherArgs::Overlap

Enumerator
vertex |
aggregate |
pairwise |
none |

## SolverType

template<class Matrix, class Vector>

enum Dune::Amg::DirectSolverSelector::SolverType

Enumerator
umfpack |
superlu |
none |

## Function Documentation

## accumulate()

AccumulationMode Dune::Amg::CoarseningParameters::accumulate | ( |  | ) | const

inline

Whether the data should be accumulated on fewer processes on coarser levels.

## add() [1/2]

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::add | ( | const Vertex & | vertex | ) |

Add a vertex to the aggregate.

## add() [2/2]

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::add | ( | std::vector< Vertex > & | vertex | ) |

## addCoarser()

template<class T, class A>

void Dune::Amg::Hierarchy< T, A >::addCoarser | ( | Arguments & | args | ) |

Add an element on a coarser level.

Parameters

  args | The arguments needed for the construction.

## addFiner()

template<class T, class A>

void Dune::Amg::Hierarchy< T, A >::addFiner | ( | Arguments & | args | ) |

Add an element on a finer level.

Parameters

  args | The arguments needed for the construction.

## addRedistributedOnCoarsest()

template<class T, class A>

void Dune::Amg::Hierarchy< T, A >::addRedistributedOnCoarsest | ( | Arguments & | args | ) |

## Aggregate()

template<class G, class S>

Dune::Amg::Aggregate< G, S >::Aggregate | ( | MatrixGraph & | graph,
|  | AggregatesMap< Vertex > & | aggregates,
|  | VertexSet & | connectivity,
|  | std::vector< Vertex > & | front_ )

Constructor.

Parameters

  graph | The matrix graph we work on.
  aggregates | The mapping of vertices onto aggregates.
  connectivity | The set of vertices connected to the aggregate. distance spheres.
  front_ | The vertices of the current aggregate front.

## AggregateAdder()

template<class M, class X, class TM, class TS, class TA>
template<class VM>

Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::AggregateAdder | ( | Vector & | subdomains_,
|  | const AggregatesMap & | aggregates_,
|  | const MatrixGraph< const M > & | graph_,
|  | VM & | visitedMap_ )

inline

## AggregatesMap() [1/2]

template<class V>

Dune::Amg::AggregatesMap< V >::AggregatesMap | ( |  | ) |

Constructs without allocating memory.

## AggregatesMap() [2/2]

template<class V>

Dune::Amg::AggregatesMap< V >::AggregatesMap | ( | std::size_t | noVertices | ) |

Constructs with allocating memory.

Parameters

  noVertices | The number of vertices we will hold information for.

## aggregatesMaps()

template<class M, class IS, class A>

const MatrixHierarchy< M, IS, A >::AggregatesMapList & Dune::Amg::MatrixHierarchy< M, IS, A >::aggregatesMaps | ( |  | ) | const

Get the hierarchy of the mappings of the nodes onto aggregates.

Returns
  The hierarchy of the mappings of the nodes onto aggregates.

## AggregateVisitor()

template<class G>
template<class V>

Dune::Amg::Aggregator< G >::AggregateVisitor< V >::AggregateVisitor | ( | const AggregatesMap< Vertex > & | aggregates,
|  | const AggregateDescriptor & | aggregate,
|  | Visitor & | visitor )

Constructor.

Parameters

  aggregates | The aggregate numbers of the vertices.
  aggregate | The id of the aggregate to visit.
  visitor | The visitor.

## AggregationCriterion() [1/2]

template<class T>

Dune::Amg::AggregationCriterion< T >::AggregationCriterion | ( |  | ) |

inline

Constructor.

The parameters will be initialized with default values suitable for 2D isotropic problems.

If that does not fit your needs either use setDefaultValuesIsotropic setDefaultValuesAnisotropic or setup the values by hand

## AggregationCriterion() [2/2]

template<class T>

Dune::Amg::AggregationCriterion< T >::AggregationCriterion | ( | const Parameters & | parms | ) |

inline

## AggregationParameters()

Dune::Amg::AggregationParameters::AggregationParameters | ( |  | ) |

inline

Constructor.

The parameters will be initialized with default values suitable for 2D isotropic problems.

If that does not fit your needs either use setDefaultValuesIsotropic setDefaultValuesAnisotropic or setup the values by hand

## Aggregator()

template<class G>

Dune::Amg::Aggregator< G >::Aggregator | ( |  | ) |

Constructor.

## allocate()

template<class V>

void Dune::Amg::AggregatesMap< V >::allocate | ( | std::size_t | noVertices | ) |

Allocate memory for holding the information.

Parameters

  noVertices | The total number of vertices to be mapped.

## alpha()

double Dune::Amg::DependencyParameters::alpha | ( |  | ) | const

inline

Get the scaling value for marking connections as strong. Default value is 1/3.

## AMG() [1/4]

template<class M, class X, class S, class PI, class A>

Dune::Amg::AMG< M, X, S, PI, A >::AMG | ( | const AMG< M, X, S, PI, A > & | amg | ) |

inline

Copy constructor.

## AMG() [2/4]

template<class M, class X, class S, class PI, class A>
template<class C>

Dune::Amg::AMG< M, X, S, PI, A >::AMG | ( | const Operator & | fineOperator,
|  | const C & | criterion,
|  | const SmootherArgs & | smootherArgs = SmootherArgs(),
|  | const ParallelInformation & | pinfo = ParallelInformation() )

Construct an AMG with an inexact coarse solver based on the smoother.

As coarse solver a preconditioned CG method with the smoother as preconditioner will be used. The matrix hierarchy is built automatically.

Parameters

  fineOperator | The operator on the fine level.
  criterion | The criterion describing the coarsening strategy. E. g. SymmetricCriterion or UnsymmetricCriterion, and providing the parameters.
  smootherArgs | The arguments for constructing the smoothers.
  pinfo | The information about the parallel distribution of the data.

## AMG() [3/4]

template<class M, class X, class S, class PI, class A>

Dune::Amg::AMG< M, X, S, PI, A >::AMG | ( | OperatorHierarchy & | matrices,
|  | CoarseSolver & | coarseSolver,
|  | const SmootherArgs & | smootherArgs,
|  | const Parameters & | parms )

Construct a new amg with a specific coarse solver.

Parameters

  matrices | The already set-up matrix hierarchy.
  coarseSolver | The set up solver to use on the coarse grid, must match the coarse matrix in the matrix hierarchy.
  smootherArgs | The arguments needed for thesmoother to use for pre and post smoothing.
  parms | The parameters for the AMG.

## AMG() [4/4]

template<class M, class X, class S, class PI, class A>

Dune::Amg::AMG< M, X, S, PI, A >::AMG | ( | std::shared_ptr< const Operator > | fineOperator,
|  | const ParameterTree & | configuration,
|  | const ParallelInformation & | pinfo = ParallelInformation() )

Constructor an AMG via ParameterTree.

Parameters

  fineOperator | The operator on the fine level.
  configuration | ParameterTree containing AMG parameters.
  pinfo | Optionally, specify ParallelInformation

ParameterTree Key | Meaning
--- | ---
smootherIterations | The number of iterations to perform.
smootherRelaxation | The relaxation factor
maxLevel | Maximum number of levels allowed in the hierarchy.
coarsenTarget | Maximum number of unknowns on the coarsest level.
minCoarseningRate | Coarsening will stop if the rate is below this threshold.
accumulationMode | If and how data is agglomerated on coarser level to

| fewer processors. ("atOnce": do agglomeration once and | to one process; "successive": Multiple agglomerations to | fewer processes until all data is on one process; | "none": Do no agglomeration at all and solve coarse level | iteratively). prolongationDampingFactor | Damping factor for the prolongation. alpha | Scaling value for marking connections as strong. beta | Threshold for marking nodes as isolated. additive | Whether to use additive multigrid. gamma | 1 for V-cycle, 2 for W-cycle. preSteps | Number of presmoothing steps. postSteps | Number of postsmoothing steps. verbosity | Output verbosity. default=2. criterionSymmetric | If true use SymmetricCriterion (default), else UnSymmetricCriterion strengthMeasure | What conversion to use to convert a matrix block | to a scalar when determining strength of connection: | diagonal (use a diagonal of row diagonalRowIndex, class Diagonal, default); | rowSum (rowSum norm), frobenius (Frobenius norm); | one (use always one and neglect the actual entries). diagonalRowIndex | The index to use for the diagonal strength (default 0) | if this is i and strengthMeasure is "diagonal", then | block[i][i] will be used when determining strength of | connection. defaultAggregationSizeMode | Whether to set default values depending on isotropy of | problem uses parameters "defaultAggregationDimension" and | "maxAggregateDistance" (isotropic: For and isotropic problem; | anisotropic: for an anisotropic problem). defaultAggregationDimension | Dimension of the problem (used for setting default aggregate size). maxAggregateDistance | Maximum distance in an aggregte (in term of minimum edges needed to travel. | one vertex to another within the aggregate). minAggregateSize | Minimum number of vertices an aggregate should consist of. maxAggregateSize | Maximum number of vertices an aggregate should consist of.

See ISTL_Factory for the ParameterTree layout and examples.

## apply() [1/2]

template<class M, class X, class S, class PI, class A>

void Dune::Amg::AMG< M, X, S, PI, A >::apply | ( | Domain & | v,
|  | const Range & | d )

virtual

Apply one step of the preconditioner to the system A(v)=d.

On entry v=0 and d=b-A(x) (although this might not be computed in that way. On exit v contains the update, i.e one step computes where is the approximate inverse of the operator characterizing the preconditioner.

Parameters

  [out] | v | The update to be computed
  | d | The current defect.

Implements Dune::Preconditioner< X, X >.

## apply() [2/2]

template<class M, class X, class S, class P, class K, class A>

void Dune::Amg::KAMG< M, X, S, P, K, A >::apply | ( | Domain & | v,
|  | const Range & | d )

Apply one step of the preconditioner to the system A(v)=d.

On entry v=0 and d=b-A(x) (although this might not be computed in that way. On exit v contains the update, i.e one step computes where is the approximate inverse of the operator characterizing the preconditioner.

Parameters

  [out] | v | The update to be computed
  | d | The current defect.

## attribute() [1/2]

template<typename T, typename E>
template<typename G, typename I>

Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute | ( |  | ) |

inline

## attribute() [2/2]

template<typename T, typename E>
template<typename G, typename I>

void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute | ( | const Attribute & | attribute | ) |

inline

## begin() [1/3]

template<class G, class S>

const_iterator Dune::Amg::Aggregate< G, S >::begin | ( |  | ) | const

get an iterator over the vertices of the aggregate.

## begin() [2/3]

template<class V>

iterator Dune::Amg::AggregatesMap< V >::begin | ( |  | ) |

inline

## begin() [3/3]

template<class V>

const_iterator Dune::Amg::AggregatesMap< V >::begin | ( |  | ) | const

inline

## beta()

double Dune::Amg::DependencyParameters::beta | ( |  | ) | const

inline

Get the threshold for marking nodes as isolated. The default value is 1.0E-5.

Returns
  beta

## breadthFirstSearch() [1/2]

template<class V>
template<bool reset, class G, class F, class VM>

std::size_t Dune::Amg::AggregatesMap< V >::breadthFirstSearch | ( | const VertexDescriptor & | start,
|  | const AggregateDescriptor & | aggregate,
|  | const G & | graph,
|  | F & | aggregateVisitor,
|  | VM & | visitedMap ) const

Breadth first search within an aggregate.

Template Parameters

  reset | If true the visited flags of the vertices will be reset after the search
  G | The type of the graph we perform the search on
  F | The type of the visitor to operate on the vertices

Parameters

  start | The vertex where the search should start from. This does not need to belong to the aggregate.
  aggregate | The aggregate id.
  graph | The matrix graph to perform the search on.
  visitedMap | A map to mark the already visited vertices
  aggregateVisitor | A functor that is called with each G::ConstEdgeIterator with an edge pointing to the aggregate. Use DummyVisitor if these are of no interest.

## breadthFirstSearch() [2/2]

template<class V>
template<bool remove, bool reset, class G, class L, class F1, class F2, class VM>

std::size_t Dune::Amg::AggregatesMap< V >::breadthFirstSearch | ( | const VertexDescriptor & | start,
|  | const AggregateDescriptor & | aggregate,
|  | const G & | graph,
|  | L & | visited,
|  | F1 & | aggregateVisitor,
|  | F2 & | nonAggregateVisitor,
|  | VM & | visitedMap ) const

Breadth first search within an aggregate.

Template Parameters

  L | A container type providing push_back(Vertex), and pop_front() in case remove is true
  remove | If true the entries in the visited list will be removed.
  reset | If true the visited flag will be reset after the search

Parameters

  start | The vertex where the search should start from. This does not need to belong to the aggregate.
  aggregate | The aggregate id.
  graph | The matrix graph to perform the search on.
  visited | A list to store the visited vertices in.
  aggregateVisitor | A functor that is called with each G::ConstEdgeIterator with an edge pointing to the aggregate. Use DummyVisitor these are of no interest.
  nonAggregateVisitor | A functor that is called with each G::ConstEdgeIterator with an edge pointing to another aggregate. Use DummyVisitor these are of no interest.
  visitedMap | A map to mark the already visited vertices

## build() [1/4]

template<class G>
template<class M, class C>

std::tuple< int, int, int, int > Dune::Amg::Aggregator< G >::build | ( | const M & | m,
|  | G & | graph,
|  | AggregatesMap< Vertex > & | aggregates,
|  | const C & | c,
|  | bool | finestLevel )

Build the aggregates.

Template Parameters

  C | The type of the coarsening Criterion to use

Parameters

  m | The matrix to build the aggregates accordingly.
  graph | A (sub) graph of the matrix.
  aggregates | Aggregate map we will build. All entries should be initialized to UNAGGREGATED!
  c | The coarsening criterion to use.
  finestLevel | Whether this the finest level. In that case rows representing Dirichlet boundaries will be detected and ignored during aggregation.

Returns
  A tuple of the total number of aggregates, the number of isolated aggregates, the number of isolated aggregates, the number of aggregates consisting only of one vertex, and the number of skipped aggregates built.

## build() [2/4]

template<class T>
template<class G, class V, class Set>

G::MutableMatrix * Dune::Amg::GalerkinProduct< T >::build | ( | G & | fineGraph,
|  | V & | visitedMap,
|  | const ParallelInformation & | pinfo,
|  | AggregatesMap< typename G::VertexDescriptor > & | aggregates,
|  | const typename G::Matrix::size_type & | size,
|  | const Set & | copy )

Calculates the coarse matrix via a Galerkin product.

Parameters

  fineGraph | The graph of the fine matrix.
  visitedMap | Map for marking vertices as visited.
  pinfo | Parallel information about the fine level.
  aggregates | The mapping of the fine level unknowns onto aggregates.
  size | The number of columns and rows of the coarse matrix.
  copy | The attribute set identifying the copy nodes of the graph.

## build() [3/4]

template<class G, class V, class Set>

G::MutableMatrix * Dune::Amg::GalerkinProduct< SequentialInformation >::build | ( | G & | fineGraph,
|  | V & | visitedMap,
|  | const SequentialInformation & | pinfo,
|  | const AggregatesMap< typename G::VertexDescriptor > & | aggregates,
|  | const typename G::Matrix::size_type & | size,
|  | const Set & | copy )

Calculates the coarse matrix via a Galerkin product.

Parameters

  fineGraph | The graph of the fine matrix.
  visitedMap | Map for marking vertices as visited.
  pinfo | Parallel information about the fine level.
  aggregates | The mapping of the fine level unknowns onto aggregates.
  size | The number of columns and rows of the coarse matrix.
  copy | The attribute set identifying the copy nodes of the graph.

## build() [4/4]

template<class M, class IS, class A>
template<typename O, typename T>

void Dune::Amg::MatrixHierarchy< M, IS, A >::build | ( | const T & | criterion | ) |

Build the matrix hierarchy using aggregation.

criterion The criterion describing the aggregation process.

## buildAggregates()

template<class V>
template<class M, class G, class C>

std::tuple< int, int, int, int > Dune::Amg::AggregatesMap< V >::buildAggregates | ( | const M & | matrix,
|  | G & | graph,
|  | const C & | criterion,
|  | bool | finestLevel )

Build the aggregates.

Parameters

  matrix | The matrix describing the dependency.
  graph | The graph corresponding to the matrix.
  criterion | The aggregation criterion.
  finestLevel | Whether this the finest level. In that case rows representing Dirichlet boundaries will be detected and ignored during aggregation.

Returns
  A tuple of the total number of aggregates, the number of isolated aggregates, the number of isolated aggregates, the number of aggregates consisting only of one vertex, and the number of skipped aggregates built.

## buildDependency()

template<class G, class C>

void Dune::Amg::buildDependency | ( | G & | graph,
|  | const typename C::Matrix & | matrix,
|  | C | criterion,
|  | bool | finestLevel )

Build the dependency of the matrix graph.

## calculate() [1/2]

template<class M, class V, class I, class O>

void Dune::Amg::BaseGalerkinProduct::calculate | ( | const M & | fine,
|  | const AggregatesMap< V > & | aggregates,
|  | M & | coarse,
|  | const I & | pinfo,
|  | const O & | copy )

Calculate the galerkin product.

Parameters

  fine | The fine matrix.
  aggregates | The aggregate mapping.
  coarse | The coarse Matrix.
  pinfo | Parallel information about the fine level.
  copy | The attribute set identifying the copy nodes of the graph.

## calculate() [2/2]

template<class M, class V, class P, class O>

void Dune::Amg::BaseGalerkinProduct::calculate | ( | const M & | fine,
|  | const AggregatesMap< V > & | aggregates,
|  | M & | coarse,
|  | const P & | pinfo,
|  | const O & | copy )

## category()

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

virtual SolverCategory::Category Dune::Amg::AMG< M, X, S, PI, A >::category | ( |  | ) | const

inline virtual

Category of the preconditioner (see SolverCategory::Category).

Implements Dune::Preconditioner< X, X >.

## clear()

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::clear | ( |  | ) |

Clear the aggregate.

## coarsen() [1/2]

template<typename E>
template<typename Graph, typename VM>

Graph::VertexDescriptor Dune::Amg::IndicesCoarsener< SequentialInformation, E >::coarsen | ( | const SequentialInformation & | fineInfo,
|  | Graph & | fineGraph,
|  | VM & | visitedMap,
|  | AggregatesMap< typename Graph::VertexDescriptor > & | aggregates,
|  | SequentialInformation & | coarseInfo,
|  | typename Graph::VertexDescriptor | noAggregates,
|  | bool | useFixedOrder = false )

static

## coarsen() [2/2]

template<typename T, typename E>
template<typename Graph, typename VM>

Graph::VertexDescriptor Dune::Amg::ParallelIndicesCoarsener< T, E >::coarsen | ( | ParallelInformation & | fineInfo,
|  | Graph & | fineGraph,
|  | VM & | visitedMap,
|  | AggregatesMap< typename Graph::VertexDescriptor > & | aggregates,
|  | ParallelInformation & | coarseInfo,
|  | typename Graph::VertexDescriptor | noAggregates,
|  | bool | useFixedOrder = false )

inline static

Build the coarse index set after the aggregatio.

Parameters

  fineInfo | The parallel information at the fine level.
  fineGraph | The graph of the fine lecel,
  visitedMap | Map for marking vertices as visited.
  aggregates | The mapping of unknowns onto aggregates.
  coarseInfo | The information about the parallel data decomposition on the coarse level.
  noAggregates |
  useFixedOrder | Flag indicating if creating indices for the coarser level should be done in a fixed order, i.e., the order in which the rows were sent. If set to true, this makes the runs reproducible but it might slow down performance.

Returns
  The number of unknowns on the coarse level.

## CoarseningParameters()

Dune::Amg::CoarseningParameters::CoarseningParameters | ( | int | maxLevel = 100,
|  | int | coarsenTarget = 1000,
|  | double | minCoarsenRate = 1.2,
|  | double | prolongDamp = 1.6,
|  | AccumulationMode | accumulate = successiveAccu,
|  | bool | useFixedOrder = false )

inline

Constructor.

Parameters

  maxLevel | The maximum number of levels allowed in the matrix hierarchy (default: 100).
  coarsenTarget | If the number of nodes in the matrix is below this threshold the coarsening will stop (default: 1000).
  minCoarsenRate | If the coarsening rate falls below this threshold the coarsening will stop (default: 1.2)
  prolongDamp | The damping factor to apply to the prolongated update (default: 1.6)
  accumulate | Whether to accumulate the data onto fewer processors on coarser levels.
  useFixedOrder | Flag indicating if creating indices for the coarser level should be done in a fixed order, i.e., the order in which the rows were sent. If set to true, this makes the runs reproducible but it might slow down performance.

## coarsenSmoother()

template<class M, class IS, class A>
template<class S, class TA>

void Dune::Amg::MatrixHierarchy< M, IS, A >::coarsenSmoother | ( | Hierarchy< S, TA > & | smoothers,
|  | const typename SmootherTraits< S >::Arguments & | args ) const

Coarsen the smoother hierarchy according to the matrix hierarchy.

Parameters

  smoothers | The smoother hierarchy to coarsen.
  args | The arguments for the construction of the coarse level smoothers.

## coarsenTarget()

int Dune::Amg::CoarseningParameters::coarsenTarget | ( |  | ) | const

inline

Get the maximum number of unknowns allowed on the coarsest level.

## coarsenVector()

template<class M, class IS, class A>
template<class V, class BA, class TA>

void Dune::Amg::MatrixHierarchy< M, IS, A >::coarsenVector | ( | Hierarchy< BlockVector< V, BA >, TA > & | hierarchy | ) | const

Coarsen the vector hierarchy according to the matrix hierarchy.

Parameters

  hierarchy | The vector hierarchy to coarsen.

## coarsest() [1/2]

template<class T, class A>

Hierarchy< T, A >::Iterator Dune::Amg::Hierarchy< T, A >::coarsest | ( |  | ) |

Get an iterator positioned at the coarsest level.

Returns
  An iterator positioned at the coarsest level.

## coarsest() [2/2]

template<class T, class A>

Hierarchy< T, A >::ConstIterator Dune::Amg::Hierarchy< T, A >::coarsest | ( |  | ) | const

Get an iterator positioned at the coarsest level.

Returns
  An iterator positioned at the coarsest level.

## ConnectedBuilder()

template<class G, class S, class V>

Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConnectedBuilder | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Graph & | graph,
|  | VisitedMap & | visitedMap,
|  | Set & | connected )

Constructor.

Parameters

  aggregates | The mapping of the vertices onto the aggregates.
  graph | The graph to work on.
  visitedMap | The map for marking vertices as visited
  connected | The set to added the connected aggregates to.

## ConnectivityCounter()

template<class G>

Dune::Amg::Aggregator< G >::ConnectivityCounter::ConnectivityCounter | ( | const VertexSet & | connected,
|  | const AggregatesMap< Vertex > & | aggregates )

Constructor.

Parameters

  connected | The set of connected aggregates.
  aggregates | The mapping of aggregates to vertices.

## connectSize()

template<class G, class S>

size_type Dune::Amg::Aggregate< G, S >::connectSize | ( |  | ) |

Get the number of connections to other aggregates.

## construct() [1/11]

template<typename T>

std::shared_ptr< T > Dune::Amg::ConstructionTraits< T >::construct | ( | Arguments & |  | ) |

inline static

Construct an object with the specified arguments.

In the default implementation the copy constructor is called.

Parameters

  args | The arguments for the construction.

## construct() [2/11]

template<class X, class Y, class C, class T>

std::shared_ptr< BlockPreconditioner< X, Y, C, T > > Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [3/11]

template<class T, class A>

std::shared_ptr< BlockVector< T, A > > Dune::Amg::ConstructionTraits< BlockVector< T, A > >::construct | ( | Arguments & | n | ) |

inline static

## construct() [4/11]

template<class C, class T>

std::shared_ptr< NonoverlappingBlockPreconditioner< C, T > > Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [5/11]

template<class M, class X, class Y, class C>

std::shared_ptr< ParSSOR< M, X, Y, C > > Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [6/11]

template<class X, class Y>

std::shared_ptr< Richardson< X, Y > > Dune::Amg::ConstructionTraits< Richardson< X, Y > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [7/11]

template<class M, class X, class Y>

std::shared_ptr< SeqILU< M, X, Y > > Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [8/11]

template<class M, class X, class Y, int l>

std::shared_ptr< SeqJac< M, X, Y, l > > Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [9/11]

template<class M, class X, class TM, class TS, class TA>

std::shared_ptr< SeqOverlappingSchwarz< M, X, TM, TS, TA > > Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [10/11]

template<class M, class X, class Y, int l>

std::shared_ptr< SeqSOR< M, X, Y, l > > Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::construct | ( | Arguments & | args | ) |

inline static

## construct() [11/11]

template<class M, class X, class Y, int l>

std::shared_ptr< SeqSSOR< M, X, Y, l > > Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::construct | ( | Arguments & | args | ) |

inline static

## ConstructionArgs()

template<class M, class X, class Y>

Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::ConstructionArgs | ( | int | n = 0 | ) |

inline

## constructNonOverlapConnectivity()

template<class R, class G, class V>

void Dune::Amg::BaseConnectivityConstructor::constructNonOverlapConnectivity | ( | R & | row,
|  | G & | graph,
|  | V & | visitedMap,
|  | const AggregatesMap< typename G::VertexDescriptor > & | aggregates,
|  | const typename G::VertexDescriptor & | seed )

static

Construct the connectivity of an aggregate in the overlap.

## constructOverlapConnectivity()

template<class R, class G, class V>

void Dune::Amg::BaseConnectivityConstructor::constructOverlapConnectivity | ( | R & | row,
|  | G & | graph,
|  | V & | visitedMap,
|  | const AggregatesMap< typename G::VertexDescriptor > & | aggregates,
|  | const OverlapVertex< typename G::VertexDescriptor > *& | seed,
|  | const OverlapVertex< typename G::VertexDescriptor > * | overlapEnd )

static

## Counter()

template<class G>

Dune::Amg::Aggregator< G >::Counter::Counter | ( |  | ) |

Constructor.

## create() [1/3]

template<class Matrix, class Vector>

DirectSolver * Dune::Amg::DirectSolverSelector< Matrix, Vector >::create | ( | const Matrix & | mat,
|  | bool | verbose,
|  | bool | reusevector )

inline static

## create() [2/3]

template<class Matrix, class Vector>
template<class M, SolverType>

type * Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::create | ( | const M & | mat,
|  | bool | verbose,
|  | bool | reusevector )

inline static

## create() [3/3]

template<class Matrix, class Vector>
template<class M>

type * Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::create | ( | const M & | mat,
|  | bool | verbose,
|  | bool | reusevector )

inline static

## debugLevel()

int Dune::Amg::Parameters::debugLevel | ( |  | ) | const

inline

Get the debugging Level.

Returns
  0 if no debugging output will be generated.

## decrement()

template<class G>

void Dune::Amg::Aggregator< G >::Counter::decrement | ( |  | ) |

protected

Decrement counter.

## DefaultSmootherArgs()

template<class T>

Dune::Amg::DefaultSmootherArgs< T >::DefaultSmootherArgs | ( |  | ) |

inline

Default constructor.

## Dependency() [1/2]

template<class M, class N>

Dune::Amg::Dependency< M, N >::Dependency | ( |  | ) |

inline

## Dependency() [2/2]

template<class M, class N>

Dune::Amg::Dependency< M, N >::Dependency | ( | const Parameters & | parms | ) |

inline

## DependencyCounter()

template<class G>

Dune::Amg::Aggregator< G >::DependencyCounter::DependencyCounter | ( |  | ) |

Constructor.

## DependencyParameters()

Dune::Amg::DependencyParameters::DependencyParameters | ( |  | ) |

inline

Constructor.

## depends()

bool Dune::Amg::EdgeProperties::depends | ( |  | ) | const

inline

Checks whether the vertex the edge points to depends on the vertex the edge starts.

Returns
  True if it depends on the starting point.

## EdgeProperties()

Dune::Amg::EdgeProperties::EdgeProperties | ( |  | ) |

inline

Constructor.

## end() [1/3]

template<class G, class S>

const_iterator Dune::Amg::Aggregate< G, S >::end | ( |  | ) | const

get an iterator over the vertices of the aggregate.

## end() [2/3]

template<class V>

iterator Dune::Amg::AggregatesMap< V >::end | ( |  | ) |

inline

## end() [3/3]

template<class V>

const_iterator Dune::Amg::AggregatesMap< V >::end | ( |  | ) | const

inline

## examine() [1/8]

template<class G, class T>
template<class V, class O, class R>

void Dune::Amg::ConnectivityConstructor< G, T >::examine | ( | G & | graph,
|  | V & | visitedMap,
|  | const T & | pinfo,
|  | const AggregatesMap< Vertex > & | aggregates,
|  | const O & | overlap,
|  | const OverlapVertex< Vertex > * | overlapVertices,
|  | const OverlapVertex< Vertex > * | overlapEnd,
|  | R & | row )

static

## examine() [2/8]

template<class G>
template<class V, class R>

void Dune::Amg::ConnectivityConstructor< G, SequentialInformation >::examine | ( | G & | graph,
|  | V & | visitedMap,
|  | const SequentialInformation & | pinfo,
|  | const AggregatesMap< Vertex > & | aggregates,
|  | R & | row )

static

## examine() [3/8]

template<class M, class N>

void Dune::Amg::Dependency< M, N >::examine | ( | const ColIter & | col | ) |

## examine() [4/8]

template<class M, class N>
template<class G>

void Dune::Amg::Dependency< M, N >::examine | ( | G & | graph,
|  | const typename G::EdgeIterator & | edge,
|  | const ColIter & | col )

## examine() [5/8]

template<class M, class N>

void Dune::Amg::SymmetricDependency< M, N >::examine | ( | const ColIter & | col | ) |

## examine() [6/8]

template<class M, class N>
template<class G>

void Dune::Amg::SymmetricDependency< M, N >::examine | ( | G & | graph,
|  | const typename G::EdgeIterator & | edge,
|  | const ColIter & | col )

## examine() [7/8]

template<class M, class N>

void Dune::Amg::SymmetricMatrixDependency< M, N >::examine | ( | const ColIter & | col | ) |

inline

## examine() [8/8]

template<class M, class N>
template<class G>

void Dune::Amg::SymmetricMatrixDependency< M, N >::examine | ( | G & | graph,
|  | const typename G::EdgeIterator & | edge,
|  | const ColIter & | col )

inline

## excludedBorder()

bool Dune::Amg::VertexProperties::excludedBorder | ( |  | ) | const

inline

Tests whether the vertex is excluded from the aggregation.

Returns
  True if the vertex is excluded from the aggregation process.

## finest() [1/2]

template<class T, class A>

Hierarchy< T, A >::Iterator Dune::Amg::Hierarchy< T, A >::finest | ( |  | ) |

Get an iterator positioned at the finest level.

Returns
  An iterator positioned at the finest level.

## finest() [2/2]

template<class T, class A>

Hierarchy< T, A >::ConstIterator Dune::Amg::Hierarchy< T, A >::finest | ( |  | ) | const

Get an iterator positioned at the finest level.

Returns
  An iterator positioned at the finest level.

## free()

template<class V>

void Dune::Amg::AggregatesMap< V >::free | ( |  | ) |

Free the allocated memory.

## front()

bool Dune::Amg::VertexProperties::front | ( |  | ) | const

inline

Checks whether the node is marked as a front node.

## FrontMarker()

template<class G>

Dune::Amg::Aggregator< G >::FrontMarker::FrontMarker | ( | std::vector< Vertex > & | front,
|  | MatrixGraph & | graph )

Constructor.

Parameters

  front | The list to store the front vertices in.
  graph | The matrix graph we work on.

## FrontNeighbourCounter()

template<class G>

Dune::Amg::Aggregator< G >::FrontNeighbourCounter::FrontNeighbourCounter | ( | const MatrixGraph & | front | ) |

Constructor.

Parameters

  front | The vertices of the front.

## getAdditive()

bool Dune::Amg::Parameters::getAdditive | ( |  | ) | const

inline

Get whether to use additive multigrid.

Returns
  True if multigrid should be additive.

## getArgs() [1/2]

template<class T>

const SmootherArgs Dune::Amg::DefaultConstructionArgs< T >::getArgs | ( |  | ) | const

inline

## getArgs() [2/2]

template<class X, class Y>

const SmootherArgs Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::getArgs | ( |  | ) | const

inline

## getCoarsestAggregateNumbers()

template<class M, class X, class S, class PI, class A>
template<class A1>

void Dune::Amg::AMG< M, X, S, PI, A >::getCoarsestAggregateNumbers | ( | std::vector< std::size_t, A1 > & | cont | ) |

Get the aggregate number of each unknown on the coarsest level.

Parameters

  cont | The random access container to store the numbers in.

## getCoarsestAggregatesOnFinest()

template<class M, class IS, class A>

void Dune::Amg::MatrixHierarchy< M, IS, A >::getCoarsestAggregatesOnFinest | ( | std::vector< std::size_t > & | data | ) | const

Get the mapping of fine level unknowns to coarse level aggregates.

For each fine level unknown i the corresponding data[i] is the aggregate it belongs to on the coarsest level.

Parameters

  [out] | data | The mapping of fine level unknowns to coarse level aggregates.

## getComm() [1/3]

template<class T>

const SequentialInformation & Dune::Amg::DefaultConstructionArgs< T >::getComm | ( |  | ) |

inline

## getComm() [2/3]

template<class X, class Y>

const SequentialInformation & Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::getComm | ( |  | ) |

inline

## getComm() [3/3]

template<class T, class C = SequentialInformation>

const C & Dune::Amg::DefaultParallelConstructionArgs< T, C >::getComm | ( |  | ) | const

inline

## getGamma()

std::size_t Dune::Amg::Parameters::getGamma | ( |  | ) | const

inline

Get the value of gamma; 1 for V-cycle, 2 for W-cycle.

## getMatrix()

template<class T>

const Matrix & Dune::Amg::DefaultConstructionArgs< T >::getMatrix | ( |  | ) | const

inline

## getN()

template<class M, class X, class Y>

int Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::getN | ( |  | ) |

inline

## getNoPostSmoothSteps()

std::size_t Dune::Amg::Parameters::getNoPostSmoothSteps | ( |  | ) | const

inline

Get the number of postsmoothing steps to apply.

Returns
  The number of steps:

## getNoPreSmoothSteps()

std::size_t Dune::Amg::Parameters::getNoPreSmoothSteps | ( |  | ) | const

inline

Get the number of presmoothing steps to apply.

Returns
  The number of steps:

## getProlongationDampingFactor()

double Dune::Amg::CoarseningParameters::getProlongationDampingFactor | ( |  | ) | const

inline

Get the damping factor for the prolongation.

Returns
  d The damping factor.

## getSubDomains()

template<class M, class X, class TM, class TS, class TA>

const Vector & Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::getSubDomains | ( |  | ) |

inline

## globalIndex() [1/2]

template<typename T, typename E>
template<typename G, typename I>

const GlobalIndex & Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex | ( |  | ) | const

inline

## globalIndex() [2/2]

template<typename T, typename E>
template<typename G, typename I>

void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex | ( | const GlobalIndex & | global | ) |

inline

## hasCoarsest()

template<class M, class IS, class A>

bool Dune::Amg::MatrixHierarchy< M, IS, A >::hasCoarsest | ( |  | ) | const

## Hierarchy() [1/2]

template<class T, class A>

Dune::Amg::Hierarchy< T, A >::Hierarchy | ( | const Hierarchy< T, A > & | other | ) |

Copy constructor (deep copy!).

deep copy of a given hierarchy

## Hierarchy() [2/2]

template<class T, class A>

Dune::Amg::Hierarchy< T, A >::Hierarchy | ( | const std::shared_ptr< MemberType > & | first | ) |

Construct a new hierarchy.

Parameters

  first | std::shared_ptr to the first element in the hierarchy.

## id()

template<class G, class S>

int Dune::Amg::Aggregate< G, S >::id | ( |  | ) |

Get the id identifying the aggregate.

## increment()

template<class G>

void Dune::Amg::Aggregator< G >::Counter::increment | ( |  | ) |

protected

Increment counter.

## index()

template<class M>

std::size_t Dune::Amg::SparsityBuilder< M >::index | ( |  | ) |

inline

## influences()

bool Dune::Amg::EdgeProperties::influences | ( |  | ) | const

inline

Checks whether the start vertex is influenced by the end vertex.

Returns
  True if it is influenced.

## init() [1/3]

template<class M, class N>

void Dune::Amg::Dependency< M, N >::init | ( | const Matrix * | matrix | ) |

## init() [2/3]

template<class M, class N>

void Dune::Amg::SymmetricDependency< M, N >::init | ( | const Matrix * | matrix | ) |

## init() [3/3]

template<class M, class N>

void Dune::Amg::SymmetricMatrixDependency< M, N >::init | ( | const Matrix * | matrix | ) |

inline

## initRow() [1/3]

template<class M, class N>

void Dune::Amg::Dependency< M, N >::initRow | ( | const Row & | row,
|  | int | index )

## initRow() [2/3]

template<class M, class N>

void Dune::Amg::SymmetricDependency< M, N >::initRow | ( | const Row & | row,
|  | int | index )

## initRow() [3/3]

template<class M, class N>

void Dune::Amg::SymmetricMatrixDependency< M, N >::initRow | ( | const Row & | row,
|  | int | index )

inline

## insert()

template<class M>

void Dune::Amg::SparsityBuilder< M >::insert | ( | const typename M::size_type & | index | ) |

## invalidate()

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::invalidate | ( |  | ) |

inline

## isBuilt()

template<class M, class IS, class A>

bool Dune::Amg::MatrixHierarchy< M, IS, A >::isBuilt | ( |  | ) | const

Whether the hierarchy was built.

Returns
  true if the MatrixHierarchy::build method was called.

## isIsolated() [1/3]

template<class M, class N>

bool Dune::Amg::Dependency< M, N >::isIsolated | ( |  | ) |

## isIsolated() [2/3]

template<class M, class N>

bool Dune::Amg::SymmetricDependency< M, N >::isIsolated | ( |  | ) |

## isIsolated() [3/3]

template<class M, class N>

bool Dune::Amg::SymmetricMatrixDependency< M, N >::isIsolated | ( |  | ) |

inline

## isolated()

bool Dune::Amg::VertexProperties::isolated | ( |  | ) | const

inline

Checks whether the node is isolated.

## isOneWay()

bool Dune::Amg::EdgeProperties::isOneWay | ( |  | ) | const

inline

Checks whether the edge is one way. I.e. either the influence or the depends flag but is set.

## isPublic() [1/2]

template<typename T, typename E>
template<typename G, typename I>

bool Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic | ( |  | ) |

inline

## isPublic() [2/2]

template<typename T, typename E>
template<typename G, typename I>

void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic | ( | bool | b | ) |

inline

## isStrong()

bool Dune::Amg::EdgeProperties::isStrong | ( |  | ) | const

inline

Checks whether the edge is strong. I.e. the influence or depends flag is set.

## isTwoWay()

bool Dune::Amg::EdgeProperties::isTwoWay | ( |  | ) | const

inline

Checks whether the edge is two way. I.e. both the influence flag and the depends flag are that.

## KAMG() [1/2]

template<class M, class X, class S, class P, class K, class A>
template<class C>

Dune::Amg::KAMG< M, X, S, P, K, A >::KAMG | ( | const Operator & | fineOperator,
|  | const C & | criterion,
|  | const SmootherArgs & | smootherArgs = SmootherArgs(),
|  | std::size_t | maxLevelKrylovSteps = 3,
|  | double | minDefectReduction = 1e-1,
|  | const ParallelInformation & | pinfo = ParallelInformation() )

Construct an AMG with an inexact coarse solver based on the smoother.

As coarse solver a preconditioned CG method with the smoother as preconditioner will be used. The matrix hierarchy is built automatically.

Parameters

  fineOperator | The operator on the fine level.
  criterion | The criterion describing the coarsening strategy. E. g. SymmetricCriterion or UnsymmetricCriterion, and providing the parameters.
  smootherArgs | The arguments for constructing the smoothers.
  maxLevelKrylovSteps | maximum of krylov iterations on a particular level (default=3)
  minDefectReduction | minimal defect reduction during the krylov iterations on a particular level (default=1e-1)
  pinfo | The information about the parallel distribution of the data.

## KAMG() [2/2]

template<class M, class X, class S, class P, class K, class A>

Dune::Amg::KAMG< M, X, S, P, K, A >::KAMG | ( | OperatorHierarchy & | matrices,
|  | CoarseSolver & | coarseSolver,
|  | const SmootherArgs & | smootherArgs,
|  | const Parameters & | parms,
|  | std::size_t | maxLevelKrylovSteps = 3,
|  | double | minDefectReduction = 1e-1 )

Construct a new amg with a specific coarse solver.

Parameters

  matrices | The already set-up matrix hierarchy.
  coarseSolver | The set up solver to use on the coarse grid, must match the coarse matrix in the matrix hierarchy.
  smootherArgs | The arguments needed for thesmoother to use for pre and post smoothing.
  parms | The parameters for the AMG.
  maxLevelKrylovSteps | maximum of krylov iterations on a particular level (default=3)
  minDefectReduction | minimal defect reduction during the krylov iterations on a particular level (default=1e-1)

## levels() [1/3]

template<class M, class X, class S, class PI, class A>

std::size_t Dune::Amg::AMG< M, X, S, PI, A >::levels | ( |  | ) |

## levels() [2/3]

template<class T, class A>

std::size_t Dune::Amg::Hierarchy< T, A >::levels | ( |  | ) | const

Get the number of levels in the hierarchy.

Returns
  The number of levels.

## levels() [3/3]

template<class M, class IS, class A>

std::size_t Dune::Amg::MatrixHierarchy< M, IS, A >::levels | ( |  | ) | const

Get the number of levels in the hierarchy.

Returns
  The number of levels.

## makeAMG() [1/4]

template<class OP>

std::shared_ptr< Dune::Preconditioner< typename OP::element_type::domain_type, typename OP::element_type::range_type > > Dune::AMGCreator::makeAMG | ( | const OP & | op,
|  | const std::string & | smoother,
|  | const Dune::ParameterTree & | config ) const

inline

## makeAMG() [2/4]

template<class M, class X, class Y>

std::shared_ptr< Dune::Preconditioner< X, Y > > Dune::AMGCreator::makeAMG | ( | const std::shared_ptr< MatrixAdapter< M, X, Y > > & | op,
|  | const std::string & | smoother,
|  | const Dune::ParameterTree & | config ) const

inline

## makeAMG() [3/4]

template<class M, class X, class Y, class C>

std::shared_ptr< Dune::Preconditioner< X, Y > > Dune::AMGCreator::makeAMG | ( | const std::shared_ptr< NonoverlappingSchwarzOperator< M, X, Y, C > > & | op,
|  | const std::string & | smoother,
|  | const Dune::ParameterTree & | config ) const

inline

## makeAMG() [4/4]

template<class M, class X, class Y, class C>

std::shared_ptr< Dune::Preconditioner< X, Y > > Dune::AMGCreator::makeAMG | ( | const std::shared_ptr< OverlappingSchwarzOperator< M, X, Y, C > > & | op,
|  | const std::string & | smoother,
|  | const Dune::ParameterTree & | config ) const

inline

## matrices()

template<class M, class IS, class A>

const MatrixHierarchy< M, IS, A >::ParallelMatrixHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::matrices | ( |  | ) | const

Get the matrix hierarchy.

Returns
  The matrix hierarchy.

## MatrixHierarchy()

template<class M, class IS, class A>

Dune::Amg::MatrixHierarchy< M, IS, A >::MatrixHierarchy | ( | std::shared_ptr< MatrixOperator > | fineMatrix,
|  | std::shared_ptr< ParallelInformation > | pinfo = std::make_shared<ParallelInformation>() )

Constructor.

Parameters

  fineMatrix | The matrix to coarsen.
  pinfo | The information about the parallel data decomposition at the first level.

## maxAggregateSize()

std::size_t Dune::Amg::AggregationParameters::maxAggregateSize | ( |  | ) | const

inline

Get the maximum number of nodes a aggregate is allowed to have.

Returns
  The maximum number of nodes.

## maxConnectivity()

std::size_t Dune::Amg::AggregationParameters::maxConnectivity | ( |  | ) | const

inline

Get the maximum number of connections a aggregate is allowed to have.

This limit exists to achieve sparsity of the coarse matrix. the default value is 15.

Returns
  The maximum number of connections a aggregate is allowed to have.

## maxDistance()

std::size_t Dune::Amg::AggregationParameters::maxDistance | ( |  | ) | const

inline

Get the maximal distance allowed between two nodes in a aggregate.

The distance between two nodes in a aggregate is the minimal number of edges it takes to travel from one node to the other without leaving the aggregate.

Returns
  The maximum distance allowed.

## maxLevel()

int Dune::Amg::CoarseningParameters::maxLevel | ( |  | ) | const

inline

Get the maximum number of levels allowed in the hierarchy.

## maxlevels() [1/3]

template<class M, class X, class S, class PI, class A>

std::size_t Dune::Amg::AMG< M, X, S, PI, A >::maxlevels | ( |  | ) |

## maxlevels() [2/3]

template<class M, class X, class S, class P, class K, class A>

std::size_t Dune::Amg::KAMG< M, X, S, P, K, A >::maxlevels | ( |  | ) |

## maxlevels() [3/3]

template<class M, class IS, class A>

std::size_t Dune::Amg::MatrixHierarchy< M, IS, A >::maxlevels | ( |  | ) | const

Get the max number of levels in the hierarchy of processors.

Returns
  The maximum number of levels.

## maxRowSize()

template<class M>

std::size_t Dune::Amg::SparsityBuilder< M >::maxRowSize | ( |  | ) |

## minAggregateSize()

std::size_t Dune::Amg::AggregationParameters::minAggregateSize | ( |  | ) | const

inline

Get the minimum number of nodes a aggregate has to consist of.

Returns
  The minimum number of nodes.

## minCoarsenRate()

double Dune::Amg::CoarseningParameters::minCoarsenRate | ( |  | ) | const

inline

Get the minimum coarsening rate to be achieved.

## minRowSize()

template<class M>

std::size_t Dune::Amg::SparsityBuilder< M >::minRowSize | ( |  | ) |

## name() [1/3]

template<class Matrix, class Vector>

std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::name | ( |  | ) |

inline static

## name() [2/3]

template<class Matrix, class Vector>
template<class M, SolverType>

std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::name | ( |  | ) |

inline static

## name() [3/3]

template<class Matrix, class Vector>
template<class M>

std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::name | ( |  | ) |

inline static

## noSubdomains() [1/3]

template<class M, class X, class TM, class TS, class TA>
template<class VM>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::noSubdomains | ( |  | ) | const

inline

## noSubdomains() [2/3]

template<class M, class X, class TM, class TS, class TA>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::noSubdomains | ( |  | ) | const

inline

## noSubdomains() [3/3]

template<class M, class X, class TM, class TS, class TA>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::noSubdomains | ( |  | ) | const

inline

## noVertices()

template<class V>

std::size_t Dune::Amg::AggregatesMap< V >::noVertices | ( |  | ) | const

Get the number of vertices.

## operator()() [1/23]

template<class V>
template<class EdgeIterator>

void Dune::Amg::AggregatesMap< V >::DummyEdgeVisitor::operator() | ( | const EdgeIterator & | edge | ) | const

inline

## operator()() [2/23]

template<class G>
template<class V>

void Dune::Amg::Aggregator< G >::AggregateVisitor< V >::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

Examine an edge.

The edge will be examined by the adapted visitor if it belongs to the right aggregate.

## operator()() [3/23]

template<class G>

void Dune::Amg::Aggregator< G >::ConnectivityCounter::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [4/23]

template<class G>

void Dune::Amg::Aggregator< G >::DependencyCounter::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [5/23]

template<class G>

void Dune::Amg::Aggregator< G >::FrontMarker::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [6/23]

template<class G>

void Dune::Amg::Aggregator< G >::FrontNeighbourCounter::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [7/23]

template<class G>

void Dune::Amg::Aggregator< G >::OneWayCounter::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [8/23]

template<class G>

void Dune::Amg::Aggregator< G >::TwoWayCounter::operator() | ( | const typename MatrixGraph::ConstEdgeIterator & | edge | ) |

## operator()() [9/23]

template<class M>

FieldTraits< typenameM::field_type >::real_type Dune::Amg::AlwaysOneNorm::operator() | ( | const M & |  | ) | const

inline

compute the norm of a matrix.

Parameters

  m | The matrix row to compute the norm of.

## operator()() [10/23]

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

std::string Dune::Amg::AMG< M, X, S, PI, A >::ToLower::operator() | ( | const std::string & | str | ) |

inline

## operator()() [11/23]

template<class G, class S, class V>

void Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::operator() | ( | const ConstEdgeIterator & | edge | ) |

Process an edge pointing to another aggregate.

Parameters

  edge | The iterator positioned at the edge.

## operator()() [12/23]

template<class M, class X, class TM, class TS, class TA>
template<class VM>
template<class T>

void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::operator() | ( | const T & | edge | ) |

inline

## operator()() [13/23]

template<class M, class X, class TM, class TS, class TA>
template<class T>

void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::operator() | ( | const T & |  | ) |

inline

## operator()() [14/23]

template<class M, class X, class TM, class TS, class TA>
template<class T>

void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::operator() | ( | const T & | edge | ) |

inline

## operator()() [15/23]

template<int N>
template<class M>

auto Dune::Amg::Diagonal< N >::operator() | ( | const M & | m,
|  | typename std::enable_if_t< Dune::IsNumber< M >::value > * | = nullptr ) const

inline

Compute the norm of a scalar.

Parameters

  m | The scalar to compute the norm of

## operator()() [16/23]

template<int N>
template<class M>

FieldTraits< typenameM::field_type >::real_type Dune::Amg::Diagonal< N >::operator() | ( | const M & | m,
|  | typename std::enable_if_t<!Dune::IsNumber< M >::value > * | sfinae = nullptr ) const

inline

compute the norm of a matrix.

Parameters

  m | The matrix to compute the norm of

## operator()() [17/23]

template<class M>

FieldTraits< typenameM::field_type >::real_type Dune::Amg::FrobeniusNorm::operator() | ( | const M & | m | ) | const

inline

compute the norm of a matrix.

Parameters

  m | The matrix row to compute the norm of.

## operator()() [18/23]

template<class T>
template<class A>

bool Dune::Amg::GalerkinProduct< T >::OVLess< A >::operator() | ( | const OverlapVertex< A > & | o1,
|  | const OverlapVertex< A > & | o2 )

inline

## operator()() [19/23]

template<typename T, typename E>
template<typename G, typename I>

Vertex Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() | ( | const GlobalIndex & | global | ) |

inline

## operator()() [20/23]

template<typename T, typename E>
template<typename G, typename I>

void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() | ( | const typename G::ConstEdgeIterator & | edge | ) |

inline

## operator()() [21/23]

template<class M>

auto Dune::Amg::RowSum::operator() | ( | const M & | m | ) | const

inline

compute the norm of a matrix.

Parameters

  m | The matrix row to compute the norm of.

## operator()() [22/23]

template<typename OpTraits, typename OP>

std::shared_ptr< Dune::Preconditioner< typename OpTraits::domain_type, typename OpTraits::range_type > > Dune::AMGCreator::operator() | ( | OpTraits | opTraits,
|  | const std::shared_ptr< OP > & | op,
|  | const Dune::ParameterTree & | config,
|  | std::enable_if_t< isValidMatrix< typename OpTraits::matrix_type >::value, int > | = 0 ) const

inline

## operator()() [23/23]

template<typename OpTraits, typename OP>

std::shared_ptr< Dune::Preconditioner< typename OpTraits::domain_type, typename OpTraits::range_type > > Dune::AMGCreator::operator() | ( | OpTraits | opTraits,
|  | const std::shared_ptr< OP > & | op,
|  | const Dune::ParameterTree & | config,
|  | std::enable_if_t<!isValidMatrix< typename OpTraits::matrix_type >::value, int > | = 0 ) const

inline

## operator++()

template<class M>

void Dune::Amg::SparsityBuilder< M >::operator++ | ( |  | ) |

## operator<<() [1/3]

template<class T>

std::ostream & Dune::Amg::operator<< | ( | std::ostream & | os,
|  | const AggregationCriterion< T > & | criterion )

## operator<<() [2/3]

std::ostream & Dune::Amg::operator<< | ( | std::ostream & | os,
|  | const EdgeProperties & | props )

inline

## operator<<() [3/3]

std::ostream & Dune::Amg::operator<< | ( | std::ostream & | os,
|  | const VertexProperties & | props )

inline

## operator[]() [1/8]

template<class V>

AggregateDescriptor & Dune::Amg::AggregatesMap< V >::operator[] | ( | const VertexDescriptor & | v | ) |

Get the aggregate a vertex belongs to.

Parameters

  v | The vertex we want to know the aggregate of.

Returns
  The aggregate the vertex is mapped to.

## operator[]() [2/8]

template<class V>

const AggregateDescriptor & Dune::Amg::AggregatesMap< V >::operator[] | ( | const VertexDescriptor & | v | ) | const

Get the aggregate a vertex belongs to.

Parameters

  v | The vertex we want to know the aggregate of.

Returns
  The aggregate the vertex is mapped to.

## operator[]() [3/8]

std::bitset< EdgeProperties::SIZE >::reference Dune::Amg::EdgeProperties::operator[] | ( | std::size_t | v | ) |

inline

Access the bits directly.

## operator[]() [4/8]

bool Dune::Amg::EdgeProperties::operator[] | ( | std::size_t | v | ) | const

inline

Access the bits directly.

## operator[]() [5/8]

template<typename G, std::size_t i>

Reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::operator[] | ( | const Vertex & | vertex | ) | const

inline

Get the properties associated to a vertex.

Parameters

  vertex | The vertex whose Properties we want.

## operator[]() [6/8]

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

Reference Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::operator[] | ( | const Key & | key | ) | const

inline

Get the property for a key.

Parameters

  key | The key.

Returns
  The corresponding property.

## operator[]() [7/8]

std::bitset< VertexProperties::SIZE >::reference Dune::Amg::VertexProperties::operator[] | ( | std::size_t | v | ) |

inline

Access the bits directly.

## operator[]() [8/8]

bool Dune::Amg::VertexProperties::operator[] | ( | std::size_t | v | ) | const

inline

Access the bits directly.

## OwnerOverlapCopyCommunicationArgs()

Dune::Amg::OwnerOverlapCopyCommunicationArgs::OwnerOverlapCopyCommunicationArgs | ( | MPI_Comm | comm,
|  | SolverCategory::Category | cat )

inline

## ParallelAggregateRenumberer()

template<typename T, typename E>
template<typename G, typename I>

Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::ParallelAggregateRenumberer | ( | AggregatesMap< Vertex > & | aggregates,
|  | const I & | lookup )

inline

## parallelInformation()

template<class M, class IS, class A>

const MatrixHierarchy< M, IS, A >::ParallelInformationHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::parallelInformation | ( |  | ) | const

Get the hierarchy of the parallel data distribution information.

Returns
  The hierarchy of the parallel data distribution information.

## ParallelOperatorArgs()

template<class M, class C>

Dune::Amg::ParallelOperatorArgs< M, C >::ParallelOperatorArgs | ( | std::shared_ptr< M > | matrix,
|  | const C & | comm )

inline

## Parameters()

Dune::Amg::Parameters::Parameters | ( | int | maxLevel = 100,
|  | int | coarsenTarget = 1000,
|  | double | minCoarsenRate = 1.2,
|  | double | prolongDamp = 1.6,
|  | AccumulationMode | accumulate = successiveAccu,
|  | bool | useFixedOrder = false )

inline

Constructor.

Parameters

  maxLevel | The maximum number of levels allowed in the matrix hierarchy (default: 100).
  coarsenTarget | If the number of nodes in the matrix is below this threshold the coarsening will stop (default: 1000).
  minCoarsenRate | If the coarsening rate falls below this threshold the coarsening will stop (default: 1.2)
  prolongDamp | The damping factor to apply to the prolongated update (default: 1.6)
  accumulate | Whether to accumulate the data onto fewer processors on coarser levels.

## pop()

template<class G>

Vertex Dune::Amg::Aggregator< G >::Stack::pop | ( |  | ) |

## post() [1/2]

template<class M, class X, class S, class PI, class A>

void Dune::Amg::AMG< M, X, S, PI, A >::post | ( | Domain & | x | ) |

virtual

Clean up.

This method is called after the last apply call for the linear system to be solved. Memory may be deallocated safely here. x is the solution of the linear equation.

Parameters

  x | The right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

## post() [2/2]

template<class M, class X, class S, class P, class K, class A>

void Dune::Amg::KAMG< M, X, S, P, K, A >::post | ( | Domain & | x | ) |

Clean up.

This method is called after the last apply call for the linear system to be solved. Memory may be deallocated safely here. x is the solution of the linear equation.

Parameters

  x | The right hand side of the equation.

## postSmooth() [1/5]

template<class T>

void Dune::Amg::SmootherApplier< T >::postSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | const Range & | d )

inline static

apply post smoothing in forward direction

Parameters

  smoother | The smoother to use.
  d | The current defect.
  v | handle to store the update in.

## postSmooth() [2/5]

template<class M, class X, class Y, class C, int l>

void Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::postSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## postSmooth() [3/5]

template<class M, class X, class Y, class C, int l>

void Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::postSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## postSmooth() [4/5]

template<class M, class X, class MS, class TA>

void Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::postSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | const Range & | d )

inline static

## postSmooth() [5/5]

template<class M, class X, class Y, int l>

void Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::postSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## postsmooth()

template<typename LevelContext>

void Dune::Amg::postsmooth | ( | LevelContext & | levelContext,
|  | size_t | steps )

Apply post smoothing on the current level.

Parameters

  levelContext | the iterators of the current level.
  steps | The number of smoothing steps to apply.

## pre() [1/2]

template<class M, class X, class S, class PI, class A>

void Dune::Amg::AMG< M, X, S, PI, A >::pre | ( | Domain & | x,
|  | Range & | b )

virtual

Prepare the preconditioner.

A solver solves a linear operator equation A(x)=b by applying one or several steps of the preconditioner. The method pre() is called before the first apply operation. b and x are right hand side and solution vector of the linear system respectively. It may. e.g., scale the system, allocate memory or compute a (I)LU decomposition. Note: The ILU decomposition could also be computed in the constructor or with a separate method of the derived method if several linear systems with the same matrix are to be solved.

Note
  if a preconditioner is copied (e.g. for a second thread) again the pre() method has to be called to ensure proper memory management.

X x(0.0);
Y b = ...; // rhs
Preconditioner<X,Y> prec(...);
prec.pre(x,b); // prepare the preconditioner
prec.apply(x,b); // can be called multiple times now...
prec.post(x); // cleanup internal state
Dune::Preconditioner
Base class for matrix free definition of preconditioners.
Definition preconditioner.hh:33

Parameters

  x | The left hand side of the equation.
  b | The right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

## pre() [2/2]

template<class M, class X, class S, class P, class K, class A>

void Dune::Amg::KAMG< M, X, S, P, K, A >::pre | ( | Domain & | x,
|  | Range & | b )

Prepare the preconditioner.

A solver solves a linear operator equation A(x)=b by applying one or several steps of the preconditioner. The method pre() is called before the first apply operation. b and x are right hand side and solution vector of the linear system respectively. It may. e.g., scale the system, allocate memory or compute a (I)LU decomposition. Note: The ILU decomposition could also be computed in the constructor or with a separate method of the derived method if several linear systems with the same matrix are to be solved.

Note
  if a preconditioner is copied (e.g. for a second thread) again the pre() method has to be called to ensure proper memory management.

X x(0.0);
Y b = ...; // rhs
Preconditioner<X,Y> prec(...);
prec.pre(x,b); // prepare the preconditioner
prec.apply(x,b); // can be called multiple times now...
prec.post(x); // cleanup internal state

Parameters

  x | The left hand side of the equation.
  b | The right hand side of the equation.

## preSmooth() [1/5]

template<class T>

void Dune::Amg::SmootherApplier< T >::preSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | const Range & | d )

inline static

apply pre smoothing in forward direction

Parameters

  smoother | The smoother to use.
  d | The current defect.
  v | handle to store the update in.

## preSmooth() [2/5]

template<class M, class X, class Y, class C, int l>

void Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::preSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## preSmooth() [3/5]

template<class M, class X, class Y, class C, int l>

void Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::preSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## preSmooth() [4/5]

template<class M, class X, class MS, class TA>

void Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::preSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | const Range & | d )

inline static

## preSmooth() [5/5]

template<class M, class X, class Y, int l>

void Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::preSmooth | ( | Smoother & | smoother,
|  | Domain & | v,
|  | Range & | d )

inline static

## presmooth()

template<typename LevelContext>

void Dune::Amg::presmooth | ( | LevelContext & | levelContext,
|  | size_t | steps )

Apply pre smoothing on the current level.

Parameters

  levelContext | the iterators of the current level.
  steps | The number of smoothing steps to apply.

## printAggregates2d()

template<class V>

void Dune::Amg::printAggregates2d | ( | const AggregatesMap< V > & | aggregates,
|  | int | n,
|  | int | m,
|  | std::ostream & | os )

## printFlags()

void Dune::Amg::EdgeProperties::printFlags | ( |  | ) | const

Prints the attributes of the edge for debugging.

## prolongateVector() [1/4]

template<class V, class V1, class T1, class T2>
template<typename T3>

void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongateVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | Vector & | fine,
|  | T3 | damp,
|  | OwnerOverlapCopyCommunication< T1, T2 > & | comm )

inline static

## prolongateVector() [2/4]

template<class V, class V1, class T1, class T2>
template<typename T3>

void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongateVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | Vector & | fine,
|  | Vector & | fineRedist,
|  | T3 | damp,
|  | OwnerOverlapCopyCommunication< T1, T2 > & | comm,
|  | const Redist & | redist )

inline static

## prolongateVector() [3/4]

template<class V, class V1>
template<typename T>

void Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongateVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | Vector & | fine,
|  | T | damp,
|  | const SequentialInformation & | comm )

inline

## prolongateVector() [4/4]

template<class V, class V1>
template<typename T>

void Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongateVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | Vector & | fine,
|  | Vector & | fineRedist,
|  | T | damp,
|  | const SequentialInformation & | comm,
|  | const Redist & | redist )

inline

## PropertyGraphVertexPropertyMap() [1/2]

template<typename G, std::size_t i>

Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap | ( |  | ) |

inline

Default constructor.

## PropertyGraphVertexPropertyMap() [2/2]

template<typename G, std::size_t i>

Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap | ( | G & | g | ) |

inline

Constructor.

Parameters

  g | The graph whose properties we access.

## RandomAccessBundledPropertyMap() [1/2]

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap | ( |  | ) |

inline

The default constructor.

## RandomAccessBundledPropertyMap() [2/2]

template<typename C, typename K, std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>

Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap | ( | Container & | container | ) |

inline

Constructor.

Parameters

  container | The container with the property bundle.

## recalculateGalerkin()

template<class M, class IS, class A>
template<class F>

void Dune::Amg::MatrixHierarchy< M, IS, A >::recalculateGalerkin | ( | const F & | copyFlags | ) |

Recalculate the galerkin products.

If the data of the fine matrix changes but not its sparsity pattern this will recalculate all coarser levels without starting the expensive aggregation process all over again.

## recalculateHierarchy()

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

void Dune::Amg::AMG< M, X, S, PI, A >::recalculateHierarchy | ( |  | ) |

inline

Recalculate the matrix hierarchy.

It is assumed that the coarsening for the changed fine level matrix would yield the same aggregates. In this case it suffices to recalculate all the Galerkin products for the matrices of the coarser levels.

## reconstruct()

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::reconstruct | ( | const Vertex & | vertex | ) |

Reconstruct the aggregat from an seed node.

Will determine all vertices of the same aggregate and reference those.

## redistributeInformation()

template<class M, class IS, class A>

const MatrixHierarchy< M, IS, A >::RedistributeInfoList & Dune::Amg::MatrixHierarchy< M, IS, A >::redistributeInformation | ( |  | ) | const

Get the hierarchy of the information about redistributions,.

Returns
  The hierarchy of the information about redistributions of the data to fewer processes.

## repartitionAndDistributeMatrix() [1/2]

template<typename M, typename C, typename C1>

bool Dune::Amg::repartitionAndDistributeMatrix | ( | const M & | origMatrix,
|  | std::shared_ptr< M > | newMatrix,
|  | C & | origComm,
|  | std::shared_ptr< C > & | newComm,
|  | RedistributeInformation< C > & | ri,
|  | int | nparts,
|  | C1 & | criterion )

## repartitionAndDistributeMatrix() [2/2]

template<typename M, typename C1>

bool Dune::Amg::repartitionAndDistributeMatrix | ( | const M & | origMatrix,
|  | std::shared_ptr< M > | newMatrix,
|  | SequentialInformation & | origComm,
|  | std::shared_ptr< SequentialInformation > & | newComm,
|  | RedistributeInformation< SequentialInformation > & | ri,
|  | int | nparts,
|  | C1 & | criterion )

## reset() [1/3]

void Dune::Amg::EdgeProperties::reset | ( |  | ) |

inline

Reset all flags.

## reset() [2/3]

template<typename T, typename E>
template<typename G, typename I>

void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::reset | ( |  | ) |

inline

## reset() [3/3]

void Dune::Amg::VertexProperties::reset | ( |  | ) |

inline

Reset all flags.

## resetDepends()

void Dune::Amg::EdgeProperties::resetDepends | ( |  | ) |

inline

Resets the depends flag.

## resetExcludedBorder()

void Dune::Amg::VertexProperties::resetExcludedBorder | ( |  | ) |

inline

Marks the vertex as included in the aggregation.

## resetFront()

void Dune::Amg::VertexProperties::resetFront | ( |  | ) |

inline

Resets the front node flag.

## resetInfluences()

void Dune::Amg::EdgeProperties::resetInfluences | ( |  | ) |

inline

Resets the influence flag.

## resetIsolated()

void Dune::Amg::VertexProperties::resetIsolated | ( |  | ) |

inline

Resets the isolated flag.

## resetVisited()

void Dune::Amg::VertexProperties::resetVisited | ( |  | ) |

inline

Resets the visited flag.

## restrictVector() [1/2]

template<class V, class V1, class T1, class T2>

void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::restrictVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | const Vector & | fine,
|  | OwnerOverlapCopyCommunication< T1, T2 > & | comm )

inline static

## restrictVector() [2/2]

template<class V, class V1>

void Dune::Amg::Transfer< V, V1, SequentialInformation >::restrictVector | ( | const AggregatesMap< Vertex > & | aggregates,
|  | Vector & | coarse,
|  | const Vector & | fine,
|  | const SequentialInformation & | comm )

inline static

## seed()

template<class G, class S>

void Dune::Amg::Aggregate< G, S >::seed | ( | const Vertex & | vertex | ) |

Initialize the aggregate with one vertex.

## SeqOverlappingSchwarzSmootherArgs()

template<class T>

Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::SeqOverlappingSchwarzSmootherArgs | ( | Overlap | overlap_ = vertex,
|  | bool | onthefly_ = false )

inline

## SequentialCommunicationArgs()

Dune::Amg::SequentialCommunicationArgs::SequentialCommunicationArgs | ( | Communication< void * > | comm,
|  | int | cat )

inline

## set() [1/2]

template<class T>
template<class M, class O>

void Dune::Amg::DirichletBoundarySetter< T >::set | ( | M & | coarse,
|  | const T & | pinfo,
|  | const O & | copy )

static

## set() [2/2]

template<class M, class O>

void Dune::Amg::DirichletBoundarySetter< SequentialInformation >::set | ( | M & | coarse,
|  | const SequentialInformation & | pinfo,
|  | const O & | copy )

static

## setAccumulate() [1/2]

void Dune::Amg::CoarseningParameters::setAccumulate | ( | AccumulationMode | accu | ) |

inline

Set whether the data should be accumulated on fewer processes on coarser levels.

## setAccumulate() [2/2]

void Dune::Amg::CoarseningParameters::setAccumulate | ( | bool | accu | ) |

inline

## setAdditive()

void Dune::Amg::Parameters::setAdditive | ( | bool | additive | ) |

inline

Set whether to use additive multigrid.

Parameters

  additive | True if multigrid should be additive.

## setAggregate() [1/3]

template<class M, class X, class TM, class TS, class TA>
template<class VM>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::setAggregate | ( | const AggregateDescriptor & | aggregate_ | ) |

inline

## setAggregate() [2/3]

template<class M, class X, class TM, class TS, class TA>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::setAggregate | ( | const AggregateDescriptor & |  | ) |

inline

## setAggregate() [3/3]

template<class M, class X, class TM, class TS, class TA>

int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::setAggregate | ( | const AggregateDescriptor & | aggregate_ | ) |

inline

## setAlpha()

void Dune::Amg::DependencyParameters::setAlpha | ( | double | a | ) |

inline

Set the scaling value for marking connections as strong. Default value is 1/3.

## setArgs() [1/2]

template<class T>

void Dune::Amg::DefaultConstructionArgs< T >::setArgs | ( | const SmootherArgs & | args | ) |

inline

## setArgs() [2/2]

template<class X, class Y>

void Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setArgs | ( | const SmootherArgs & | args | ) |

inline

## setBeta()

void Dune::Amg::DependencyParameters::setBeta | ( | double | b | ) |

inline

Set threshold for marking nodes as isolated. The default value is 1.0E-5.

## setCoarsenTarget()

void Dune::Amg::CoarseningParameters::setCoarsenTarget | ( | int | nodes | ) |

inline

Set the maximum number of unknowns allowed on the coarsest level.

## setComm() [1/3]

template<class T>
template<class T1>

void Dune::Amg::DefaultConstructionArgs< T >::setComm | ( | T1 & | comm | ) |

inline

## setComm() [2/3]

template<class X, class Y>
template<class T1>

void Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setComm | ( | T1 & | comm | ) |

inline

## setComm() [3/3]

template<class T, class C = SequentialInformation>

void Dune::Amg::DefaultParallelConstructionArgs< T, C >::setComm | ( | const C & | comm | ) |

inline

## setDebugLevel()

void Dune::Amg::Parameters::setDebugLevel | ( | int | level | ) |

inline

Set the debugging level.

Parameters

  level | If 0 no debugging output will be generated.

Warning
  In parallel the level has to be consistent over all procceses.

## setDefaultValuesAnisotropic() [1/2]

template<class T>

void Dune::Amg::AggregationCriterion< T >::setDefaultValuesAnisotropic | ( | std::size_t | dim,
|  | std::size_t | diameter = 2 )

inline

Sets reasonable default values for an aisotropic problem.

Reasonable means that we should end up with cube aggregates with sides of diameter 2 and sides in one dimension that are longer (e.g. for 3D: 2x2x3).

Parameters

  dim | The dimension of the problem.
  diameter | The preferred diameter for the aggregation.

## setDefaultValuesAnisotropic() [2/2]

void Dune::Amg::AggregationParameters::setDefaultValuesAnisotropic | ( | std::size_t | dim,
|  | std::size_t | diameter = 2 )

inline

Sets reasonable default values for an anisotropic problem.

Reasonable means that we should end up with cube aggregates with sides of diameter 2 and sides in one dimension that are longer (e.g. for 3D: 2x2x3).

Parameters

  dim | The dimension of the problem.
  diameter | The preferred diameter for the aggregation.

## setDefaultValuesIsotropic() [1/2]

template<class T>

void Dune::Amg::AggregationCriterion< T >::setDefaultValuesIsotropic | ( | std::size_t | dim,
|  | std::size_t | diameter = 2 )

inline

Sets reasonable default values for an isotropic problem.

Reasonable means that we should end up with cube aggregates of diameter 2.

Parameters

  dim | The dimension of the problem.
  diameter | The preferred diameter for the aggregation.

## setDefaultValuesIsotropic() [2/2]

void Dune::Amg::AggregationParameters::setDefaultValuesIsotropic | ( | std::size_t | dim,
|  | std::size_t | diameter = 2 )

inline

Sets reasonable default values for an isotropic problem.

Reasonable means that we should end up with cube aggregates of diameter 2.

Parameters

  dim | The dimension of the problem.
  diameter | The preferred diameter for the aggregation.

## setDepends()

void Dune::Amg::EdgeProperties::setDepends | ( |  | ) |

inline

Marks the edge as one of which the end point depends on the starting point.

## setExcludedBorder()

void Dune::Amg::VertexProperties::setExcludedBorder | ( |  | ) |

inline

Marks the vertex as excluded from the aggregation.

## setFront()

void Dune::Amg::VertexProperties::setFront | ( |  | ) |

inline

Marks the node as belonging to the current clusters front.

## setGamma()

void Dune::Amg::Parameters::setGamma | ( | std::size_t | gamma | ) |

inline

Set the value of gamma; 1 for V-cycle, 2 for W-cycle.

## setInfluences()

void Dune::Amg::EdgeProperties::setInfluences | ( |  | ) |

inline

Marks the edge as one of which the start vertex by the end vertex.

## setIsolated()

void Dune::Amg::VertexProperties::setIsolated | ( |  | ) |

inline

Marks that node as being isolated.

A node is isolated if it ha not got any strong connections to other nodes in the matrix graph.

## setMatrix() [1/5]

template<class M, class X, class TM, class TS, class TA>

void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::setMatrix | ( | const M & | matrix | ) |

inline

## setMatrix() [2/5]

template<class M, class X, class TM, class TS, class TA>

virtual void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::setMatrix | ( | const M & | matrix,
|  | const AggregatesMap & | amap )

inline virtual

## setMatrix() [3/5]

template<class T>

void Dune::Amg::DefaultConstructionArgs< T >::setMatrix | ( | const Matrix & | matrix | ) |

inline

## setMatrix() [4/5]

template<class T>

virtual void Dune::Amg::DefaultConstructionArgs< T >::setMatrix | ( | const Matrix & | matrix,
|  | const AggregatesMap & | amap )

inline virtual

## setMatrix() [5/5]

template<class X, class Y>
template<class... Args>

void Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setMatrix | ( | const Args & | ... | ) |

inline

## setMaxAggregateSize()

void Dune::Amg::AggregationParameters::setMaxAggregateSize | ( | std::size_t | size | ) |

inline

Set the maximum number of nodes a aggregate is allowed to have.

The default values is 6.

Parameters

  size | The maximum number of nodes.

## setMaxConnectivity()

void Dune::Amg::AggregationParameters::setMaxConnectivity | ( | std::size_t | connectivity | ) |

inline

Set the maximum number of connections a aggregate is allowed to have.

This limit exists to achieve sparsity of the coarse matrix. the default value is 15.

Parameters

  connectivity | The maximum number of connections a aggregate is allowed to have.

## setMaxDistance()

void Dune::Amg::AggregationParameters::setMaxDistance | ( | std::size_t | distance | ) |

inline

Set the maximal distance allowed between two nodes in a aggregate.

The distance between two nodes in a aggregate is the minimal number of edges it takes to travel from one node to the other without leaving the aggregate. The default value is 2.

Parameters

  distance | The maximum distance allowed.

## setMaxLevel()

void Dune::Amg::CoarseningParameters::setMaxLevel | ( | int | l | ) |

inline

Set the maximum number of levels allowed in the hierarchy.

## setMinAggregateSize()

void Dune::Amg::AggregationParameters::setMinAggregateSize | ( | std::size_t | size | ) |

inline

Set the minimum number of nodes a aggregate has to consist of.

the default value is 4.

## setMinCoarsenRate()

void Dune::Amg::CoarseningParameters::setMinCoarsenRate | ( | double | rate | ) |

inline

Set the minimum coarsening rate to be achieved in each coarsening.

The default value is 1.2

## setN()

template<class M, class X, class Y>

void Dune::Amg::ConstructionArgs< SeqILU< M, X, Y > >::setN | ( | int | n | ) |

inline

## setNoPostSmoothSteps()

void Dune::Amg::Parameters::setNoPostSmoothSteps | ( | std::size_t | steps | ) |

inline

Set the number of postsmoothing steps to apply.

Parameters

  steps | The number of steps:

## setNoPreSmoothSteps()

void Dune::Amg::Parameters::setNoPreSmoothSteps | ( | std::size_t | steps | ) |

inline

Set the number of presmoothing steps to apply.

Parameters

  steps | The number of steps:

## setProlongationDampingFactor()

void Dune::Amg::CoarseningParameters::setProlongationDampingFactor | ( | double | d | ) |

inline

Set the damping factor for the prolongation.

Parameters

  d | The new damping factor.

## setSkipIsolated()

void Dune::Amg::AggregationParameters::setSkipIsolated | ( | bool | skip | ) |

inline

Set whether isolated aggregates will not be represented on the coarse level.

Parameters

  skip | True if these aggregates will be skipped.

## setUseFixedOrder()

void Dune::Amg::CoarseningParameters::setUseFixedOrder | ( | bool | useFixedOrder | ) |

inline

## setVisited()

void Dune::Amg::VertexProperties::setVisited | ( |  | ) |

inline

Mark the node as already visited.

## size()

template<class G, class S>

size_type Dune::Amg::Aggregate< G, S >::size | ( |  | ) |

Get the size of the aggregate.

## skipIsolated()

bool Dune::Amg::AggregationParameters::skipIsolated | ( |  | ) | const

inline

Whether isolated aggregates will not be represented on the coarse level.

Returns
  True if these aggregates will be skipped.

## SparsityBuilder()

template<class M>

Dune::Amg::SparsityBuilder< M >::SparsityBuilder | ( | M & | matrix | ) |

Constructor.

Parameters

  matrix | The matrix whose sparsity pattern we should set up.

## Stack()

template<class G>

Dune::Amg::Aggregator< G >::Stack::Stack | ( | const MatrixGraph & | graph,
|  | const Aggregator< G > & | aggregatesBuilder,
|  | const AggregatesMap< Vertex > & | aggregates )

## sumRowSize()

template<class M>

std::size_t Dune::Amg::SparsityBuilder< M >::sumRowSize | ( |  | ) |

## SymmetricCriterion() [1/2]

template<class M, class Norm>

Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion | ( |  | ) |

inline

## SymmetricCriterion() [2/2]

template<class M, class Norm>

Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion | ( | const Parameters & | parms | ) |

inline

## SymmetricDependency() [1/2]

template<class M, class N>

Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency | ( |  | ) |

inline

## SymmetricDependency() [2/2]

template<class M, class N>

Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency | ( | const Parameters & | parms | ) |

inline

## SymmetricMatrixDependency() [1/2]

template<class M, class N>

Dune::Amg::SymmetricMatrixDependency< M, N >::SymmetricMatrixDependency | ( |  | ) |

inline

## SymmetricMatrixDependency() [2/2]

template<class M, class N>

Dune::Amg::SymmetricMatrixDependency< M, N >::SymmetricMatrixDependency | ( | const Parameters & | parms | ) |

inline

## UnSymmetricCriterion() [1/2]

template<class M, class Norm>

Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion | ( |  | ) |

inline

## UnSymmetricCriterion() [2/2]

template<class M, class Norm>

Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion | ( | const Parameters & | parms | ) |

inline

## useFixedOrder()

bool Dune::Amg::CoarseningParameters::useFixedOrder | ( |  | ) | const

inline

Check if the indices for the coarser levels should be created in a fixed order.

## usesDirectCoarseLevelSolver()

template<class M, class X, class S, class PI, class A>

bool Dune::Amg::AMG< M, X, S, PI, A >::usesDirectCoarseLevelSolver | ( |  | ) | const

Check whether the coarse solver used is a direct solver.

Returns
  True if the coarse level solver is a direct solver.

## value()

template<class G>

int Dune::Amg::Aggregator< G >::Counter::value | ( |  | ) |

Access the current count.

## VertexAdder()

template<class M, class X, class TM, class TS, class TA>

Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder::VertexAdder | ( | Vector & | subdomains_,
|  | const AggregatesMap & | aggregates_ )

inline

## VertexProperties()

Dune::Amg::VertexProperties::VertexProperties | ( |  | ) |

inline

Constructor.

## visited()

bool Dune::Amg::VertexProperties::visited | ( |  | ) | const

inline

Checks whether the node is marked as visited.

## visitNeighbours()

template<class G, class V>

int Dune::Amg::visitNeighbours | ( | const G & | graph,
|  | const typename G::VertexDescriptor & | vertex,
|  | V & | visitor )

Visit all neighbour vertices of a vertex in a graph.

Parameters

  graph | The graph whose vertices to visit.
  vertex | The vertex whose neighbours we want to visit.
  visitor | The visitor evaluated for each EdgeIterator (by its method operator()(const ConstEdgeIterator& edge)

Returns
  The number of neighbours of the vertex.

## ~AggregatesMap()

template<class V>

Dune::Amg::AggregatesMap< V >::~AggregatesMap | ( |  | ) |

Destructor.

## ~Aggregator()

template<class G>

Dune::Amg::Aggregator< G >::~Aggregator | ( |  | ) |

Destructor.

## ~DefaultConstructionArgs() [1/2]

template<class T>

virtual Dune::Amg::DefaultConstructionArgs< T >::~DefaultConstructionArgs | ( |  | ) |

inline virtual

## ~DefaultConstructionArgs() [2/2]

template<class X, class Y>

virtual Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::~DefaultConstructionArgs | ( |  | ) |

inline virtual

## ~DefaultParallelConstructionArgs()

template<class T, class C = SequentialInformation>

virtual Dune::Amg::DefaultParallelConstructionArgs< T, C >::~DefaultParallelConstructionArgs | ( |  | ) |

inline virtual

## ~MatrixHierarchy()

template<class M, class IS, class A>

Dune::Amg::MatrixHierarchy< M, IS, A >::~MatrixHierarchy | ( |  | ) |

## ~Stack()

template<class G>

Dune::Amg::Aggregator< G >::Stack::~Stack | ( |  | ) |

## Variable Documentation

## aggregate

template<class T>

Aggregate* Dune::Amg::OverlapVertex< T >::aggregate

The aggregate the vertex belongs to.

## aggregates

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

OperatorHierarchy::AggregatesMapList::const_iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::aggregates

The iterator over the aggregates maps.

## cat_

SolverCategory::Category Dune::Amg::OwnerOverlapCopyCommunicationArgs::cat_

## comm_ [1/3]

MPI_Comm Dune::Amg::OwnerOverlapCopyCommunicationArgs::comm_

## comm_ [2/3]

template<class M, class C>

const C& Dune::Amg::ParallelOperatorArgs< M, C >::comm_

## comm_ [3/3]

Communication<void*> Dune::Amg::SequentialCommunicationArgs::comm_

## diagonal_ [1/3]

template<class M, class N>

real_type Dune::Amg::Dependency< M, N >::diagonal_

protected

The norm of the current diagonal.

## diagonal_ [2/3]

template<class M, class N>

real_type Dune::Amg::SymmetricDependency< M, N >::diagonal_

protected

The norm of the current diagonal.

## diagonal_ [3/3]

template<class M, class N>

real_type Dune::Amg::SymmetricMatrixDependency< M, N >::diagonal_

protected

The norm of the current diagonal.

## isDirectSolver

template<class Matrix, class Vector>

bool Dune::Amg::DirectSolverSelector< Matrix, Vector >::isDirectSolver = solver != none

static constexpr

## ISOLATED

template<class V>

const V Dune::Amg::AggregatesMap< V >::ISOLATED

static

Identifier of isolated vertices.

## iterations

template<class T>

int Dune::Amg::DefaultSmootherArgs< T >::iterations

The number of iterations to perform.

## level

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

std::size_t Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::level

The level index.

## lhs

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

Hierarchy<Domain,A>::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::lhs

The iterator over the left hand side.

## matrix

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

OperatorHierarchy::ParallelMatrixHierarchy::ConstIterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::matrix

The iterator over the matrices.

## matrix_ [1/5]

template<class T>

const Matrix* Dune::Amg::DefaultConstructionArgs< T >::matrix_

protected

## matrix_ [2/5]

template<class M, class N>

const Matrix* Dune::Amg::Dependency< M, N >::matrix_

protected

The matrix we work on.

## matrix_ [3/5]

template<class M, class C>

std::shared_ptr<M> Dune::Amg::ParallelOperatorArgs< M, C >::matrix_

## matrix_ [4/5]

template<class M, class N>

const Matrix* Dune::Amg::SymmetricDependency< M, N >::matrix_

protected

The matrix we work on.

## matrix_ [5/5]

template<class M, class N>

const Matrix* Dune::Amg::SymmetricMatrixDependency< M, N >::matrix_

protected

The matrix we work on.

## maxValue_ [1/3]

template<class M, class N>

real_type Dune::Amg::Dependency< M, N >::maxValue_

protected

## maxValue_ [2/3]

template<class M, class N>

real_type Dune::Amg::SymmetricDependency< M, N >::maxValue_

protected

## maxValue_ [3/3]

template<class M, class N>

real_type Dune::Amg::SymmetricMatrixDependency< M, N >::maxValue_

protected

## norm_ [1/3]

template<class M, class N>

Norm Dune::Amg::Dependency< M, N >::norm_

protected

The functor for calculating the norm.

## norm_ [2/3]

template<class M, class N>

Norm Dune::Amg::SymmetricDependency< M, N >::norm_

protected

The functor for calculating the norm.

## norm_ [3/3]

template<class M, class N>

Norm Dune::Amg::SymmetricMatrixDependency< M, N >::norm_

protected

The functor for calculating the norm.

## NullEntry

template<class G>

const Vertex Dune::Amg::Aggregator< G >::Stack::NullEntry

static

## onthefly

template<class T>

bool Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::onthefly

## overlap

template<class T>

Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap

## pinfo

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

ParallelInformationHierarchy::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::pinfo

The iterator over the parallel information.

## redist

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

OperatorHierarchy::RedistributeInfoList::const_iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::redist

The iterator over the redistribution information.

## relaxationFactor

template<class T>

RelaxationFactor Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor

The relaxation factor to use.

## rhs

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

Hierarchy<Range,A>::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::rhs

The iterator over the right hand sided.

## row_ [1/3]

template<class M, class N>

int Dune::Amg::Dependency< M, N >::row_

protected

index of the currently evaluated row.

## row_ [2/3]

template<class M, class N>

int Dune::Amg::SymmetricDependency< M, N >::row_

protected

index of the currently evaluated row.

## row_ [3/3]

template<class M, class N>

int Dune::Amg::SymmetricMatrixDependency< M, N >::row_

protected

index of the currently evaluated row.

## smoother

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

Hierarchy<Smoother,A>::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::smoother

The iterator over the smoothers.

## solver

template<class Matrix, class Vector>

SolverType Dune::Amg::DirectSolverSelector< Matrix, Vector >::solver

static constexpr

Initial value:
=
superlu
Dune::Amg::DirectSolverSelector::superlu
@ superlu
Definition amg.hh:628

## UNAGGREGATED

template<class V>

const V Dune::Amg::AggregatesMap< V >::UNAGGREGATED

static

Identifier of not yet aggregated vertices.

## update

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

Hierarchy<Domain,A>::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::update

The iterator over the updates.

## valIter_

template<class M, class N>

std::vector<real_type>::iterator Dune::Amg::SymmetricMatrixDependency< M, N >::valIter_

protected

## vals_

template<class M, class N>

std::vector<real_type> Dune::Amg::SymmetricMatrixDependency< M, N >::vals_

protected

## vertex

template<class T>

Vertex Dune::Amg::OverlapVertex< T >::vertex

The vertex descriptor.

## Friends

## KAMG

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>
template<class M1, class X1, class S1, class P1, class K1, class A1>

friend class KAMG

friend

## KAmgTwoGrid< AMG >

template<class M, class X, class S, class PI = SequentialInformation, class A = std::allocator<X>>

friend class KAmgTwoGrid< AMG >

friend

## operator<< [1/2]

std::ostream & operator<< | ( | std::ostream & | os,
|  | const EdgeProperties & | props )

friend

## operator<< [2/2]

std::ostream & operator<< | ( | std::ostream & | os,
|  | const VertexProperties & | props )

friend

## Stack

template<class G>

friend class Stack

friend