dune-istl  2.2.0
Classes | Files | Typedefs | Enumerations | Enumerator | Functions | Variables | Friends
Parallel Algebraic Multigrid
Preconditioners

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

Classes

class  Dune::Amg::AggregationCriterion< T >
 Base class of all aggregation criterions. 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 suited for unsymmetric matrices. 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::Aggregator< G >
 Class for building the aggregates. More...
class  Dune::Amg::Aggregator< G >::Stack
 Stack.
class  Dune::Amg::Aggregator< G >::AggregateVisitor< V >
 An Adaptor for vsitors that only evaluates edges pointing to a specific aggregate.
class  Dune::Amg::Aggregator< G >::Counter
 A simple counter functor.
class  Dune::Amg::Aggregator< G >::FrontNeighbourCounter
 Counts the number of edges to vertices belonging to the aggregate front.
class  Dune::Amg::Aggregator< G >::TwoWayCounter
 Counter of TwoWayConnections.
class  Dune::Amg::Aggregator< G >::OneWayCounter
 Counter of OneWayConnections.
class  Dune::Amg::Aggregator< G >::ConnectivityCounter
 Connectivity counter.
class  Dune::Amg::Aggregator< G >::DependencyCounter
 Counts the edges depending on the dependency.
class  Dune::Amg::Aggregator< G >::FrontMarker
 Adds the targets of each edge to the list of front vertices.
class  Dune::Amg::AMG< M, X, S, PI, A >
 Parallel algebraic multigrid based on agglomeration. More...
class  Dune::Amg::ConstructionTraits< T >
 Traits class for generically constructing non default constructable types. More...
class  Dune::Amg::ConstructionTraits< BlockVector< T > >
struct  Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >
struct  Dune::Amg::NonoverlappingOperatorArgs< 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 >
struct  Dune::Amg::GalerkinProduct< T >::OVLess< A >
class  Dune::Amg::GalerkinProduct< SequentialInformation >
struct  Dune::Amg::BaseConnectivityConstructor
class  Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >
 Visitor for identifying connected aggregates during a breadthFirstSearch. More...
struct  Dune::Amg::ConnectivityConstructor< G, T >
struct  Dune::Amg::ConnectivityConstructor< G, SequentialInformation >
struct  Dune::Amg::DirichletBoundarySetter< T >
struct  Dune::Amg::DirichletBoundarySetter< SequentialInformation >
class  Dune::Amg::MatrixGraph< M >
 The (undirected) graph of a matrix. More...
class  Dune::Amg::SubGraph< G, T >
 A subgraph of a graph. More...
class  Dune::Amg::VertexPropertiesGraph< G, VP, VM >
 Attaches properties to the vertices of a graph. More...
class  Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >
 Attaches properties to the edges and vertices of a graph. More...
class  Dune::Amg::GraphVertexPropertiesSelector< G >
 Wrapper to access the internal edge properties of a graph via operator[]() More...
class  Dune::Amg::GraphEdgePropertiesSelector< G >
 Wrapper to access the internal vertex properties of a graph via operator[]() More...
class  Dune::Amg::Hierarchy< T, A >
 A hierarchy of coantainers (e.g. matrices or vectors) 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::IndicesCoarsener< T, E >
class  Dune::Amg::ParallelIndicesCoarsener< T, E >
class  Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >
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::KAmgTwoGrid< AMG >
 Two grid operator for AMG with Krylov cycle. More...
class  Dune::Amg::KAMG< M, X, S, PI, K, A >
 an algebraic multigrid method using a Krylov-cycle. 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< 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 >
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< SeqILU0< M, X, Y > >
 Policy for the construction of the SeqILUn smoother. More...
class  Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >
struct  Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >
 Policy for the construction of the SeqJac 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::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::VertexAdder
struct  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::NoneAdder
struct  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder< VM >
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 > >

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


Typedefs

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

Enumerations

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

Functions

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

Variables

const Matrix * Dune::Amg::Dependency< M, N >::matrix_
 The matrix we work on.
Matrix::field_type Dune::Amg::Dependency< M, N >::maxValue_
 The current max value.
Norm Dune::Amg::Dependency< M, N >::norm_
 The functor for calculating the norm.
int Dune::Amg::Dependency< M, N >::row_
 index of the currently evaluated row.
Matrix::field_type Dune::Amg::Dependency< M, N >::diagonal_
 The norm of the current diagonal.
const Matrix * Dune::Amg::SymmetricDependency< M, N >::matrix_
 The matrix we work on.
Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::maxValue_
 The current max value.
Norm Dune::Amg::SymmetricDependency< M, N >::norm_
 The functor for calculating the norm.
int Dune::Amg::SymmetricDependency< M, N >::row_
 index of the currently evaluated row.
Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::diagonal_
 The norm of the current diagonal.
static const V Dune::Amg::AggregatesMap< V >::UNAGGREGATED
 Identifier of not yet aggregated vertices.
static const V Dune::Amg::AggregatesMap< V >::ISOLATED
 Identifier of isolated vertices.
static const Vertex Dune::Amg::Aggregator< G >::Stack::NullEntry
M * Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::matrix_
C * Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::comm_
M * Dune::Amg::NonoverlappingOperatorArgs< M, C >::matrix_
C * Dune::Amg::NonoverlappingOperatorArgs< M, C >::comm_
MPI_Comm Dune::Amg::OwnerOverlapCopyCommunicationArgs::comm_
SolverCategory::Category Dune::Amg::OwnerOverlapCopyCommunicationArgs::cat_
CollectiveCommunication< void * > Dune::Amg::SequentialCommunicationArgs::comm_
Aggregate * Dune::Amg::OverlapVertex< T >::aggregate
 The aggregate the vertex belongs to.
Vertex Dune::Amg::OverlapVertex< T >::vertex
 The vertex descriptor.
int Dune::Amg::DefaultSmootherArgs< T >::iterations
 The numbe of iterations to perform.
RelaxationFactor Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor
 The relaxation factor to use.
const Matrix * Dune::Amg::DefaultConstructionArgs< T >::matrix_
Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap
bool Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::onthefly

Friends

class Dune::Amg::Aggregator< G >::Stack
class Dune::Amg::AMG< M, X, S, PI, A >::KAMG
class Dune::Amg::AMG< M, X, S, PI, A >::KAmgTwoGrid< AMG >
std::ostream & Dune::Amg::EdgeProperties::operator<< (std::ostream &os, const EdgeProperties &props)
std::ostream & Dune::Amg::VertexProperties::operator<< (std::ostream &os, const VertexProperties &props)

