dune-istl  2.7.1
Files | Classes | Typedefs | Enumerations | Enumerator | Functions | Variables

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.
 

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::isValidBlockType< class >
 
struct  Dune::AMGCreator::isValidBlockType< FieldMatrix< T, n, m > >
 
class  Dune::Amg::ConstructionTraits< T >
 Traits class for generically constructing non default constructable types. More...
 
class  Dune::Amg::ConstructionTraits< BlockVector< T, A > >
 
struct  Dune::Amg::ParallelOperatorArgs< M, C >
 
struct  Dune::Amg::OwnerOverlapCopyCommunicationArgs
 
struct  Dune::Amg::SequentialCommunicationArgs
 
class  Dune::Amg::ConstructionTraits< OverlappingSchwarzOperator< M, X, Y, C > >
 
class  Dune::Amg::ConstructionTraits< NonoverlappingSchwarzOperator< M, X, Y, C > >
 
struct  Dune::Amg::MatrixAdapterArgs< M, X, Y >
 
class  Dune::Amg::ConstructionTraits< MatrixAdapter< M, X, Y > >
 
class  Dune::Amg::ConstructionTraits< SequentialInformation >
 
class  Dune::Amg::ConstructionTraits< OwnerOverlapCopyCommunication< T1, T2 > >
 
class  Dune::Amg::EdgeProperties
 Class representing the properties of an ede 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 >
 
struct  Dune::Amg::GlobalAggregatesMap< T, TI >
 
class  Dune::Amg::GlobalAggregatesMap< T, TI >::Proxy
 
struct  Dune::Amg::AggregatesGatherScatter< T, TI >
 
struct  Dune::Amg::AggregatesPublisher< T, O, I >
 
class  Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >
 A class setting up standard communication for a two-valued attribute set with owner/overlap/copy semantics. More...
 
struct  Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >
 Utility class for publishing the aggregate number of the DOFs in the overlap to other processors and convert them to local indices. More...
 
struct  Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >
 
struct  Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >
 
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...
 
struct  Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >
 Policy for the construction of the SeqILU0 smoother. More...
 
class  Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >
 
struct  Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >
 Policy for the construction of the SeqILUn 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. More...
 
typedef M Dune::Amg::SymmetricMatrixDependency< M, N >::Matrix
 The matrix type we build the dependency of. More...
 
typedef N Dune::Amg::SymmetricMatrixDependency< M, N >::Norm
 The norm to use for examining the matrix entries. More...
 
typedef Matrix::row_type Dune::Amg::SymmetricMatrixDependency< M, N >::Row
 Constant Row iterator of the matrix. More...
 
typedef Matrix::ConstColIterator Dune::Amg::SymmetricMatrixDependency< M, N >::ColIter
 Constant column iterator of the matrix. More...
 
typedef Matrix::field_type Dune::Amg::SymmetricMatrixDependency< M, N >::field_type
 The current max value. More...
 
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. More...
 
typedef N Dune::Amg::Dependency< M, N >::Norm
 The norm to use for examining the matrix entries. More...
 
typedef Matrix::row_type Dune::Amg::Dependency< M, N >::Row
 Constant Row iterator of the matrix. More...
 
typedef Matrix::ConstColIterator Dune::Amg::Dependency< M, N >::ColIter
 Constant column iterator of the matrix. More...
 
typedef Matrix::field_type Dune::Amg::Dependency< M, N >::field_type
 The current max value. More...
 
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. More...
 
typedef N Dune::Amg::SymmetricDependency< M, N >::Norm
 The norm to use for examining the matrix entries. More...
 
typedef Matrix::row_type Dune::Amg::SymmetricDependency< M, N >::Row
 Constant Row iterator of the matrix. More...
 
typedef Matrix::ConstColIterator Dune::Amg::SymmetricDependency< M, N >::ColIter
 Constant column iterator of the matrix. More...
 
typedef Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::field_type
 The current max value. More...
 
typedef FieldTraits< field_type >::real_type Dune::Amg::SymmetricDependency< M, N >::real_type
 
typedef V Dune::Amg::AggregatesMap< V >::VertexDescriptor
 The vertex descriptor type. More...
 
typedef V Dune::Amg::AggregatesMap< V >::AggregateDescriptor
 The aggregate descriptor type. More...
 
typedef PoolAllocator< VertexDescriptor, 100 > Dune::Amg::AggregatesMap< V >::Allocator
 The allocator we use for our lists and the set. More...
 
typedef SLList< VertexDescriptor, AllocatorDune::Amg::AggregatesMap< V >::VertexList
 The type of a single linked list of vertex descriptors. More...
 
typedef const AggregateDescriptorDune::Amg::AggregatesMap< V >::const_iterator
 
typedef AggregateDescriptorDune::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. More...
 
typedef PoolAllocator< Vertex, 100 > Dune::Amg::Aggregate< G, S >::Allocator
 The allocator we use for our lists and the set. More...
 
typedef S Dune::Amg::Aggregate< G, S >::VertexSet
 The type of a single linked list of vertex descriptors. More...
 
typedef VertexSet::const_iterator Dune::Amg::Aggregate< G, S >::const_iterator
 Const iterator over a vertex list. More...
 
typedef std::size_t * Dune::Amg::Aggregate< G, S >::SphereMap
 Type of the mapping of aggregate members onto distance spheres. More...
 
typedef G Dune::Amg::Aggregator< G >::MatrixGraph
 The matrix graph type used. More...
 
typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::Vertex
 The vertex identifier. More...
 
typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::AggregateDescriptor
 The type of the aggregate descriptor. More...
 
typedef V Dune::Amg::Aggregator< G >::AggregateVisitor< V >::Visitor
 The type of the adapted visitor. More...
 
typedef M Dune::Amg::AMG< M, X, S, PI, A >::Operator
 The matrix operator type. More...
 
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. More...
 
typedef MatrixHierarchy< M, ParallelInformation, A > Dune::Amg::AMG< M, X, S, PI, A >::OperatorHierarchy
 The operator hierarchy type. More...
 
typedef OperatorHierarchy::ParallelInformationHierarchy Dune::Amg::AMG< M, X, S, PI, A >::ParallelInformationHierarchy
 The parallal data distribution hierarchy type. More...
 
typedef X Dune::Amg::AMG< M, X, S, PI, A >::Domain
 The domain type. More...
 
typedef X Dune::Amg::AMG< M, X, S, PI, A >::Range
 The range type. More...
 
typedef InverseOperator< X, X > Dune::Amg::AMG< M, X, S, PI, A >::CoarseSolver
 the type of the coarse solver. More...
 
typedef S Dune::Amg::AMG< M, X, S, PI, A >::Smoother
 The type of the smoother. More...
 
typedef SmootherTraits< Smoother >::Arguments Dune::Amg::AMG< M, X, S, PI, A >::SmootherArgs
 The argument type for the construction of the smoother. More...
 
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, solverDune::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. More...
 
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. More...
 
typedef std::bitset< VertexProperties::SIZEDune::Amg::PropertyGraphVertexPropertyMap< G, i >::BitSet
 The type of the bitset. More...
 
typedef BitSet::reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Reference
 The reference type. More...
 
typedef bool Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::ValueType
 The value type. More...
 
typedef G::VertexDescriptor Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Vertex
 The vertex descriptor. More...
 
typedef Amg::PropertyGraphVertexPropertyMap< Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM >, Amg::VertexProperties::VISITEDDune::PropertyMapTypeSelector< Amg::VertexVisitedTag, Amg::PropertiesGraph< G, Amg::VertexProperties, EP, VM, EM > >::Type
 
typedef T Dune::Amg::OverlapVertex< T >::Aggregate
 The aggregate descriptor. More...
 
typedef T Dune::Amg::OverlapVertex< T >::Vertex
 The vertex descriptor. More...
 
typedef T Dune::Amg::GalerkinProduct< T >::ParallelInformation
 
typedef G Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Graph
 The type of the graph. More...
 
typedef Graph::ConstEdgeIterator Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConstEdgeIterator
 The constant edge iterator. More...
 
typedef S Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Set
 The type of the connected set. More...
 
typedef V Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::VisitedMap
 The type of the map for marking vertices as visited. More...
 
typedef Graph::VertexDescriptor Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Vertex
 The vertex descriptor of the graph. More...
 
typedef G::VertexDescriptor Dune::Amg::ConnectivityConstructor< G, T >::Vertex
 
typedef G::VertexDescriptor Dune::Amg::ConnectivityConstructor< G, SequentialInformation >::Vertex
 
typedef TI Dune::Amg::GlobalAggregatesMap< T, TI >::ParallelIndexSet
 
typedef ParallelIndexSet::GlobalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::GlobalIndex
 
typedef ParallelIndexSet::GlobalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::IndexedType
 
typedef ParallelIndexSet::LocalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::LocalIndex
 
typedef T Dune::Amg::GlobalAggregatesMap< T, TI >::Vertex
 
typedef TI Dune::Amg::AggregatesGatherScatter< T, TI >::ParallelIndexSet
 