Detailed Description

A Parallel Algebraic Multigrid based on Agglomeration.


Typedef Documentation

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

The aggregate descriptor.

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

The aggregate descriptor type.

template<class M , class X , class TM , class TS , class TA >
typedef AggregatesMap::AggregateDescriptor Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateDescriptor
template<class G>
typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::AggregateDescriptor

The type of the aggregate descriptor.

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

The allocator we use for our lists and the set.

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.

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

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

template<class T>
typedef DefaultSmootherArgs<typename T::matrix_type::field_type> Dune::Amg::SmootherTraits< T >::Arguments
template<class X , class Y , class C , class T >
typedef DefaultSmootherArgs<typename T::matrix_type::field_type> Dune::Amg::SmootherTraits< BlockPreconditioner< X, Y, C, T > >::Arguments
template<class T >
typedef const int Dune::Amg::ConstructionTraits< BlockVector< T > >::Arguments
template<class C , class T >
typedef DefaultSmootherArgs<typename T::matrix_type::field_type> Dune::Amg::SmootherTraits< NonoverlappingBlockPreconditioner< C, T > >::Arguments
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
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
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
template<class M , class X , class Y >
typedef DefaultConstructionArgs<SeqILU0<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::Arguments
template<class M , class X , class Y >
typedef ConstructionArgs<SeqILUn<M,X,Y> > Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::Arguments
template<class M , class X , class Y , class C >
typedef DefaultParallelConstructionArgs<M,C> Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::Arguments
template<class X , class Y , class C , class T >
typedef DefaultParallelConstructionArgs<T,C> Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::Arguments
template<class C , class T >
typedef DefaultParallelConstructionArgs<T,C> Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::Arguments
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
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
template<typename T, typename E>
typedef LocalIndex::Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::Attribute

The type of the attribute.

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

The type of the bitset.

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.

template<typename G , std::size_t i>
typedef ReadWritePropertyMapTag Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Category
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.

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

Constant column iterator of the matrix.

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

Constant column iterator of the matrix.

template<class V>
typedef const AggregateDescriptor* Dune::Amg::AggregatesMap< V >::const_iterator
template<class G, class S>
typedef VertexList::const_iterator Dune::Amg::Aggregate< G, S >::const_iterator

Const iterator over a vertex list.

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

The constant edge iterator.

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.

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

The policy for calculating the dependency graph.

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.

template<class T >
typedef Smoother::domain_type Dune::Amg::SmootherApplier< T >::Domain
template<class M , class X , class Y , int l>
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Domain
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
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
template<class M , class X , class MS , class TA >
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Domain
template<typename T, typename E>
typedef E Dune::Amg::ParallelIndicesCoarsener< T, E >::ExcludedAttributes

The set of excluded attributes.

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

The type of the global index.

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

The type of the graph.

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

The type of the graph with internal properties.

template<class V>
typedef AggregateDescriptor* Dune::Amg::AggregatesMap< V >::iterator
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.

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

The type of the local index.

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

The matrix type we build the dependency of.

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

The matrix type we build the dependency of.

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

The matrix graph type used.

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

The norm to use for examining the matrix entries.

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

The norm to use for examining the matrix entries.

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.

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.

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

The type of the parallel information.

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.

template<class T>
typedef T Dune::Amg::GalerkinProduct< T >::ParallelInformation
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.

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.

template<class T >
typedef Smoother::range_type Dune::Amg::SmootherApplier< T >::Range
template<class M , class X , class Y , int l>
typedef Smoother::range_type Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Range
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
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
template<class M , class X , class MS , class TA >
typedef Smoother::range_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > >::Range
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.

template<typename G , std::size_t i>
typedef BitSet::reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::Reference

The reference type.

template<class T >
typedef T Dune::Amg::DefaultSmootherArgs< T >::RelaxationFactor

The type of the relaxation factor.

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

The type of the remote indices.

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

Constant Row iterator of the matrix.

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

Constant Row iterator of the matrix.

template<class X , class Y , class C , class T >
typedef ConstructionTraits<T> Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::SeqConstructionTraits
template<class C , class T >
typedef ConstructionTraits<T> Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::SeqConstructionTraits
template<class G, class S, class V>
typedef S Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Set

The type of the connected set.

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.

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

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.

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
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
template<typename G , std::size_t i>
typedef bool Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::ValueType

The value type.

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
template<class T>
typedef T Dune::Amg::OverlapVertex< T >::Vertex

The vertex descriptor.

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

The vertex descriptor of the graph.

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

The vertex descriptor.

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

The vertex descriptor type.

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

The vertex identifier.

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

The vertex descriptor type.

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
template<class V>
typedef SLList<VertexDescriptor,Allocator> Dune::Amg::AggregatesMap< V >::VertexList

The type of a single linked list of vertex descriptors.

template<class G, class S>
typedef SLList<Vertex,Allocator> Dune::Amg::Aggregate< G, S >::VertexList

The type of a single linked list of vertex descriptors.

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

The type of a single linked list of vertex descriptors.

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.

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

The type of the adapted visitor.


Enumeration Type Documentation

template<int N>
anonymous enum
Enumerator:
is_sign_preserving 
anonymous enum
Enumerator:
is_sign_preserving 
anonymous enum
Enumerator:
is_sign_preserving 
anonymous enum
Enumerator:
is_sign_preserving 
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
anonymous enum
Enumerator:
category 

The solver category.

anonymous enum

Flags of the link.

Enumerator:
INFLUENCE 
DEPEND 
SIZE 
anonymous enum
Enumerator:
ISOLATED 
VISITED 
FRONT 
BORDER 
SIZE 
template<typename G , std::size_t i>
anonymous enum
Enumerator:
index 

the index to access in the bitset.

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.

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.

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 on process at once.

Once no further coarsening is possible all data will be accumulated to one process

successiveAccu 

Successively accumulate to fewer processes.

Enumerator:
vertex 
aggregate 
pairwise 
none 

Function Documentation

AccumulationMode Dune::Amg::CoarseningParameters::accumulate ( ) const [inline]

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

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

Add a vertex to the aggregate.

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.

References Dune::Amg::ConstructionTraits< T >::construct().

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother().

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.

References Dune::Amg::ConstructionTraits< T >::construct().

template<class T , class A >
void Dune::Amg::Hierarchy< T, A >::addRedistributedOnCoarsest ( Arguments args)
template<class G, class S>
Dune::Amg::Aggregate< G, S >::Aggregate ( const MatrixGraph graph,
AggregatesMap< Vertex > &  aggregates,
VertexSet connectivity 
)

Constructor.

Parameters:
graphThe matrix graph we work on.
aggregatesThe mapping of vertices onto aggregates.
connectivityThe set of vertices connected to the aggregate. distance spheres.
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]
template<class V>
Dune::Amg::AggregatesMap< V >::AggregatesMap ( )

Constructs without allocating memory.

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.
template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::AggregatesMapList & Dune::Amg::MatrixHierarchy< M, IS, A >::aggregatesMaps ( ) const

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

Returns:
The hierarchy of the mappings of the nodes onto aggregates.
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.
template<class T>
Dune::Amg::AggregationCriterion< T >::AggregationCriterion ( ) [inline]

Constructor.

The paramters 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

template<class T>
Dune::Amg::AggregationCriterion< T >::AggregationCriterion ( const Parameters parms) [inline]

Constructor.

The paramters 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

template<class G>
Dune::Amg::Aggregator< G >::Aggregator ( )

Constructor.

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.
double Dune::Amg::DependencyParameters::alpha ( ) const [inline]

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

template<class M , class X , class S , class PI , class A >
Dune::Amg::AMG< M, X, S, PI, A >::AMG ( const OperatorHierarchy matrices,
CoarseSolver coarseSolver,
const SmootherArgs smootherArgs,
std::size_t  gamma,
std::size_t  preSmoothingSteps,
std::size_t  postSmoothingSteps,
bool  additive = false 
)

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 hierachy.
smootherArgsThe arguments needed for thesmoother to use for pre and post smoothing
gammaThe number of subcycles. 1 for V-cycle, 2 for W-cycle.
preSmoothingStepsThe number of smoothing steps for premoothing.
postSmoothingStepsThe number of smoothing steps for postmoothing.
Deprecated:
Use constructor AMG(const OperatorHierarchy&, CoarseSolver&, const SmootherArgs, const Parameters&) instead. All parameters can be set in the criterion!
Deprecated:

References Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother(), and Dune::Amg::MatrixHierarchy< M, PI, A >::isBuilt().

template<class M , class X , class S , class PI , class A >
Dune::Amg::AMG< M, X, S, PI, A >::AMG ( const 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 hierachy.
smootherArgsThe arguments needed for thesmoother to use for pre and post smoothing.
parmsThe parameters for the AMG.

References Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother(), and Dune::Amg::MatrixHierarchy< M, PI, A >::isBuilt().

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,
std::size_t  gamma,
std::size_t  preSmoothingSteps,
std::size_t  postSmoothingSteps,
bool  additive = false,
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.
smootherArgsThe arguments for constructing the smoothers.
gamma1 for V-cycle, 2 for W-cycle
preSmoothingStepsThe number of smoothing steps for premoothing.
postSmoothingStepsThe number of smoothing steps for postmoothing.
pinfoThe information about the parallel distribution of the data.
Deprecated:
Use AMG(const Operator&, const C&, const SmootherArgs, const ParallelInformation) instead. All parameters can be set in the criterion!
Deprecated:

References Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother(), Dune::Amg::Hierarchy< T, A >::finest(), Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels(), and Dune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation().

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

References Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother(), Dune::Amg::Hierarchy< T, A >::finest(), Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels(), and Dune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation().

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

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 x,
const Range b 
) [virtual]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute ( const Attribute attribute) [inline]
template<typename T, typename E>
template<typename G , typename I >
Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute ( ) [inline]
template<class V>
const_iterator Dune::Amg::AggregatesMap< V >::begin ( ) const [inline]
template<class V>
iterator Dune::Amg::AggregatesMap< V >::begin ( ) [inline]
template<class G, class S>
const_iterator Dune::Amg::Aggregate< G, S >::begin ( ) const

get an iterator over the vertices of the aggregate.

double Dune::Amg::DependencyParameters::beta ( ) const [inline]

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

Returns:
beta
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.

The template parameters:

reset
If true the visited flags of the vertices will be reset after the search
G
The type of the graph we perform the search on.
F
The type of the visitor to operate on the vertices
Parameters:
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.
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.

The template parameters:

L
A container type providing push_back(Vertex), and pop_front() in case remove is true
remove
If true the entries in the visited list will be removed.
reset
If true the visited flag will be reset after the search
Parameters:
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
template<class T >
template<class M , class G , class V , class Set >
M * Dune::Amg::GalerkinProduct< T >::build ( const M &  fine,
G &  fineGraph,
V &  visitedMap,
const ParallelInformation pinfo,
AggregatesMap< typename G::VertexDescriptor > &  aggregates,
const typename M::size_type &  size,
const Set &  copy 
)

Calculates the coarse matrix via a Galerkin product.

Parameters:
fineThe matrix on the fine level.
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.

References count, Dune::Amg::ConnectivityConstructor< G, T >::examine(), Dune::Amg::SparsityBuilder< M >::maxRowSize(), Dune::Amg::SparsityBuilder< M >::minRowSize(), and Dune::Amg::SparsityBuilder< M >::sumRowSize().

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::build().

template<class M , class G , class V , class Set >
M * Dune::Amg::GalerkinProduct< SequentialInformation >::build ( const M &  fine,
G &  fineGraph,
V &  visitedMap,
const SequentialInformation pinfo,
const AggregatesMap< typename G::VertexDescriptor > &  aggregates,
const typename M::size_type &  size,
const Set &  copy 
)

Calculates the coarse matrix via a Galerkin product.

Parameters:
fineThe matrix on the fine level.
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.

References Dune::Amg::SparsityBuilder< M >::maxRowSize(), Dune::Amg::SparsityBuilder< M >::minRowSize(), and Dune::Amg::SparsityBuilder< M >::sumRowSize().

template<class M , class IS , class A >
template<typename O , typename T >
void Dune::Amg::MatrixHierarchy< M, IS, A >::build ( const T &  criterion)
template<class G>
template<class M , class C >
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.

The template parameter C Is the 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.
template<class V>
template<class M , class G , class C >
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.

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::build().

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.