typedef ParallelIndexSet::GlobalIndex Dune::Amg::AggregatesGatherScatter< T, TI >::GlobalIndex
 
typedef T Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::Vertex
 
typedef O Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::OverlapFlags
 
typedef OwnerOverlapCopyCommunication< T1, T2 > Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::ParallelInformation
 
typedef ParallelInformation::GlobalLookupIndexSet Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::GlobalLookupIndexSet
 
typedef ParallelInformation::ParallelIndexSet Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::IndexSet
 
typedef T Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::Vertex
 
typedef SequentialInformation Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::ParallelInformation
 
typedef ParallelInformation::GlobalLookupIndexSet Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::GlobalLookupIndexSet
 
typedef Amg::AggregatesMap< T > Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::Type
 
typedef Amg::GlobalAggregatesMap< T, TI >::IndexedType Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::IndexedType
 
typedef SizeOne Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::IndexedTypeFlag
 
typedef E Dune::Amg::ParallelIndicesCoarsener< T, E >::ExcludedAttributes
 The set of excluded attributes. More...
 
typedef T Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelInformation
 The type of the parallel information. More...
 
typedef ParallelInformation::ParallelIndexSet Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelIndexSet
 
typedef ParallelIndexSet::GlobalIndex Dune::Amg::ParallelIndicesCoarsener< T, E >::GlobalIndex
 The type of the global index. More...
 
typedef ParallelIndexSet::LocalIndex Dune::Amg::ParallelIndicesCoarsener< T, E >::LocalIndex
 The type of the local index. More...
 
typedef LocalIndex::Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::Attribute
 The type of the attribute. More...
 
typedef Dune::RemoteIndices< ParallelIndexSetDune::Amg::ParallelIndicesCoarsener< T, E >::RemoteIndices
 The type of the remote indices. More...
 
typedef C Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Container
 The container that holds the properties. More...
 
typedef R Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Reference
 The reference type of the container. More...
 
typedef K Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Key
 The key of the property map. More...
 
typedef LvaluePropertyMapTag Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::Category
 The category of the property map. More...
 
typedef T Dune::Amg::DefaultSmootherArgs< T >::RelaxationFactor
 The type of the relaxation factor. More...
 
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 DefaultConstructionArgs< SeqILU0< M, X, Y > > Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::Arguments
 
typedef ConstructionArgs< SeqILUn< M, X, Y > > Dune::Amg::ConstructionTraits< SeqILUn< M, 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< VertexDescriptorDune::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. More...
 
 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. More...
 
void Dune::Amg::AggregationCriterion< T >::setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
 Sets reasonable default values for an aisotropic problem. More...
 
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< typename M::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. More...
 
template<class M >
auto 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 scalar. More...
 
template<class M >
FieldTraits< typename M::field_type >::real_type Dune::Amg::RowSum::operator() (const M &m) const
 compute the norm of a matrix. More...
 
template<class M >
FieldTraits< typename M::field_type >::real_type Dune::Amg::FrobeniusNorm::operator() (const M &m) const
 compute the norm of a matrix. More...
 
template<class M >
FieldTraits< typename M::field_type >::real_type Dune::Amg::AlwaysOneNorm::operator() (const M &m) const
 compute the norm of a matrix. More...
 
 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. More...
 
 Dune::Amg::AggregatesMap< V >::AggregatesMap (std::size_t noVertices)
 Constructs with allocating memory. More...
 
 Dune::Amg::AggregatesMap< V >::~AggregatesMap ()
 Destructor. More...
 
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. More...
 
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. More...
 
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. More...
 
void Dune::Amg::AggregatesMap< V >::allocate (std::size_t noVertices)
 Allocate memory for holding the information. More...
 
std::size_t Dune::Amg::AggregatesMap< V >::noVertices () const
 Get the number of vertices. More...
 
void Dune::Amg::AggregatesMap< V >::free ()
 Free the allocated memory. More...
 
AggregateDescriptorDune::Amg::AggregatesMap< V >::operator[] (const VertexDescriptor &v)
 Get the aggregate a vertex belongs to. More...
 
const AggregateDescriptorDune::Amg::AggregatesMap< V >::operator[] (const VertexDescriptor &v) const
 Get the aggregate a vertex belongs to. More...
 
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. More...
 
 Dune::Amg::Aggregate< G, S >::Aggregate (MatrixGraph &graph, AggregatesMap< Vertex > &aggregates, VertexSet &connectivity, std::vector< Vertex > &front_)
 Constructor. More...
 
void Dune::Amg::Aggregate< G, S >::invalidate ()
 
void Dune::Amg::Aggregate< G, S >::reconstruct (const Vertex &vertex)
 Reconstruct the aggregat from an seed node. More...
 
void Dune::Amg::Aggregate< G, S >::seed (const Vertex &vertex)
 Initialize the aggregate with one vertex. More...
 
void Dune::Amg::Aggregate< G, S >::add (const Vertex &vertex)
 Add a vertex to the aggregate. More...
 
void Dune::Amg::Aggregate< G, S >::add (std::vector< Vertex > &vertex)
 
void Dune::Amg::Aggregate< G, S >::clear ()
 Clear the aggregate. More...
 
VertexSet::size_type Dune::Amg::Aggregate< G, S >::size ()
 Get the size of the aggregate. More...
 
VertexSet::size_type Dune::Amg::Aggregate< G, S >::connectSize ()
 Get tne number of connections to other aggregates. More...
 
int Dune::Amg::Aggregate< G, S >::id ()
 Get the id identifying the aggregate. More...
 
const_iterator Dune::Amg::Aggregate< G, S >::begin () const
 get an iterator over the vertices of the aggregate. More...
 
const_iterator Dune::Amg::Aggregate< G, S >::end () const
 get an iterator over the vertices of the aggregate. More...
 
 Dune::Amg::Aggregator< G >::Aggregator ()
 Constructor. More...
 
 Dune::Amg::Aggregator< G >::~Aggregator ()
 Destructor. More...
 
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. More...
 
 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. More...
 
void Dune::Amg::Aggregator< G >::AggregateVisitor< V >::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
 Examine an edge. More...
 
 Dune::Amg::Aggregator< G >::Counter::Counter ()
 Constructor. More...
 
int Dune::Amg::Aggregator< G >::Counter::value ()
 Access the current count. More...
 
void Dune::Amg::Aggregator< G >::Counter::increment ()
 Increment counter. More...
 
void Dune::Amg::Aggregator< G >::Counter::decrement ()
 Decrement counter. More...
 
 Dune::Amg::Aggregator< G >::FrontNeighbourCounter::FrontNeighbourCounter (const MatrixGraph &front)
 Constructor. More...
 
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. More...
 
void Dune::Amg::Aggregator< G >::ConnectivityCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
 
 Dune::Amg::Aggregator< G >::DependencyCounter::DependencyCounter ()
 Constructor. More...
 
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. More...
 
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. More...
 
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. More...
 
 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. More...
 
 Dune::Amg::AMG< M, X, S, PI, A >::AMG (const AMG &amg)
 Copy constructor. More...
 
void Dune::Amg::AMG< M, X, S, PI, A >::pre (Domain &x, Range &b)
 Prepare the preconditioner. More...
 
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. More...
 
virtual SolverCategory::Category Dune::Amg::AMG< M, X, S, PI, A >::category () const
 Category of the preconditioner (see SolverCategory::Category) More...
 
void Dune::Amg::AMG< M, X, S, PI, A >::post (Domain &x)
 Clean up. More...
 
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. More...
 
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. More...
 
bool Dune::Amg::AMG< M, X, S, PI, A >::usesDirectCoarseLevelSolver () const
 Check whether the coarse solver used is a direct solver. More...
 
static typeDune::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 typeDune::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 DirectSolverDune::Amg::DirectSolverSelector< Matrix, Vector >::create (const Matrix &mat, bool verbose, bool reusevector)
 
template<typename TL , typename M >
std::shared_ptr< Dune::Preconditioner< typename Dune::TypeListElement< 1, TL >::type, typename Dune::TypeListElement< 2, TL >::type > > Dune::AMGCreator::operator() (TL tl, const M &mat, const Dune::ParameterTree &config, std::enable_if_t< isValidBlockType< typename M::block_type >::value, int >=0) const
 
template<typename TL , typename M >
std::shared_ptr< Dune::Preconditioner< typename Dune::TypeListElement< 1, TL >::type, typename Dune::TypeListElement< 2, TL >::type > > Dune::AMGCreator::operator() (TL, const M &, const Dune::ParameterTree &, std::enable_if_t<!isValidBlockType< typename M::block_type >::value, int >=0) const
 
static std::shared_ptr< T > Dune::Amg::ConstructionTraits< T >::construct (Arguments &args)
 Construct an object with the specified arguments. More...
 
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 (CollectiveCommunication< void * > comm, int cat)
 
 Dune::Amg::EdgeProperties::EdgeProperties ()
 Constructor. More...
 