Referenced by Dune::Amg::repartitionAndDistributeMatrix().

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.

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::build(), and Dune::Amg::MatrixHierarchy< M, PI, A >::recalculateGalerkin().

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 
)

References col, and row.

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

Clear the aggregate.

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 
) [inline, static]

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.
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 
) [static]
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.
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.

References Dune::Amg::Hierarchy< T, A >::addCoarser(), and Dune::Amg::Hierarchy< T, A >::levels().

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::AMG().

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

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

Coarsen the vector hierarchy according to the matrix hierarchy.

Parameters:
hierarchyThe vector hierarchy to coarsen.
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.

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::post(), and Dune::Amg::AMG< M, X, S, PI, A >::pre().

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

Get an iterator positioned at the coarsest level.

Returns:
An iterator positioned at the coarsest level.
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.
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.
template<class G, class S>
VertexList::size_type Dune::Amg::Aggregate< G, S >::connectSize ( )

Get tne number of connections to other aggregates.

template<typename T>
static T* Dune::Amg::ConstructionTraits< T >::construct ( Arguments args) [inline, static]
template<class T >
static BlockVector<T>* Dune::Amg::ConstructionTraits< BlockVector< T > >::construct ( Arguments n) [inline, static]
template<class M , class X , class Y , int l>
static SeqSSOR<M,X,Y,l>* Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y , int l>
static SeqSOR<M,X,Y,l>* Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y , int l>
static SeqJac<M,X,Y,l>* Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y >
static SeqILU0<M,X,Y>* Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y >
static SeqILUn<M,X,Y>* Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y , class C >
static ParSSOR<M,X,Y,C>* Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::construct ( Arguments args) [inline, static]
template<class X , class Y , class C , class T >
static BlockPreconditioner<X,Y,C,T>* Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::construct ( Arguments args) [inline, static]
template<class C , class T >
static NonoverlappingBlockPreconditioner<C,T>* Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::construct ( Arguments args) [inline, static]
template<class M , class X , class TM , class TS , class TA >
static SeqOverlappingSchwarz<M,X,TM,TS,TA>* Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::construct ( Arguments args) [inline, static]
template<class M , class X , class Y >
Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::ConstructionArgs ( int  n = 1) [inline]
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]
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]
template<class G>
Dune::Amg::Aggregator< G >::Counter::Counter ( )

Constructor.

int Dune::Amg::Parameters::debugLevel ( ) const [inline]

Get the debugging Level.

Returns:
0 if no debugging output will be generated.
template<typename T>
static void Dune::Amg::ConstructionTraits< T >::deconstruct ( T *  t) [inline, static]
template<class T >
static void Dune::Amg::ConstructionTraits< BlockVector< T > >::deconstruct ( BlockVector< T > *  t) [inline, static]
template<class M , class X , class Y , int l>
static void Dune::Amg::ConstructionTraits< SeqSSOR< M, X, Y, l > >::deconstruct ( SeqSSOR< M, X, Y, l > *  ssor) [inline, static]
template<class M , class X , class Y , int l>
static void Dune::Amg::ConstructionTraits< SeqSOR< M, X, Y, l > >::deconstruct ( SeqSOR< M, X, Y, l > *  sor) [inline, static]
template<class M , class X , class Y , int l>
static void Dune::Amg::ConstructionTraits< SeqJac< M, X, Y, l > >::deconstruct ( SeqJac< M, X, Y, l > *  jac) [inline, static]
template<class M , class X , class Y >
static void Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::deconstruct ( SeqILU0< M, X, Y > *  ilu) [inline, static]
template<class M , class X , class Y >
static void Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::deconstruct ( SeqILUn< M, X, Y > *  ilu) [inline, static]
template<class M , class X , class Y , class C >
static void Dune::Amg::ConstructionTraits< ParSSOR< M, X, Y, C > >::deconstruct ( ParSSOR< M, X, Y, C > *  ssor) [inline, static]
template<class X , class Y , class C , class T >
static void Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::deconstruct ( BlockPreconditioner< X, Y, C, T > *  bp) [inline, static]
template<class C , class T >
static void Dune::Amg::ConstructionTraits< NonoverlappingBlockPreconditioner< C, T > >::deconstruct ( NonoverlappingBlockPreconditioner< C, T > *  bp) [inline, static]
template<class M , class X , class TM , class TS , class TA >
static void Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::deconstruct ( SeqOverlappingSchwarz< M, X, TM, TS, TA > *  schwarz) [inline, static]
template<class G>
void Dune::Amg::Aggregator< G >::Counter::decrement ( ) [protected]

Decrement counter.

template<class T >
Dune::Amg::DefaultSmootherArgs< T >::DefaultSmootherArgs ( ) [inline]

Default constructor.

template<class M, class N>
Dune::Amg::Dependency< M, N >::Dependency ( const Parameters parms) [inline]
template<class M, class N>
Dune::Amg::Dependency< M, N >::Dependency ( ) [inline]
template<class G>
Dune::Amg::Aggregator< G >::DependencyCounter::DependencyCounter ( )

Constructor.

Constructor.

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.

References Dune::Amg::EdgeProperties::DEPEND.

Constructor.

template<class V>
const_iterator Dune::Amg::AggregatesMap< V >::end ( ) const [inline]
template<class V>
iterator Dune::Amg::AggregatesMap< V >::end ( ) [inline]
template<class G, class S>
const_iterator Dune::Amg::Aggregate< G, S >::end ( ) const

get an iterator over the vertices of the aggregate.

template<class M, class N>
void Dune::Amg::Dependency< M, N >::examine ( const ColIter col)
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 
)
template<class M, class N>
void Dune::Amg::SymmetricDependency< M, N >::examine ( const ColIter col)
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 
)
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]
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]

Tests whether the vertex is excluded from the aggregation.

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

References Dune::Amg::VertexProperties::BORDER.

template<class G>
void Dune::Amg::Aggregator< G >::Stack::fill ( )
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.

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::AMG().

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

Get an iterator positioned at the finest level.

Returns:
An iterator positioned at the finest level.
template<class V>
void Dune::Amg::AggregatesMap< V >::free ( )

Free the allocated memory.

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::build().

bool Dune::Amg::VertexProperties::front ( ) const [inline]

Checks wether the node is marked as a front node.

References Dune::Amg::VertexProperties::FRONT.

template<class G>
Dune::Amg::Aggregator< G >::FrontMarker::FrontMarker ( VertexList &  front,
MatrixGraph graph 
)

Constructor.

Parameters:
frontThe list to store the front vertices in.
graphThe matrix graph we work on.
template<class G>
Dune::Amg::Aggregator< G >::FrontNeighbourCounter::FrontNeighbourCounter ( const MatrixGraph front)

Constructor.

Parameters:
frontThe vertices of the front.
bool Dune::Amg::Parameters::getAdditive ( ) const [inline]

Get whether to use additive multigrid.

Returns:
True if multigrid should be additive.
template<class T>
const SmootherArgs Dune::Amg::DefaultConstructionArgs< T >::getArgs ( ) const [inline]
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.
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.

References Dune::Amg::AggregatesMap< V >::begin(), Dune::Amg::AggregatesMap< V >::end(), and Dune::Amg::AggregatesMap< V >::ISOLATED.

template<class T , class C = SequentialInformation>
const C& Dune::Amg::DefaultParallelConstructionArgs< T, C >::getComm ( ) const [inline]
std::size_t Dune::Amg::Parameters::getGamma ( ) const [inline]

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

template<class T>
const Matrix& Dune::Amg::DefaultConstructionArgs< T >::getMatrix ( ) const [inline]
template<class M , class X , class Y >
int Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::getN ( ) [inline]
std::size_t Dune::Amg::Parameters::getNoPostSmoothSteps ( ) const [inline]

Get the number of postsmoothing steps to apply.

Returns:
The number of steps:
std::size_t Dune::Amg::Parameters::getNoPreSmoothSteps ( ) const [inline]

Get the number of presmoothing steps to apply.

Returns:
The number of steps:

Get the damping factor for the prolongation.

Returns:
d The damping factor.
template<class M , class X , class TM , class TS , class TA >
const Vector& Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::getSubDomains ( ) [inline]
template<typename T, typename E>
template<typename G , typename I >
const GlobalIndex& Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex ( ) const [inline]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex ( const GlobalIndex global) [inline]
template<class M , class IS , class A >
bool Dune::Amg::MatrixHierarchy< M, IS, A >::hasCoarsest ( ) const
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::Hierarchy ( MemberType first)

Construct a new hierarchy.

Parameters:
firstThe first element in the hierarchy.
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::Hierarchy ( )

Construct a new empty hierarchy.

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

Get the id identifying the aggregate.

template<class G>
void Dune::Amg::Aggregator< G >::Counter::increment ( ) [protected]

Increment counter.

template<class M>
std::size_t Dune::Amg::SparsityBuilder< M >::index ( ) [inline]
bool Dune::Amg::EdgeProperties::influences ( ) const [inline]

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

Returns:
True if it is influenced.

References Dune::Amg::EdgeProperties::INFLUENCE.

template<class M, class N>
void Dune::Amg::Dependency< M, N >::init ( const Matrix matrix)
template<class M, class N>
void Dune::Amg::SymmetricDependency< M, N >::init ( const Matrix matrix)
template<class M, class N>
void Dune::Amg::Dependency< M, N >::initRow ( const Row row,
int  index 
)
template<class M, class N>
void Dune::Amg::SymmetricDependency< M, N >::initRow ( const Row row,
int  index 
)
template<class M >
void Dune::Amg::SparsityBuilder< M >::insert ( const typename M::size_type &  index)

References index.

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

Whether the hierarchy was built.

Returns:
true if the ::coarsen method was called.

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::AMG().

template<class M, class N>
bool Dune::Amg::Dependency< M, N >::isIsolated ( )
template<class M, class N>
bool Dune::Amg::SymmetricDependency< M, N >::isIsolated ( )
bool Dune::Amg::VertexProperties::isolated ( ) const [inline]

Checks wether the node is isolated.

References Dune::Amg::VertexProperties::ISOLATED.

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.

References Dune::Amg::EdgeProperties::DEPEND, and Dune::Amg::EdgeProperties::INFLUENCE.

template<typename T, typename E>
template<typename G , typename I >
bool Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic ( ) [inline]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic ( bool  b) [inline]
bool Dune::Amg::EdgeProperties::isStrong ( ) const [inline]

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

References Dune::Amg::EdgeProperties::DEPEND, and Dune::Amg::EdgeProperties::INFLUENCE.

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.

References Dune::Amg::EdgeProperties::DEPEND, and Dune::Amg::EdgeProperties::INFLUENCE.