std::bitset< SIZE >::reference Dune::Amg::EdgeProperties::operator[] (std::size_t v)
 Access the bits directly. More...
 
bool Dune::Amg::EdgeProperties::operator[] (std::size_t v) const
 Access the bits directly. More...
 
bool Dune::Amg::EdgeProperties::depends () const
 Checks wether the vertex the edge points to depends on the vertex the edge starts. More...
 
void Dune::Amg::EdgeProperties::setDepends ()
 Marks the edge as one of which the end point depends on the starting point. More...
 
void Dune::Amg::EdgeProperties::resetDepends ()
 Resets the depends flag. More...
 
bool Dune::Amg::EdgeProperties::influences () const
 Checks wether the start vertex is influenced by the end vertex. More...
 
void Dune::Amg::EdgeProperties::setInfluences ()
 Marks the edge as one of which the start vertex by the end vertex. More...
 
void Dune::Amg::EdgeProperties::resetInfluences ()
 Resets the influence flag. More...
 
bool Dune::Amg::EdgeProperties::isOneWay () const
 Checks wether the edge is one way. I.e. either the influence or the depends flag but is set. More...
 
bool Dune::Amg::EdgeProperties::isTwoWay () const
 Checks wether the edge is two way. I.e. both the influence flag and the depends flag are that. More...
 
bool Dune::Amg::EdgeProperties::isStrong () const
 Checks wether the edge is strong. I.e. the influence or depends flag is set. More...
 
void Dune::Amg::EdgeProperties::reset ()
 Reset all flags. More...
 
void Dune::Amg::EdgeProperties::printFlags () const
 Prints the attributes of the edge for debugging. More...
 
 Dune::Amg::VertexProperties::VertexProperties ()
 Constructor. More...
 
std::bitset< SIZE >::reference Dune::Amg::VertexProperties::operator[] (std::size_t v)
 Access the bits directly. More...
 
bool Dune::Amg::VertexProperties::operator[] (std::size_t v) const
 Access the bits directly. More...
 
void Dune::Amg::VertexProperties::setIsolated ()
 Marks that node as being isolated. More...
 
bool Dune::Amg::VertexProperties::isolated () const
 Checks wether the node is isolated. More...
 
void Dune::Amg::VertexProperties::resetIsolated ()
 Resets the isolated flag. More...
 
void Dune::Amg::VertexProperties::setVisited ()
 Mark the node as already visited. More...
 
bool Dune::Amg::VertexProperties::visited () const
 Checks wether the node is marked as visited. More...
 
void Dune::Amg::VertexProperties::resetVisited ()
 Resets the visited flag. More...
 
void Dune::Amg::VertexProperties::setFront ()
 Marks the node as belonging to the current clusters front. More...
 
bool Dune::Amg::VertexProperties::front () const
 Checks wether the node is marked as a front node. More...
 
void Dune::Amg::VertexProperties::resetFront ()
 Resets the front node flag. More...
 
void Dune::Amg::VertexProperties::setExcludedBorder ()
 Marks the vertex as excluded from the aggregation. More...
 
bool Dune::Amg::VertexProperties::excludedBorder () const
 Tests whether the vertex is excluded from the aggregation. More...
 
void Dune::Amg::VertexProperties::resetExcludedBorder ()
 Marks the vertex as included in the aggregation. More...
 
void Dune::Amg::VertexProperties::reset ()
 Reset all flags. More...
 
 Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap (G &g)
 Constructor. More...
 
 Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap ()
 Default constructor. More...
 
Reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::operator[] (const Vertex &vertex) const
 Get the properties associated to a vertex. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
 Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConnectedBuilder (const AggregatesMap< Vertex > &aggregates, Graph &graph, VisitedMap &visitedMap, Set &connected)
 Constructor. More...
 
void Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::operator() (const ConstEdgeIterator &edge)
 Process an edge pointing to another aggregate. More...
 
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)
 
 Dune::Amg::GlobalAggregatesMap< T, TI >::GlobalAggregatesMap (AggregatesMap< Vertex > &aggregates, const GlobalLookupIndexSet< ParallelIndexSet > &indexset)
 
const GlobalIndexDune::Amg::GlobalAggregatesMap< T, TI >::operator[] (std::size_t index) const
 
GlobalIndexDune::Amg::GlobalAggregatesMap< T, TI >::get (std::size_t index)
 
 Dune::Amg::GlobalAggregatesMap< T, TI >::Proxy::Proxy (const GlobalLookupIndexSet< ParallelIndexSet > &indexset, Vertex &aggregate)
 
ProxyDune::Amg::GlobalAggregatesMap< T, TI >::Proxy::operator= (const GlobalIndex &global)
 
Proxy Dune::Amg::GlobalAggregatesMap< T, TI >::operator[] (std::size_t index)
 
void Dune::Amg::GlobalAggregatesMap< T, TI >::put (const GlobalIndex &global, size_t i)
 
static const GlobalIndexDune::Amg::AggregatesGatherScatter< T, TI >::gather (const GlobalAggregatesMap< T, TI > &ga, size_t i)
 
static void Dune::Amg::AggregatesGatherScatter< T, TI >::scatter (GlobalAggregatesMap< T, TI > &ga, GlobalIndex global, size_t i)
 
static void Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::publish (AggregatesMap< Vertex > &aggregates, ParallelInformation &pinfo, const GlobalLookupIndexSet &globalLookup)
 
static void Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::publish (AggregatesMap< Vertex > &aggregates, ParallelInformation &pinfo, const GlobalLookupIndexSet &globalLookup)
 
static int Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::getSize (const Type &, int)
 
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. More...
 
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)
 Build the coarse index set after the aggregatio. More...
 
 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 GlobalIndexDune::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)
 
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. More...
 
void Dune::Amg::DependencyParameters::setBeta (double b)
 Set threshold for marking nodes as isolated. The default value is 1.0E-5. More...
 
double Dune::Amg::DependencyParameters::beta () const
 Get the threshold for marking nodes as isolated. The default value is 1.0E-5. More...
 
void Dune::Amg::DependencyParameters::setAlpha (double a)
 Set the scaling value for marking connections as strong. Default value is 1/3. More...
 
double Dune::Amg::DependencyParameters::alpha () const
 Get the scaling value for marking connections as strong. Default value is 1/3. More...
 
 Dune::Amg::AggregationParameters::AggregationParameters ()
 Constructor. More...
 
void Dune::Amg::AggregationParameters::setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2)
 Sets reasonable default values for an isotropic problem. More...
 
void Dune::Amg::AggregationParameters::setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
 Sets reasonable default values for an anisotropic problem. More...
 
std::size_t Dune::Amg::AggregationParameters::maxDistance () const
 Get the maximal distance allowed between two nodes in a aggregate. More...
 
void Dune::Amg::AggregationParameters::setMaxDistance (std::size_t distance)
 Set the maximal distance allowed between two nodes in a aggregate. More...
 
bool Dune::Amg::AggregationParameters::skipIsolated () const
 Whether isolated aggregates will not be represented on the coarse level. More...
 
void Dune::Amg::AggregationParameters::setSkipIsolated (bool skip)
 Set whether isolated aggregates will not be represented on the coarse level. More...
 
std::size_t Dune::Amg::AggregationParameters::minAggregateSize () const
 Get the minimum number of nodes a aggregate has to consist of. More...
 
void Dune::Amg::AggregationParameters::setMinAggregateSize (std::size_t size)
 Set the minimum number of nodes a aggregate has to consist of. More...
 
std::size_t Dune::Amg::AggregationParameters::maxAggregateSize () const
 Get the maximum number of nodes a aggregate is allowed to have. More...
 
void Dune::Amg::AggregationParameters::setMaxAggregateSize (std::size_t size)
 Set the maximum number of nodes a aggregate is allowed to have. More...
 
std::size_t Dune::Amg::AggregationParameters::maxConnectivity () const
 Get the maximum number of connections a aggregate is allowed to have. More...
 
void Dune::Amg::AggregationParameters::setMaxConnectivity (std::size_t connectivity)
 Set the maximum number of connections a aggregate is allowed to have. More...
 
void Dune::Amg::CoarseningParameters::setMaxLevel (int l)
 Set the maximum number of levels allowed in the hierarchy. More...
 
int Dune::Amg::CoarseningParameters::maxLevel () const
 Get the maximum number of levels allowed in the hierarchy. More...
 
void Dune::Amg::CoarseningParameters::setCoarsenTarget (int nodes)
 Set the maximum number of unknowns allowed on the coarsest level. More...
 
int Dune::Amg::CoarseningParameters::coarsenTarget () const
 Get the maximum number of unknowns allowed on the coarsest level. More...
 
void Dune::Amg::CoarseningParameters::setMinCoarsenRate (double rate)
 Set the minimum coarsening rate to be achieved in each coarsening. More...
 
double Dune::Amg::CoarseningParameters::minCoarsenRate () const
 Get the minimum coarsening rate to be achieved. More...
 