template<class M , class X , class S , class P , class K , class A >
Dune::Amg::KAMG< M, X, S, P, K, A >::KAMG ( const OperatorHierarchy matrices,
CoarseSolver coarseSolver,
const SmootherArgs smootherArgs,
std::size_t  gamma,
std::size_t  preSmoothingSteps = 1,
std::size_t  postSmoothingSteps = 1,
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 sparse matrix in the matrix hierachy.
smootherArgsThe arguments needed for thesmoother to use for pre and post smoothing
gammaThe number of subcycles. 1 for V-cycle, 2 for W-cycle.
preSmoothingStepsThe number of smoothing steps for premoothing.
postSmoothingStepsThe number of smoothing steps for postmoothing.
maxLevelKrylovStepsThe maximum number of Krylov steps allowed at each level.
minDefectReductionThe minimal defect reduction to achieve on each Krylov level.
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,
std::size_t  gamma = 1,
std::size_t  preSmoothingSteps = 1,
std::size_t  postSmoothingSteps = 1,
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.
smootherArgsThe arguments for constructing the smoothers.
gamma1 for V-cycle, 2 for W-cycle
preSmoothingStepsThe number of smoothing steps for premoothing.
postSmoothingStepsThe number of smoothing steps for postmoothing.
maxLevelKrylovStepsThe maximum number of Krylov steps allowed at each level.
minDefectReductionThe defect reduction to achieve on each krylov level.
pinfoThe information about the parallel distribution of the data.
template<class M , class X , class S , class PI , class A >
std::size_t Dune::Amg::AMG< M, X, S, PI, A >::levels ( )
template<class T , class A >
std::size_t Dune::Amg::Hierarchy< T, A >::levels ( ) const

Get the number of levels in the hierarchy.

Returns:
The number of levels.

Referenced by Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenSmoother().

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

Get the number of levels in the hierarchy.

Returns:
The number of levels.
template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::ParallelMatrixHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::matrices ( ) const

Get the matrix hierarchy.

Returns:
The matrix hierarchy.
template<class M , class IS , class A >
Dune::Amg::MatrixHierarchy< M, IS, A >::MatrixHierarchy ( const MatrixOperator fineMatrix,
const ParallelInformation pinfo = ParallelInformation() 
)

Constructor.

Parameters:
fineMatrixThe matrix to coarsen.
pinfoThe information about the parallel data decomposition at the first level.

References Dune::SolverCategory::nonoverlapping, Dune::SolverCategory::overlapping, and Dune::SolverCategory::sequential.

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

Returns:
The maximum number of nodes.
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.
std::size_t Dune::Amg::AggregationParameters::maxDistance ( ) const [inline]

Get the maximal distance allowed between to 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.

Get the maximum number of levels allowed in the hierarchy.

template<class M , class X , class S , class PI , class A >
std::size_t Dune::Amg::AMG< M, X, S, PI, A >::maxlevels ( )
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 ( )
template<class M , class IS , class A >
std::size_t Dune::Amg::MatrixHierarchy< M, IS, A >::maxlevels ( ) const

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

Returns:
The maximum number of levels.

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::AMG().

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

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

Returns:
The minimum number of nodes.

Get the minimum coarsening rate to be achieved.

template<class M >
std::size_t Dune::Amg::SparsityBuilder< M >::minRowSize ( )
template<class M , class C >
Dune::Amg::NonoverlappingOperatorArgs< M, C >::NonoverlappingOperatorArgs ( M &  matrix,
C &  comm 
) [inline]
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]
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]
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]
template<class V>
std::size_t Dune::Amg::AggregatesMap< V >::noVertices ( ) const
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]
template<typename T, typename E>
template<typename G , typename I >
Vertex Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() ( const GlobalIndex global) [inline]
template<class T>
template<class A >
bool Dune::Amg::GalerkinProduct< T >::OVLess< A >::operator() ( const OverlapVertex< A > &  o1,
const OverlapVertex< A > &  o2 
) [inline]
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.
template<int N>
template<class M >
M::field_type Dune::Amg::Diagonal< N >::operator() ( const M &  m) const [inline]

compute the norm of a matrix.

Parameters:
mThe matrix ro compute the norm of.
template<class M >
M::field_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.
template<class M >
M::field_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.
template<class M >
M::field_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.
template<class V>
template<class EdgeIterator >
void Dune::Amg::AggregatesMap< V >::DummyEdgeVisitor::operator() ( const EdgeIterator &  egde) const [inline]
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]
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]
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]
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.

template<class G>
void Dune::Amg::Aggregator< G >::FrontNeighbourCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class G>
void Dune::Amg::Aggregator< G >::TwoWayCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class G>
void Dune::Amg::Aggregator< G >::OneWayCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class G>
void Dune::Amg::Aggregator< G >::ConnectivityCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class G>
void Dune::Amg::Aggregator< G >::DependencyCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class G>
void Dune::Amg::Aggregator< G >::FrontMarker::operator() ( const typename MatrixGraph::ConstEdgeIterator edge)
template<class M >
void Dune::Amg::SparsityBuilder< M >::operator++ ( )
template<class T >
std::ostream& Dune::Amg::operator<< ( std::ostream &  os,
const AggregationCriterion< T > &  criterion 
)
std::ostream& Dune::Amg::operator<< ( std::ostream &  os,
const EdgeProperties &  props 
) [inline]
std::ostream& Dune::Amg::operator<< ( std::ostream &  os,
const VertexProperties &  props 
) [inline]
std::bitset< EdgeProperties::SIZE >::reference Dune::Amg::EdgeProperties::operator[] ( std::size_t  v) [inline]

Access the bits directly.

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

Acess the bits directly.

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.

References Dune::Amg::RandomAccessBundledPropertyMap< C, K, i, T, R >::index.

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

Access the bits directly.

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

Acess the bits directly.

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.

References Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::index.

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.
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.
template<class M , class C >
Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::OverlappingSchwarzOperatorArgs ( M &  matrix,
C &  comm 
) [inline]
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]
template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::ParallelInformationHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::parallelInformation ( ) const

Get the hierarchy of the parallel data distribution information.

Returns:
The hierarchy of the parallel data distribution information.

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::AMG().

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.
template<class G>
Vertex Dune::Amg::Aggregator< G >::Stack::pop ( )
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 >.

References Dune::Amg::Hierarchy< T, A >::coarsest(), and Dune::Amg::ConstructionTraits< T >::deconstruct().

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

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

apply post smoothing in forward direction

Parameters:
smootherThe smoother to use.
dThe current defect.
vhandle to store the update in.
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 
) [inline, static]
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 
) [inline, static]
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 
) [inline, static]
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 
) [inline, static]
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.

Parameters:
xThe left hand side of the equation.
bThe right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

References Dune::Amg::Hierarchy< T, A >::coarsest(), and Dune::Amg::ConstructionTraits< T >::construct().

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.

Parameters:
xThe left hand side of the equation.
bThe right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

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

apply pre smoothing in forward direction

Parameters:
smootherThe smoother to use.
dThe current defect.
vhandle to store the update in.
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 
) [inline, static]
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 
) [inline, static]
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 
) [inline, static]
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 
) [inline, static]
template<class V >
void Dune::Amg::printAggregates2d ( const AggregatesMap< V > &  aggregates,
int  n,
int  m,
std::ostream &  os 
)

Prints the attributes of the edge for debugging.

template<class V , class V1 , class T1 , class T2 >
template<typename T3 >
void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongate ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
Vector fine,
Vector fineRedist,
T3  damp,
OwnerOverlapCopyCommunication< T1, T2 > &  comm,
const Redist redist 
) [inline, static]
template<class V , class V1 , class T1 , class T2 >
template<typename T3 >
void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::prolongate ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
Vector fine,
T3  damp,
OwnerOverlapCopyCommunication< T1, T2 > &  comm 
) [inline, static]
template<class V , class V1 >
template<typename T >
void Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongate ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
Vector fine,
Vector fineRedist,
damp,
const SequentialInformation comm,
const Redist redist 
) [inline]
template<class V , class V1 >
template<typename T >
void Dune::Amg::Transfer< V, V1, SequentialInformation >::prolongate ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
Vector fine,
damp,
const SequentialInformation comm 
) [inline]

References index.

template<typename G , std::size_t i>
Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap ( G &  g) [inline]

Constructor.

Parameters:
gThe graph whose properties we access.
template<typename G , std::size_t i>
Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap ( ) [inline]

Default constructor.

template<class G>
bool Dune::Amg::Aggregator< G >::Stack::push ( const Vertex v)
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.
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.

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.

References Dune::Amg::BaseGalerkinProduct::calculate(), and Dune::redistributeMatrixEntries().

Referenced by Dune::Amg::AMG< M, X, S, PI, A >::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.

References Dune::Amg::MatrixHierarchy< M, PI, A >::recalculateGalerkin().

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.

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

Get the hierachy of the information about redistributions,.

Returns:
The hierarchy of the information about redistributions of the data to fewer processes.
template<typename M , typename C1 >
bool Dune::Amg::repartitionAndDistributeMatrix ( const M &  origMatrix,
M &  newMatrix,
SequentialInformation &  origSequentialInformationomm,
SequentialInformation *&  newComm,
RedistributeInformation< SequentialInformation > &  ri,
int  nparts,
C1 &  criterion 
)
template<typename M , typename C , typename C1 >
bool Dune::Amg::repartitionAndDistributeMatrix ( const M &  origMatrix,
M &  newMatrix,
C &  origComm,
C *&  newComm,
RedistributeInformation< C > &  ri,
int  nparts,
C1 &  criterion 
)
template<typename M >
bool Dune::Amg::repartitionAndDistributeMatrix ( M &  origMatrix,
M &  newMatrix,
SequentialInformation &  origComm,
SequentialInformation &  newComm,
RedistributeInformation< SequentialInformation > &  ri 
)

Reset all flags.

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

Reset all flags.

Resets the depends flag.

References Dune::Amg::EdgeProperties::DEPEND.

Marks the vertex as included in the aggregation.

References Dune::Amg::VertexProperties::BORDER.

Resets the front node flag.

References Dune::Amg::VertexProperties::FRONT.

Resets the influence flag.

References Dune::Amg::EdgeProperties::INFLUENCE.

Resets the isolated flag.

References Dune::Amg::VertexProperties::ISOLATED.

Resets the visited flag.

References Dune::Amg::VertexProperties::VISITED.

template<class V , class V1 >
void Dune::Amg::Transfer< V, V1, SequentialInformation >::restrict ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
const Vector fine,
const SequentialInformation comm 
) [inline, static]
template<class V , class V1 , class T1 , class T2 >
void Dune::Amg::Transfer< V, V1, OwnerOverlapCopyCommunication< T1, T2 > >::restrict ( const AggregatesMap< Vertex > &  aggregates,
Vector coarse,
const Vector fine,
OwnerOverlapCopyCommunication< T1, T2 > &  comm 
) [inline, static]
template<class G, class S>
void Dune::Amg::Aggregate< G, S >::seed ( const Vertex vertex)

Initialize the aggregate with one vertex.

template<class T >
Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::SeqOverlappingSchwarzSmootherArgs ( Overlap  overlap_ = vertex,
bool  onthefly_ = false 
) [inline]
Dune::Amg::SequentialCommunicationArgs::SequentialCommunicationArgs ( CollectiveCommunication< void * >  comm,
int  cat 
) [inline]
template<class T >
template<class M , class O >
void Dune::Amg::DirichletBoundarySetter< T >::set ( M &  coarse,
const T &  pinfo,
const O &  copy 
) [static]

References col, index, and row.

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

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

void Dune::Amg::CoarseningParameters::setAccumulate ( bool  accu) [inline]
void Dune::Amg::Parameters::setAdditive ( bool  additive) [inline]

Set whether to use additive multigrid.

Parameters:
additiveTrue if multigrid should be additive.
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]
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]
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]
void Dune::Amg::DependencyParameters::setAlpha ( double  a) [inline]

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

template<class T>
void Dune::Amg::DefaultConstructionArgs< T >::setArgs ( const SmootherArgs args) [inline]
void Dune::Amg::DependencyParameters::setBeta ( double  b) [inline]

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

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

template<class T>
template<class T1 >
void Dune::Amg::DefaultConstructionArgs< T >::setComm ( T1 &  comm) [inline]
template<class T , class C = SequentialInformation>
void Dune::Amg::DefaultParallelConstructionArgs< T, C >::setComm ( const C &  comm) [inline]
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.
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.
void Dune::Amg::AggregationParameters::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.

Reimplemented in Dune::Amg::AggregationCriterion< Dependency< M, Norm > >, and Dune::Amg::AggregationCriterion< SymmetricDependency< M, Norm > >.

References Dune::Amg::AggregationParameters::setDefaultValuesIsotropic().

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.

Referenced by Dune::Amg::AggregationCriterion< SymmetricDependency< M, Norm > >::setDefaultValuesAnisotropic().

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.

Reimplemented in Dune::Amg::AggregationCriterion< Dependency< M, Norm > >, and Dune::Amg::AggregationCriterion< SymmetricDependency< M, Norm > >.

Referenced by Dune::Amg::AggregationParameters::setDefaultValuesAnisotropic().

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

References Dune::Amg::EdgeProperties::DEPEND.

Marks the vertex as excluded from the aggregation.

References Dune::Amg::VertexProperties::BORDER.

Marks the node as belonging to the current clusters front.

References Dune::Amg::VertexProperties::FRONT.

void Dune::Amg::Parameters::setGamma ( std::size_t  gamma) [inline]

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

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

References Dune::Amg::EdgeProperties::INFLUENCE.

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.

References Dune::Amg::VertexProperties::ISOLATED.

template<class T>
void Dune::Amg::DefaultConstructionArgs< T >::setMatrix ( const Matrix &  matrix) [inline]
template<class T>
virtual void Dune::Amg::DefaultConstructionArgs< T >::setMatrix ( const Matrix &  matrix,
const AggregatesMap amap 
) [inline, virtual]
template<class M , class X , class TM , class TS , class TA >
virtual void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::setMatrix ( const M &  matrix,
const AggregatesMap amap 
) [inline, virtual]
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]
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.
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.
void Dune::Amg::AggregationParameters::setMaxDistance ( std::size_t  distance) [inline]

Set the maximal distance allowed between to 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.