AccumulationMode Dune::Amg::CoarseningParameters::accumulate () const
 Whether the data should be accumulated on fewer processes on coarser levels. More...
 
void Dune::Amg::CoarseningParameters::setAccumulate (AccumulationMode accu)
 Set whether he data should be accumulated on fewer processes on coarser levels. More...
 
void Dune::Amg::CoarseningParameters::setAccumulate (bool accu)
 
void Dune::Amg::CoarseningParameters::setProlongationDampingFactor (double d)
 Set the damping factor for the prolongation. More...
 
double Dune::Amg::CoarseningParameters::getProlongationDampingFactor () const
 Get the damping factor for the prolongation. More...
 
 Dune::Amg::CoarseningParameters::CoarseningParameters (int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu)
 Constructor. More...
 
void Dune::Amg::Parameters::setDebugLevel (int level)
 Set the debugging level. More...
 
int Dune::Amg::Parameters::debugLevel () const
 Get the debugging Level. More...
 
void Dune::Amg::Parameters::setNoPreSmoothSteps (std::size_t steps)
 Set the number of presmoothing steps to apply. More...
 
std::size_t Dune::Amg::Parameters::getNoPreSmoothSteps () const
 Get the number of presmoothing steps to apply. More...
 
void Dune::Amg::Parameters::setNoPostSmoothSteps (std::size_t steps)
 Set the number of postsmoothing steps to apply. More...
 
std::size_t Dune::Amg::Parameters::getNoPostSmoothSteps () const
 Get the number of postsmoothing steps to apply. More...
 
void Dune::Amg::Parameters::setGamma (std::size_t gamma)
 Set the value of gamma; 1 for V-cycle, 2 for W-cycle. More...
 
std::size_t Dune::Amg::Parameters::getGamma () const
 Get the value of gamma; 1 for V-cycle, 2 for W-cycle. More...
 
void Dune::Amg::Parameters::setAdditive (bool additive)
 Set whether to use additive multigrid. More...
 
bool Dune::Amg::Parameters::getAdditive () const
 Get whether to use additive multigrid. More...
 
 Dune::Amg::Parameters::Parameters (int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu)
 Constructor. More...
 
Reference Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::operator[] (const Key &key) const
 Get the property for a key. More...
 
 Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap (Container &container)
 Constructor. More...
 
 Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::RandomAccessBundledPropertyMap ()
 The default constructor. More...
 
 Dune::Amg::DefaultSmootherArgs< T >::DefaultSmootherArgs ()
 Default constructor. More...
 
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 SequentialInformationDune::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 SequentialInformationDune::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)
 
static std::shared_ptr< SeqILU0< M, X, Y > > Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::construct (Arguments &args)
 
 Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::ConstructionArgs (int n=1)
 
void Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::setN (int n)
 
int Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::getN ()
 
static std::shared_ptr< SeqILUn< M, X, Y > > Dune::Amg::ConstructionTraits< SeqILUn< M, 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 More...
 
static void Dune::Amg::SmootherApplier< T >::postSmooth (Smoother &smoother, Domain &v, const Range &d)
 apply post smoothing in forward direction More...
 
template<typename LevelContext >
void Dune::Amg::presmooth (LevelContext &levelContext, size_t steps)
 Apply pre smoothing on the current level. More...
 
template<typename LevelContext >
void Dune::Amg::postsmooth (LevelContext &levelContext, size_t steps)
 Apply post smoothing on the current level. More...
 
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 VectorDune::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 &edge)
 
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder::setAggregate (const AggregateDescriptor &aggregate_)
 
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. More...
 
 Dune::Amg::Hierarchy< T, A >::Hierarchy (const Hierarchy &other)
 Copy constructor (deep copy!). More...
 
std::size_t Dune::Amg::Hierarchy< T, A >::levels () const
 Get the number of levels in the hierarchy. More...
 
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. More...
 
void Dune::Amg::Hierarchy< T, A >::addFiner (Arguments &args)
 Add an element on a finer level. More...
 
Iterator Dune::Amg::Hierarchy< T, A >::finest ()
 Get an iterator positioned at the finest level. More...
 
Iterator Dune::Amg::Hierarchy< T, A >::coarsest ()
 Get an iterator positioned at the coarsest level. More...
 
ConstIterator Dune::Amg::Hierarchy< T, A >::finest () const
 Get an iterator positioned at the finest level. More...
 
ConstIterator Dune::Amg::Hierarchy< T, A >::coarsest () const
 Get an iterator positioned at the coarsest level. More...
 
 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. More...
 
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. More...
 
void Dune::Amg::KAMG< M, X, S, PI, K, A >::pre (Domain &x, Range &b)
 Prepare the preconditioner. More...
 
void Dune::Amg::KAMG< M, X, S, PI, K, A >::post (Domain &x)
 Clean up. More...
 
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. More...
 
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. More...
 
template<typename O , typename T >
void Dune::Amg::MatrixHierarchy< M, PI, A >::build (const T &criterion)
 Build the matrix hierarchy using aggregation. More...
 
const ParallelMatrixHierarchyDune::Amg::MatrixHierarchy< M, PI, A >::matrices () const
 Get the matrix hierarchy. More...
 
const ParallelInformationHierarchyDune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation () const
 Get the hierarchy of the parallel data distribution information. More...
 
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. More...
 
const AggregatesMapListDune::Amg::MatrixHierarchy< M, PI, A >::aggregatesMaps () const
 Get the hierarchy of the mappings of the nodes onto aggregates. More...
 
const RedistributeInfoListDune::Amg::MatrixHierarchy< M, PI, A >::redistributeInformation () const
 Get the hierarchy of the information about redistributions,. More...
 
 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. More...
 
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. More...
 
template<class F >
void Dune::Amg::MatrixHierarchy< M, PI, A >::recalculateGalerkin (const F &copyFlags)
 Recalculate the galerkin products. More...
 
std::size_t Dune::Amg::MatrixHierarchy< M, PI, A >::levels () const
 Get the number of levels in the hierarchy. More...
 
std::size_t Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels () const
 Get the max number of levels in the hierarchy of processors. More...
 
bool Dune::Amg::MatrixHierarchy< M, PI, A >::hasCoarsest () const
 
bool Dune::Amg::MatrixHierarchy< M, PI, A >::isBuilt () const
 Whether the hierarchy was built. More...
 
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 MatrixDune::Amg::SymmetricMatrixDependency< M, N >::matrix_
 The matrix we work on. More...
 
real_type Dune::Amg::SymmetricMatrixDependency< M, N >::maxValue_
 
Norm Dune::Amg::SymmetricMatrixDependency< M, N >::norm_
 The functor for calculating the norm. More...
 
int Dune::Amg::SymmetricMatrixDependency< M, N >::row_
 index of the currently evaluated row. More...
 
real_type Dune::Amg::SymmetricMatrixDependency< M, N >::diagonal_
 The norm of the current diagonal. More...
 
std::vector< real_typeDune::Amg::SymmetricMatrixDependency< M, N >::vals_
 
std::vector< real_type >::iterator Dune::Amg::SymmetricMatrixDependency< M, N >::valIter_
 
const MatrixDune::Amg::Dependency< M, N >::matrix_
 The matrix we work on. More...
 
real_type Dune::Amg::Dependency< M, N >::maxValue_
 
Norm Dune::Amg::Dependency< M, N >::norm_
 The functor for calculating the norm. More...
 
int Dune::Amg::Dependency< M, N >::row_
 index of the currently evaluated row. More...
 
real_type Dune::Amg::Dependency< M, N >::diagonal_
 The norm of the current diagonal. More...
 
const MatrixDune::Amg::SymmetricDependency< M, N >::matrix_
 The matrix we work on. More...
 
real_type Dune::Amg::SymmetricDependency< M, N >::maxValue_
 
Norm Dune::Amg::SymmetricDependency< M, N >::norm_
 The functor for calculating the norm. More...
 
int Dune::Amg::SymmetricDependency< M, N >::row_
 index of the currently evaluated row. More...
 
real_type Dune::Amg::SymmetricDependency< M, N >::diagonal_
 The norm of the current diagonal. More...
 
static const V Dune::Amg::AggregatesMap< V >::UNAGGREGATED
 Identifier of not yet aggregated vertices. More...
 
static const V Dune::Amg::AggregatesMap< V >::ISOLATED
 Identifier of isolated vertices. More...
 
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. More...
 
OperatorHierarchy::ParallelMatrixHierarchy::ConstIterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::matrix
 The iterator over the matrices. More...
 
ParallelInformationHierarchy::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::pinfo
 The iterator over the parallel information. More...
 
OperatorHierarchy::RedistributeInfoList::const_iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::redist
 The iterator over the redistribution information. More...
 
OperatorHierarchy::AggregatesMapList::const_iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::aggregates
 The iterator over the aggregates maps. More...
 
Hierarchy< Domain, A >::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::lhs
 The iterator over the left hand side. More...
 