Set the maximum number of levels allowed in the hierarchy.

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.

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

The default value is 1.2

template<class M , class X , class Y >
void Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::setN ( int  n) [inline]
void Dune::Amg::Parameters::setNoPostSmoothSteps ( std::size_t  steps) [inline]

Set the number of postsmoothing steps to apply.

Parameters:
stepsThe number of steps:
void Dune::Amg::Parameters::setNoPreSmoothSteps ( std::size_t  steps) [inline]

Set the number of presmoothing steps to apply.

Parameters:
stepsThe number of steps:

Set the damping factor for the prolongation.

Parameters:
dThe new damping factor.

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

Parameters:
skipTrue if these aggregates will be skipped.

Mark the node as already visited.

References Dune::Amg::VertexProperties::VISITED.

template<class G, class S>
VertexList::size_type Dune::Amg::Aggregate< G, S >::size ( )

Get the size of the aggregate.

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

Returns:
True if these aggregates will be skipped.
template<class M >
Dune::Amg::SparsityBuilder< M >::SparsityBuilder ( M &  matrix)

Constructor.

Parameters:
matrixThe matrix whose sparsity pattern we should set up.
template<class G>
Dune::Amg::Aggregator< G >::Stack::Stack ( const MatrixGraph graph,
const Aggregator< G > &  aggregatesBuilder,
const AggregatesMap< Vertex > &  aggregates 
)
template<class M >
std::size_t Dune::Amg::SparsityBuilder< M >::sumRowSize ( )
template<class M , class Norm >
Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion ( const Parameters parms) [inline]
template<class M , class Norm >
Dune::Amg::SymmetricCriterion< M, Norm >::SymmetricCriterion ( ) [inline]
template<class M, class N>
Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency ( const Parameters parms) [inline]
template<class M, class N>
Dune::Amg::SymmetricDependency< M, N >::SymmetricDependency ( ) [inline]
template<class M , class Norm >
Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion ( const Parameters parms) [inline]
template<class M , class Norm >
Dune::Amg::UnSymmetricCriterion< M, Norm >::UnSymmetricCriterion ( ) [inline]
template<class M , class X , class S , class PI , class A >
bool Dune::Amg::AMG< M, X, S, PI, A >::usesDirectCoarseLevelSolver ( ) const

Check whether the coarse solver used is a direct solver.

Returns:
True if the coarse level solver is a direct solver.
template<class G>
int Dune::Amg::Aggregator< G >::Counter::value ( )

Access the current count.

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]

Constructor.

bool Dune::Amg::VertexProperties::visited ( ) const [inline]

Checks wether the node is marked as visited.

References Dune::Amg::VertexProperties::VISITED.

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.

Referenced by Dune::Amg::BaseConnectivityConstructor::constructOverlapConnectivity().

template<class V>
Dune::Amg::AggregatesMap< V >::~AggregatesMap ( )

Destructor.

template<class G>
Dune::Amg::Aggregator< G >::~Aggregator ( )

Destructor.

template<class M , class X , class S , class PI , class A >
Dune::Amg::AMG< M, X, S, PI, A >::~AMG ( )
template<class T>
virtual Dune::Amg::DefaultConstructionArgs< T >::~DefaultConstructionArgs ( ) [inline, virtual]
template<class T , class C = SequentialInformation>
virtual Dune::Amg::DefaultParallelConstructionArgs< T, C >::~DefaultParallelConstructionArgs ( ) [inline, virtual]
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::~Hierarchy ( )
template<class M , class IS , class A >
Dune::Amg::MatrixHierarchy< M, IS, A >::~MatrixHierarchy ( )
template<class G>
Dune::Amg::Aggregator< G >::Stack::~Stack ( )

Variable Documentation

template<class T>
Aggregate* Dune::Amg::OverlapVertex< T >::aggregate
template<class M , class C >
C* Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::comm_
template<class M , class C >
C* Dune::Amg::NonoverlappingOperatorArgs< M, C >::comm_
CollectiveCommunication<void*> Dune::Amg::SequentialCommunicationArgs::comm_
template<class M, class N>
Matrix::field_type Dune::Amg::Dependency< M, N >::diagonal_ [protected]

The norm of the current diagonal.

template<class M, class N>
Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::diagonal_ [protected]

The norm of the current diagonal.

template<class V>
const V Dune::Amg::AggregatesMap< V >::ISOLATED [static]
template<class T >
int Dune::Amg::DefaultSmootherArgs< T >::iterations
template<class M , class C >
M* Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::matrix_
template<class M , class C >
M* Dune::Amg::NonoverlappingOperatorArgs< M, C >::matrix_
template<class T>
const Matrix* Dune::Amg::DefaultConstructionArgs< T >::matrix_ [protected]
template<class M, class N>
const Matrix* Dune::Amg::Dependency< M, N >::matrix_ [protected]

The matrix we work on.

template<class M, class N>
const Matrix* Dune::Amg::SymmetricDependency< M, N >::matrix_ [protected]

The matrix we work on.

template<class M, class N>
Matrix::field_type Dune::Amg::Dependency< M, N >::maxValue_ [protected]

The current max value.

template<class M, class N>
Matrix::field_type Dune::Amg::SymmetricDependency< M, N >::maxValue_ [protected]

The current max value.

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

The functor for calculating the norm.

template<class M, class N>
Norm Dune::Amg::SymmetricDependency< M, N >::norm_ [protected]

The functor for calculating the norm.

template<class G>
const Vertex Dune::Amg::Aggregator< G >::Stack::NullEntry [static]
template<class T >
bool Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::onthefly
template<class T >
Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap
template<class T >
RelaxationFactor Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor
template<class M, class N>
int Dune::Amg::Dependency< M, N >::row_ [protected]

index of the currently evaluated row.

template<class M, class N>
int Dune::Amg::SymmetricDependency< M, N >::row_ [protected]

index of the currently evaluated row.

template<class V>
const V Dune::Amg::AggregatesMap< V >::UNAGGREGATED [static]

Identifier of not yet aggregated vertices.

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

Friends

template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
friend class KAMG [friend]
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
friend class KAmgTwoGrid< AMG > [friend]
std::ostream& operator<< ( std::ostream &  os,
const EdgeProperties props 
) [friend]
std::ostream& operator<< ( std::ostream &  os,
const VertexProperties props 
) [friend]
template<class G>
friend class Stack [friend]