Hierarchy< Domain, A >::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::update
 The iterator over the updates. More...
 
Hierarchy< Range, A >::Iterator Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::rhs
 The iterator over the right hand sided. More...
 
std::size_t Dune::Amg::AMG< M, X, S, PI, A >::LevelContext::level
 The level index. More...
 
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_
 
CollectiveCommunication< void * > Dune::Amg::SequentialCommunicationArgs::comm_
 
AggregateDune::Amg::OverlapVertex< T >::aggregate
 The aggregate the vertex belongs to. More...
 
Vertex Dune::Amg::OverlapVertex< T >::vertex
 The vertex descriptor. More...
 
int Dune::Amg::DefaultSmootherArgs< T >::iterations
 The numbe of iterations to perform. More...
 
RelaxationFactor Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor
 The relaxation factor to use. More...
 
const Matrix * Dune::Amg::DefaultConstructionArgs< T >::matrix_
 
Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap
 
bool Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::onthefly
 

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]

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 V >
typedef PoolAllocator<VertexDescriptor,100> Dune::Amg::AggregatesMap< V >::Allocator

The allocator we use for our lists and the set.

◆ Allocator [2/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.

◆ Arguments [1/16]

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

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

◆ Arguments [2/16]

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

◆ Arguments [3/16]

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

◆ Arguments [4/16]

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

◆ Arguments [5/16]

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 [6/16]

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 [7/16]

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 [8/16]

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

◆ Arguments [9/16]

template<class M , class X , class Y >
typedef DefaultConstructionArgs<SeqILU0<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::Arguments

◆ Arguments [10/16]

template<class M , class X , class Y >
typedef ConstructionArgs<SeqILUn<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::Arguments

◆ Arguments [11/16]

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

◆ Arguments [12/16]

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

◆ Arguments [13/16]

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

◆ Arguments [14/16]

◆ Arguments [15/16]

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

◆ Arguments [16/16]

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

◆ 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::SymmetricMatrixDependency< M, N >::ColIter

Constant column iterator of the matrix.

◆ ColIter [2/3]

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

Constant column iterator of the matrix.

◆ ColIter [3/3]

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

Constant column iterator of the matrix.

◆ const_iterator [1/2]

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

◆ const_iterator [2/2]

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

Const iterator over a vertex list.

◆ 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 , int l>
typedef Smoother::domain_type Dune::Amg::SmootherApplier< 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< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Domain

◆ Domain [5/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 [6/6]

template<class M , class X , class MS , class TA >
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::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::SymmetricMatrixDependency< M, N >::field_type
protected

The current max value.

◆ field_type [2/4]

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

The current max value.

◆ 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 Matrix , class Vector >
typedef Matrix :: field_type Dune::Amg::DirectSolverSelector< Matrix, Vector >::field_type

◆ GlobalIndex [1/3]

template<typename T , typename TI >
typedef ParallelIndexSet::GlobalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::GlobalIndex

◆ GlobalIndex [2/3]

template<typename T , typename TI >
typedef ParallelIndexSet::GlobalIndex Dune::Amg::AggregatesGatherScatter< T, TI >::GlobalIndex

◆ GlobalIndex [3/3]

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

The type of the global index.

◆ GlobalLookupIndexSet [1/2]

template<typename T , typename O , typename T1 , typename T2 >
typedef ParallelInformation::GlobalLookupIndexSet Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::GlobalLookupIndexSet

◆ GlobalLookupIndexSet [2/2]

◆ Graph [1/2]

template<typename G , std::size_t i>
typedef G Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Graph

The type of the graph with internal properties.

◆ Graph [2/2]

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

The type of the graph.

◆ IndexedType [1/2]

template<typename T , typename TI >
typedef ParallelIndexSet::GlobalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::IndexedType

◆ IndexedType [2/2]

template<typename T , typename TI >
typedef Amg::GlobalAggregatesMap<T,TI>::IndexedType Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::IndexedType

◆ IndexedTypeFlag

template<typename T , typename TI >
typedef SizeOne Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::IndexedTypeFlag

◆ IndexSet

template<typename T , typename O , typename T1 , typename T2 >
typedef ParallelInformation::ParallelIndexSet Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::IndexSet

◆ 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 [1/2]

template<typename T , typename TI >
typedef ParallelIndexSet::LocalIndex Dune::Amg::GlobalAggregatesMap< T, TI >::LocalIndex

◆ LocalIndex [2/2]

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::SymmetricMatrixDependency< M, N >::Matrix

The matrix type we build the dependency of.

◆ Matrix [2/3]

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

The matrix type we build the dependency of.

◆ Matrix [3/3]

template<class M , class N >
typedef M Dune::Amg::SymmetricDependency< 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::SymmetricMatrixDependency< M, N >::Norm

The norm to use for examining the matrix entries.

◆ Norm [2/3]

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

The norm to use for examining the matrix entries.

◆ Norm [3/3]

template<class M , class N >
typedef N Dune::Amg::SymmetricDependency< 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.

◆ OverlapFlags

template<typename T , typename O , typename T1 , typename T2 >
typedef O Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::OverlapFlags

◆ ParallelIndexSet [1/3]

template<typename T , typename TI >
typedef TI Dune::Amg::GlobalAggregatesMap< T, TI >::ParallelIndexSet

◆ ParallelIndexSet [2/3]

template<typename T , typename TI >
typedef TI Dune::Amg::AggregatesGatherScatter< T, TI >::ParallelIndexSet

◆ ParallelIndexSet [3/3]

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

◆ ParallelInformation [1/5]

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/5]

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

◆ ParallelInformation [3/5]

template<typename T , typename O , typename T1 , typename T2 >
typedef OwnerOverlapCopyCommunication<T1,T2> Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::ParallelInformation

◆ ParallelInformation [4/5]

◆ ParallelInformation [5/5]

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 , int l>
typedef Smoother::range_type Dune::Amg::SmootherApplier< 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< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::Range

◆ Range [5/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 [6/6]

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

◆ real_type [1/3]

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

◆ real_type [2/3]

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

◆ real_type [3/3]

template<class M , class N >
typedef FieldTraits<field_type>::real_type Dune::Amg::SymmetricDependency< 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 T 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::SymmetricMatrixDependency< M, N >::Row

Constant Row iterator of the matrix.

◆ Row [2/3]

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

Constant Row iterator of the matrix.

◆ Row [3/3]

template<class M , class N >
typedef Matrix::row_type Dune::Amg::SymmetricDependency< 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]

◆ Set

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

The type of the connected set.

◆ 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 , int l>
typedef SeqSOR<M,X,Y,l> Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Smoother

◆ Smoother [4/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 [5/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 [6/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

◆ 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 [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

◆ Type [1/2]

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 [2/2]

template<typename T , typename TI >
typedef Amg::AggregatesMap<T> Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::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/10]

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

The vertex descriptor type.

◆ Vertex [2/10]

The vertex identifier.

◆ Vertex [3/10]

template<typename G , std::size_t i>
typedef G::VertexDescriptor Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Vertex

The vertex descriptor.

◆ Vertex [4/10]

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

The vertex descriptor.

◆ Vertex [5/10]

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 [6/10]

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

◆ Vertex [7/10]

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

◆ Vertex [8/10]

template<typename T , typename TI >
typedef T Dune::Amg::GlobalAggregatesMap< T, TI >::Vertex

◆ Vertex [9/10]

template<typename T , typename O , typename T1 , typename T2 >
typedef T Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::Vertex

◆ Vertex [10/10]

template<typename T , typename O >
typedef T Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::Vertex

◆ 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<int N>
anonymous enum
Enumerator
is_sign_preserving 

◆ anonymous enum

anonymous enum
Enumerator
is_sign_preserving 

◆ anonymous enum

anonymous enum
Enumerator
is_sign_preserving 

◆ anonymous enum

anonymous enum
Enumerator
is_sign_preserving 

◆ anonymous enum

anonymous enum

Flags of the link.

Enumerator
INFLUENCE 
DEPEND 
SIZE 

◆ anonymous enum

anonymous enum
Enumerator
ISOLATED 
VISITED 
FRONT 
BORDER 
SIZE 

◆ 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
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

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

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

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
argsThe 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
argsThe 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
graphThe matrix graph we work on.
aggregatesThe mapping of vertices onto aggregates.
connectivityThe 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
noVerticesThe 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

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
aggregatesThe aggregate numbers of the vertices.
aggregateThe id of the aggregate to visit.
visitorThe 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
noVerticesThe 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
fineOperatorThe operator on the fine level.
criterionThe criterion describing the coarsening strategy. E. g. SymmetricCriterion or UnsymmetricCriterion, and providing the parameters.
smootherArgsThe arguments for constructing the smoothers.
pinfoThe 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
matricesThe already set up matix hierarchy.
coarseSolverThe set up solver to use on the coarse grid, must match the coarse matrix in the matrix hierarchy.
smootherArgsThe arguments needed for thesmoother to use for pre and post smoothing.
parmsThe 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
fineOperatorThe operator on the fine level.
configurationParameterTree containing AMG parameters.
pinfoOptionally, 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.
prolongationDampingFactor Damping factor for the prolongation.
alpha Scaling avlue for marking connections as strong.
beta Treshold 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

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 $ v = M^{-1} d $ where $ M $ is the approximate inverse of the operator $ A $ characterizing the preconditioner.

Parameters
[out]vThe update to be computed
dThe 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 
)
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 $ v = M^{-1} d $ where $ M $ is the approximate inverse of the operator $ A $ characterizing the preconditioner.

Parameters
[out]vThe update to be computed
dThe current defect.

Implements Dune::Preconditioner< X, X >.

◆ 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 V >
iterator Dune::Amg::AggregatesMap< V >::begin ( )
inline

◆ begin() [2/3]

template<class V >
const_iterator Dune::Amg::AggregatesMap< V >::begin ( ) const
inline

◆ begin() [3/3]

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

get an iterator over the vertices of the aggregate.

◆ 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
resetIf true the visited flags of the vertices will be reset after the search
GThe type of the graph we perform the search on
FThe type of the visitor to operate on the vertices
Parameters
startThe vertex where the search should start from. This does not need to belong to the aggregate.
aggregateThe aggregate id.
graphThe matrix graph to perform the search on.
visitedMapA map to mark the already visited vertices
aggregateVisitorA 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
LA container type providing push_back(Vertex), and pop_front() in case remove is true
removeIf true the entries in the visited list will be removed.
resetIf true the visited flag will be reset after the search
Parameters
startThe vertex where the search should start from. This does not need to belong to the aggregate.
aggregateThe aggregate id.
graphThe matrix graph to perform the search on.
visitedA list to store the visited vertices in.
aggregateVisitorA functor that is called with each G::ConstEdgeIterator with an edge pointing to the aggregate. Use DummyVisitor these are of no interest.
nonAggregateVisitorA functor that is called with each G::ConstEdgeIterator with an edge pointing to another aggregate. Use DummyVisitor these are of no interest.
visitedMapA 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
CThe type of the coarsening Criterion to use
Parameters
mThe matrix to build the aggregates accordingly.
graphA (sub) graph of the matrix.
aggregatesAggregate map we will build. All entries should be initialized to UNAGGREGATED!
cThe coarsening criterion to use.
finestLevelWhether 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 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.

◆ build() [3/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
fineGraphThe graph of the fine matrix.
visitedMapMap for marking vertices as visited.
pinfoParallel information about the fine level.
aggregatesThe mapping of the fine level unknowns onto aggregates.
sizeThe number of columns and rows of the coarse matrix.
copyThe attribute set identifying the copy nodes of the graph.

◆ build() [4/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
fineGraphThe graph of the fine matrix.
visitedMapMap for marking vertices as visited.
pinfoParallel information about the fine level.
aggregatesThe mapping of the fine level unknowns onto aggregates.
sizeThe number of columns and rows of the coarse matrix.
copyThe attribute set identifying the copy nodes of the graph.

◆ 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
matrixThe matrix describing the dependency.
graphThe graph corresponding to the matrix.
criterionThe aggregation criterion.
finestLevelWhether 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,
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
fineThe fine matrix.
aggregatesThe aggregate mapping.
coarseThe coarse Matrix.
pinfoParallel information about the fine level.
copyThe 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
inlinevirtual

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 
)
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 
)
inlinestatic

Build the coarse index set after the aggregatio.

Parameters
fineInfoThe parallel information at the fine level.
fineGraphThe graph of the fine lecel,
visitedMapMap for marking vertices as visited.
aggregatesThe mapping of unknowns onto aggregates.
coarseInfoThe information about the parallel data decomposition on the coarse level.
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 
)
inline

Constructor.

Parameters
maxLevelThe maximum number of levels allowed in the matrix hierarchy (default: 100).
coarsenTargetIf the number of nodes in the matrix is below this threshold the coarsening will stop (default: 1000).
minCoarsenRateIf the coarsening rate falls below this threshold the coarsening will stop (default: 1.2)
prolongDampThe damping factor to apply to the prolongated update (default: 1.6)
accumulateWhether to accumulate the data onto fewer processors on coarser levels.

◆ 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
smoothersThe smoother hierarchy to coarsen.
argsThe 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
hierarchyThe 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

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
aggregatesThe mapping of the vertices onto the aggregates.
graphThe graph to work on.
visitedMapThe map for marking vertices as visited
connectedThe 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
connectedThe set of connected aggregates.
aggregatesMapping of the vertices onto the aggregates.
aggregatesThe mapping of aggregates to vertices.

◆ connectSize()

template<class G , class S >
VertexSet::size_type Dune::Amg::Aggregate< G, S >::connectSize ( )

Get tne number of connections to other aggregates.

◆ construct() [1/13]

template<typename T >
static std::shared_ptr<T> Dune::Amg::ConstructionTraits< T >::construct ( Arguments args)
inlinestatic

Construct an object with the specified arguments.

In the default implementation the copy constructor is called.

Parameters
argsThe arguments for the construction.

◆ construct() [2/13]

template<class M , class X , class Y , int l>
static std::shared_ptr<SeqSSOR<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::construct ( Arguments args)
inlinestatic

◆ construct() [3/13]

template<class M , class X , class Y , int l>
static std::shared_ptr<SeqSOR<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::construct ( Arguments args)
inlinestatic

◆ construct() [4/13]

template<class M , class X , class Y , int l>
static std::shared_ptr<SeqJac<M,X,Y,l> > Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::construct ( Arguments args)
inlinestatic

◆ construct() [5/13]

template<class X , class Y >
static std::shared_ptr<Richardson<X,Y> > Dune::Amg::ConstructionTraits< Richardson< X, Y > >::construct ( Arguments args)
inlinestatic

◆ construct() [6/13]

template<class M , class X , class Y >
static std::shared_ptr<SeqILU0<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::construct ( Arguments args)
inlinestatic

◆ construct() [7/13]

template<class M , class X , class Y >
static std::shared_ptr<SeqILUn<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::construct ( Arguments args)
inlinestatic

◆ construct() [8/13]

template<class M , class X , class Y >
static std::shared_ptr<SeqILU<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILU< M, X, Y > >::construct ( Arguments args)
inlinestatic

◆ construct() [9/13]

template<class M , class X , class Y , class C >
static std::shared_ptr<ParSSOR<M,X,Y,C> > Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::construct ( Arguments args)
inlinestatic

◆ construct() [10/13]

template<class X , class Y , class C , class T >
static std::shared_ptr<BlockPreconditioner<X,Y,C,T> > Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::construct ( Arguments args)
inlinestatic

◆ construct() [11/13]

template<class C , class T >
static std::shared_ptr<NonoverlappingBlockPreconditioner<C,T> > Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::construct ( Arguments args)
inlinestatic

◆ construct() [12/13]

template<class M , class X , class TM , class TS , class TA >
static std::shared_ptr<SeqOverlappingSchwarz<M,X,TM,TS,TA> > Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::construct ( Arguments args)
inlinestatic

◆ construct() [13/13]

template<class T , class A >
static std::shared_ptr<BlockVector<T,A> > Dune::Amg::ConstructionTraits< BlockVector< T, A > >::construct ( Arguments n)
inlinestatic

◆ ConstructionArgs() [1/2]

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

◆ ConstructionArgs() [2/2]

template<class M , class X , class Y >
Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::ConstructionArgs ( int  n = 1)
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 >
template<class M , SolverType >
static type* Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::create ( const M &  mat,
bool  verbose,
bool  reusevector 
)
inlinestatic

◆ create() [2/3]

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

◆ create() [3/3]

template<class Matrix , class Vector >
static DirectSolver* Dune::Amg::DirectSolverSelector< Matrix, Vector >::create ( const Matrix mat,
bool  verbose,
bool  reusevector 
)
inlinestatic

◆ 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 wether 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 V >
iterator Dune::Amg::AggregatesMap< V >::end ( )
inline

◆ end() [2/3]

template<class V >
const_iterator Dune::Amg::AggregatesMap< V >::end ( ) const
inline

◆ end() [3/3]

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

get an iterator over the vertices of the aggregate.

◆ examine() [1/8]

template<class M , class N >
void Dune::Amg::SymmetricMatrixDependency< M, N >::examine ( const ColIter col)
inline

◆ examine() [2/8]

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

◆ examine() [3/8]

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

◆ examine() [4/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

◆ examine() [5/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() [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 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() [8/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

◆ 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

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 wether 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
frontThe list to store the front vertices in.
graphThe matrix graph we work on.

◆ FrontNeighbourCounter()

template<class G >
Dune::Amg::Aggregator< G >::FrontNeighbourCounter::FrontNeighbourCounter ( const MatrixGraph front)

Constructor.

Parameters
frontThe vertices of the front.

◆ gather()

template<typename T , typename TI >
static const GlobalIndex& Dune::Amg::AggregatesGatherScatter< T, TI >::gather ( const GlobalAggregatesMap< T, TI > &  ga,
size_t  i 
)
inlinestatic

◆ get()

template<typename T , typename TI >
GlobalIndex& Dune::Amg::GlobalAggregatesMap< T, TI >::get ( std::size_t  index)
inline

◆ 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
contThe 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 correcponding data[i] is the aggregate it belongs to on the coarsest level.

Parameters
[out]dataThe 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() [1/2]

template<class M , class X , class Y >
int Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::getN ( )
inline

◆ getN() [2/2]

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.

◆ getSize()

template<typename T , typename TI >
static int Dune::CommPolicy< Amg::GlobalAggregatesMap< T, TI > >::getSize ( const Type ,
int   
)
inlinestatic

◆ 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

◆ GlobalAggregatesMap()

template<typename T , typename TI >
Dune::Amg::GlobalAggregatesMap< T, TI >::GlobalAggregatesMap ( AggregatesMap< Vertex > &  aggregates,
const GlobalLookupIndexSet< ParallelIndexSet > &  indexset 
)
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

◆ 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
firststd::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 wether 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::SymmetricMatrixDependency< M, N >::init ( const Matrix matrix)
inline

◆ init() [2/3]

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

◆ init() [3/3]

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

◆ initRow() [1/3]

template<class M , class N >
void Dune::Amg::SymmetricMatrixDependency< M, N >::initRow ( const Row row,
int  index 
)
inline

◆ initRow() [2/3]

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

◆ initRow() [3/3]

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

◆ 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

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::SymmetricMatrixDependency< M, N >::isIsolated
inline

◆ isIsolated() [2/3]

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

◆ isIsolated() [3/3]

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

◆ isolated()

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

Checks wether the node is isolated.

◆ isOneWay()

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

Checks wether 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 wether the edge is strong. I.e. the influence or depends flag is set.

◆ isTwoWay()

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

Checks wether 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
fineOperatorThe operator on the fine level.
criterionThe criterion describing the coarsening strategy. E. g. SymmetricCriterion or UnsymmetricCriterion, and providing the parameters.
smootherArgsThe arguments for constructing the smoothers.
maxLevelKrylovStepsmaximum of krylov iterations on a particular level (default=3)
minDefectReductionminimal defect reduction during the krylov iterations on a particular level (default=1e-1)
pinfoThe 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
matricesThe already set up matix hierarchy.
coarseSolverThe set up solver to use on the coarse grid, must match the coarse matrix in the matrix hierarchy.
smootherArgsThe arguments needed for thesmoother to use for pre and post smoothing.
parmsThe parameters for the AMG.
maxLevelKrylovStepsmaximum of krylov iterations on a particular level (default=3)
minDefectReductionminimal 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

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

Get the number of levels in the hierarchy.

Returns
The number of levels.

◆ matrices()

template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::ParallelMatrixHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::matrices

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
fineMatrixThe matrix to coarsen.
pinfoThe 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

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 >
template<class M , SolverType >
static std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, SolverType >::name ( )
inlinestatic

◆ name() [2/3]

template<class Matrix , class Vector >
template<class M >
static std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::Solver< M, superlu >::name ( )
inlinestatic

◆ name() [3/3]

template<class Matrix , class Vector >
static std::string Dune::Amg::DirectSolverSelector< Matrix, Vector >::name ( )
inlinestatic

◆ noSubdomains() [1/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

◆ 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 >
template<class VM >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >::noSubdomains ( ) const
inline

◆ noVertices()

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

Get the number of vertices.

◆ operator()() [1/22]

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
edgeThe iterator positioned at the edge.

◆ operator()() [2/22]

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

◆ operator()() [3/22]

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()() [4/22]

template<class M >
FieldTraits<typename M::field_type>::real_type Dune::Amg::RowSum::operator() ( const M &  m) const
inline

compute the norm of a matrix.

Parameters
mThe matrix row to compute the norm of.

◆ operator()() [5/22]

template<class M >
FieldTraits<typename M::field_type>::real_type Dune::Amg::FrobeniusNorm::operator() ( const M &  m) const
inline

compute the norm of a matrix.

Parameters
mThe matrix row to compute the norm of.

◆ operator()() [6/22]

template<class M >
FieldTraits<typename M::field_type>::real_type Dune::Amg::AlwaysOneNorm::operator() ( const M &  m) const
inline

compute the norm of a matrix.

Parameters
mThe matrix row to compute the norm of.

◆ operator()() [7/22]

template<int N>
template<class M >
auto 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 scalar.

Parameters
mThe scalar to compute the norm of

◆ operator()() [8/22]

template<int N>
template<class M >
FieldTraits<typename M::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
mThe matrix to compute the norm of

◆ operator()() [9/22]

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

◆ operator()() [10/22]

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()() [11/22]

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 &  edge)
inline

◆ operator()() [12/22]

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/22]

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()() [14/22]

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()() [15/22]

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

◆ operator()() [16/22]

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

◆ operator()() [17/22]

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

◆ operator()() [18/22]

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

◆ operator()() [19/22]

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

◆ operator()() [20/22]

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

◆ operator()() [21/22]

template<typename TL , typename M >
std::shared_ptr<Dune::Preconditioner<typename Dune::TypeListElement<1, TL>::type, typename Dune::TypeListElement<2, TL>::type> > Dune::AMGCreator::operator() ( TL  tl,
const M &  mat,
const Dune::ParameterTree &  config,
std::enable_if_t< isValidBlockType< typename M::block_type >::value, int >  = 0 
) const
inline

◆ operator()() [22/22]

template<typename TL , typename M >
std::shared_ptr<Dune::Preconditioner<typename Dune::TypeListElement<1, TL>::type, typename Dune::TypeListElement<2, TL>::type> > Dune::AMGCreator::operator() ( TL  ,
const M &  ,
const Dune::ParameterTree &  ,
std::enable_if_t<!isValidBlockType< typename M::block_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=()

template<typename T , typename TI >
Proxy& Dune::Amg::GlobalAggregatesMap< T, TI >::Proxy::operator= ( const GlobalIndex global)
inline

◆ operator[]() [1/10]

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
keyThe key.
Returns
The corresponding property.

◆ operator[]() [2/10]

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
vertexThe vertex whose Properties we want.

◆ operator[]() [3/10]

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

Get the aggregate a vertex belongs to.

Parameters
vThe vertex we want to know the aggregate of.
Returns
The aggregate the vertex is mapped to.

◆ operator[]() [4/10]

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

Get the aggregate a vertex belongs to.

Parameters
vThe vertex we want to know the aggregate of.
Returns
The aggregate the vertex is mapped to.

◆ operator[]() [5/10]

template<typename T , typename TI >
Proxy Dune::Amg::GlobalAggregatesMap< T, TI >::operator[] ( std::size_t  index)
inline

◆ operator[]() [6/10]

template<typename T , typename TI >
const GlobalIndex& Dune::Amg::GlobalAggregatesMap< T, TI >::operator[] ( std::size_t  index) const
inline

◆ operator[]() [7/10]

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

Access the bits directly.

◆ operator[]() [8/10]

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

Access the bits directly.

◆ operator[]() [9/10]

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

Access the bits directly.

◆ operator[]() [10/10]

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

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 
)
inline

Constructor.

Parameters
maxLevelThe maximum number of levels allowed in the matrix hierarchy (default: 100).
coarsenTargetIf the number of nodes in the matrix is below this threshold the coarsening will stop (default: 1000).
minCoarsenRateIf the coarsening rate falls below this threshold the coarsening will stop (default: 1.2)
prolongDampThe damping factor to apply to the prolongated update (default: 1.6)
accumulateWhether 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
xThe 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)
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
xThe right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

◆ postsmooth()

template<typename LevelContext >
void Dune::Amg::postsmooth ( LevelContext &  levelContext,
size_t  steps 
)

Apply post smoothing on the current level.

Parameters
levelContextthe iterators of the current level.
stepsThe number of smoothing steps to apply.

◆ postSmooth() [1/5]

template<class T >
static void Dune::Amg::SmootherApplier< T >::postSmooth ( Smoother smoother,
Domain v,
const Range d 
)
inlinestatic

apply post smoothing in forward direction

Parameters
smootherThe smoother to use.
dThe current defect.
vhandle to store the update in.

◆ postSmooth() [2/5]

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

◆ postSmooth() [3/5]

template<class M , class X , class Y , int l>
static void Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::postSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ postSmooth() [4/5]

template<class M , class X , class Y , class C , int l>
static void Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::postSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ postSmooth() [5/5]

template<class M , class X , class Y , class C , int l>
static void Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::postSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ 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 mangement.
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
xThe left hand side of the equation.
bThe 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 
)
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 mangement.
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
xThe left hand side of the equation.
bThe right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

◆ presmooth()

template<typename LevelContext >
void Dune::Amg::presmooth ( LevelContext &  levelContext,
size_t  steps 
)

Apply pre smoothing on the current level.

Parameters
levelContextthe iterators of the current level.
stepsThe number of smoothing steps to apply.

◆ preSmooth() [1/5]

template<class T >
static void Dune::Amg::SmootherApplier< T >::preSmooth ( Smoother smoother,
Domain v,
const Range d 
)
inlinestatic

apply pre smoothing in forward direction

Parameters
smootherThe smoother to use.
dThe current defect.
vhandle to store the update in.

◆ preSmooth() [2/5]

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

◆ preSmooth() [3/5]

template<class M , class X , class Y , int l>
static void Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::preSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ preSmooth() [4/5]

template<class M , class X , class Y , class C , int l>
static void Dune::Amg::SmootherApplier< BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > >::preSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ preSmooth() [5/5]

template<class M , class X , class Y , class C , int l>
static void Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::preSmooth ( Smoother smoother,
Domain v,
Range d 
)
inlinestatic

◆ 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 >
template<typename T >
void Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongateVector ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
Vector fine,
damp,
const SequentialInformation comm 
)
inline

◆ 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,
T3  damp,
OwnerOverlapCopyCommunication< T1, T2 > &  comm 
)
inlinestatic

◆ 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,
Vector fineRedist,
damp,
const SequentialInformation comm,
const Redist redist 
)
inline

◆ prolongateVector() [4/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 
)
inlinestatic

◆ 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
gThe graph whose properties we access.

◆ Proxy()

template<typename T , typename TI >
Dune::Amg::GlobalAggregatesMap< T, TI >::Proxy::Proxy ( const GlobalLookupIndexSet< ParallelIndexSet > &  indexset,
Vertex aggregate 
)
inline

◆ publish() [1/2]

template<typename T , typename O , typename T1 , typename T2 >
static void Dune::Amg::AggregatesPublisher< T, O, OwnerOverlapCopyCommunication< T1, T2 > >::publish ( AggregatesMap< Vertex > &  aggregates,
ParallelInformation pinfo,
const GlobalLookupIndexSet globalLookup 
)
inlinestatic

◆ publish() [2/2]

template<typename T , typename O >
static void Dune::Amg::AggregatesPublisher< T, O, SequentialInformation >::publish ( AggregatesMap< Vertex > &  aggregates,
ParallelInformation pinfo,
const GlobalLookupIndexSet globalLookup 
)
inlinestatic

◆ put()

template<typename T , typename TI >
void Dune::Amg::GlobalAggregatesMap< T, TI >::put ( const GlobalIndex global,
size_t  i 
)
inline

◆ 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
containerThe 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 agggregate and reference those.

◆ redistributeInformation()

template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::RedistributeInfoList & Dune::Amg::MatrixHierarchy< M, IS, A >::redistributeInformation

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]

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

Reset all flags.

◆ reset() [3/3]

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

◆ 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 >
void Dune::Amg::Transfer< V, V1, SequentialInformation >::restrictVector ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
const Vector fine,
const SequentialInformation comm 
)
inlinestatic

◆ restrictVector() [2/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 
)
inlinestatic

◆ scatter()

template<typename T , typename TI >
static void Dune::Amg::AggregatesGatherScatter< T, TI >::scatter ( GlobalAggregatesMap< T, TI > &  ga,
GlobalIndex  global,
size_t  i 
)
inlinestatic

◆ 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 ( CollectiveCommunication< void * >  comm,
int  cat 
)
inline

◆ set() [1/2]

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

◆ set() [2/2]

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

◆ setAccumulate() [1/2]

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

Set whether he 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
additiveTrue if multigrid should be additive.

◆ setAggregate() [1/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

◆ 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 aggregate_)
inline

◆ setAggregate() [3/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

◆ 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 , class C = SequentialInformation>
void Dune::Amg::DefaultParallelConstructionArgs< T, C >::setComm ( const C &  comm)
inline

◆ setComm() [2/3]

template<class T >
template<class T1 >
void Dune::Amg::DefaultConstructionArgs< T >::setComm ( T1 &  comm)
inline

◆ setComm() [3/3]

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

◆ setDebugLevel()

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

Set the debugging level.

Parameters
levelIf 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
dimThe dimension of the problem.
diameterThe 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
dimThe dimension of the problem.
diameterThe 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
dimThe dimension of the problem.
diameterThe 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
dimThe dimension of the problem.
diameterThe 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 X , class Y >
template<class... Args>
void Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::setMatrix ( const Args &  ...)
inline

◆ setMatrix() [2/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() [3/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 
)
inlinevirtual

◆ setMatrix() [4/5]

template<class T >
void Dune::Amg::DefaultConstructionArgs< T >::setMatrix ( const Matrix &  matrix)
inline

◆ setMatrix() [5/5]

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

◆ 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
sizeThe 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
connectivityThe 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
distanceThe 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.

Returns
The minimum number of nodes.

◆ 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() [1/2]

template<class M , class X , class Y >
void Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::setN ( int  n)
inline

◆ setN() [2/2]

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
stepsThe number of steps:

◆ setNoPreSmoothSteps()

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

Set the number of presmoothing steps to apply.

Parameters
stepsThe number of steps:

◆ setProlongationDampingFactor()

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

Set the damping factor for the prolongation.

Parameters
dThe 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
skipTrue if these aggregates will be skipped.

◆ setVisited()

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

Mark the node as already visited.

◆ size()

template<class G , class S >
VertexSet::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
matrixThe 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

◆ usesDirectCoarseLevelSolver()

template<class M , class X , class S , class PI , class A >
bool Dune::Amg::AMG< M, X, S, PI, A >::usesDirectCoarseLevelSolver

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 wether 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
graphThe graph whose vertices to visit.
vertexThe vertex whose neighbours we want to visit.
visitorThe 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 ( )
inlinevirtual

◆ ~DefaultConstructionArgs() [2/2]

template<class X , class Y >
virtual Dune::Amg::DefaultConstructionArgs< Richardson< X, Y > >::~DefaultConstructionArgs ( )
inlinevirtual

◆ ~DefaultParallelConstructionArgs()

template<class T , class C = SequentialInformation>
virtual Dune::Amg::DefaultParallelConstructionArgs< T, C >::~DefaultParallelConstructionArgs ( )
inlinevirtual

◆ ~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]

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

◆ comm_ [2/3]

MPI_Comm Dune::Amg::OwnerOverlapCopyCommunicationArgs::comm_

◆ comm_ [3/3]

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

◆ diagonal_ [1/3]

template<class M , class N >
real_type Dune::Amg::SymmetricMatrixDependency< M, N >::diagonal_
protected

The norm of the current diagonal.

◆ diagonal_ [2/3]

template<class M , class N >
real_type Dune::Amg::Dependency< M, N >::diagonal_
protected

The norm of the current diagonal.

◆ diagonal_ [3/3]

template<class M , class N >
real_type Dune::Amg::SymmetricDependency< M, N >::diagonal_
protected

The norm of the current diagonal.

◆ isDirectSolver

template<class Matrix , class Vector >
constexpr bool Dune::Amg::DirectSolverSelector< Matrix, Vector >::isDirectSolver = solver != none
staticconstexpr

◆ 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 numbe 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 M , class N >
const Matrix* Dune::Amg::SymmetricMatrixDependency< M, N >::matrix_
protected

The matrix we work on.

◆ 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 N >
const Matrix* Dune::Amg::SymmetricDependency< M, N >::matrix_
protected

The matrix we work on.

◆ matrix_ [4/5]

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

◆ matrix_ [5/5]

template<class T >
const Matrix* Dune::Amg::DefaultConstructionArgs< T >::matrix_
protected

◆ maxValue_ [1/3]

template<class M , class N >
real_type Dune::Amg::SymmetricMatrixDependency< M, N >::maxValue_
protected

◆ maxValue_ [2/3]

template<class M , class N >
real_type Dune::Amg::Dependency< M, N >::maxValue_
protected

◆ maxValue_ [3/3]

template<class M , class N >
real_type Dune::Amg::SymmetricDependency< M, N >::maxValue_
protected

◆ norm_ [1/3]

template<class M , class N >
Norm Dune::Amg::SymmetricMatrixDependency< M, N >::norm_
protected

The functor for calculating the norm.

◆ norm_ [2/3]

template<class M , class N >
Norm Dune::Amg::Dependency< M, N >::norm_
protected

The functor for calculating the norm.

◆ norm_ [3/3]

template<class M , class N >
Norm Dune::Amg::SymmetricDependency< 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::SymmetricMatrixDependency< M, N >::row_
protected

index of the currently evaluated row.

◆ row_ [2/3]

template<class M , class N >
int Dune::Amg::Dependency< M, N >::row_
protected

index of the currently evaluated row.

◆ row_ [3/3]

template<class M , class N >
int Dune::Amg::SymmetricDependency< 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 >
constexpr SolverType Dune::Amg::DirectSolverSelector< Matrix, Vector >::solver
staticconstexpr
Initial value:
=
@ superlu
Definition: amg.hh:443

◆ 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.