Parallel Algebraic Multigrid
[Preconditioners]

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

Collaboration diagram for Parallel Algebraic Multigrid:

Classes

class  Dune::Amg::AggregationCriterion< T >
 Base class of all aggregation criterions. More...
class  Dune::Amg::DependencyParameters
 Paramters needed to check whether a node depends on another. 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...
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::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...
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 > >
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::SmootherApplier< T >
 Helper class for applying the smoothers. More...
struct  Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >
struct  Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >
struct  Dune::Amg::SmootherTraits< SeqOverlappingSchwarz< M, X, TM, b, TA > >
class  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >
struct  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder
struct  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::NoneAdder
struct  Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder< VM >
struct  Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, b, 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  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 N Dune::Amg::Dependency::Norm
 The norm to use for examining the matrix entries.
typedef Matrix::row_type Dune::Amg::Dependency::Row
 Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator Dune::Amg::Dependency::ColIter
 Constant column iterator of the matrix.
typedef N Dune::Amg::SymmetricDependency::Norm
 The norm to use for examining the matrix entries.
typedef Matrix::row_type Dune::Amg::SymmetricDependency::Row
 Constant Row iterator of the matrix.
typedef Matrix::ConstColIterator Dune::Amg::SymmetricDependency::ColIter
 Constant column iterator of the matrix.
typedef V Dune::Amg::AggregatesMap::VertexDescriptor
 The vertex descriptor type.
typedef V Dune::Amg::AggregatesMap::AggregateDescriptor
 The aggregate descriptor type.
typedef PoolAllocator
< VertexDescriptor, 100 > 
Dune::Amg::AggregatesMap::Allocator
 The allocator we use for our lists and the set.
typedef SLList
< VertexDescriptor, Allocator > 
Dune::Amg::AggregatesMap::VertexList
 The type of a single linked list of vertex descriptors.
typedef const AggregateDescriptor * Dune::Amg::AggregatesMap::const_iterator
typedef AggregateDescriptor * Dune::Amg::AggregatesMap::iterator
typedef
MatrixGraph::VertexDescriptor 
Dune::Amg::Aggregate::Vertex
 The vertex descriptor type.
typedef PoolAllocator< Vertex, 100 > Dune::Amg::Aggregate::Allocator
 The allocator we use for our lists and the set.
typedef SLList< Vertex, Allocator > Dune::Amg::Aggregate::VertexList
 The type of a single linked list of vertex descriptors.
typedef S Dune::Amg::Aggregate::VertexSet
 The type of a single linked list of vertex descriptors.
typedef VertexList::const_iterator Dune::Amg::Aggregate::const_iterator
 Const iterator over a vertex list.
typedef std::size_t * Dune::Amg::Aggregate::SphereMap
 Type of the mapping of aggregate members onto distance spheres.
typedef
MatrixGraph::VertexDescriptor 
Dune::Amg::Aggregator::Vertex
 The vertex identifier.
typedef
MatrixGraph::VertexDescriptor 
Dune::Amg::Aggregator::AggregateDescriptor
 The type of the aggregate descriptor.
typedef PI Dune::Amg::AMG::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::OperatorHierarchy
 The operator hierarchy type.
typedef
OperatorHierarchy::ParallelInformationHierarchy 
Dune::Amg::AMG::ParallelInformationHierarchy
 The parallal data distribution hierarchy type.
typedef X Dune::Amg::AMG::Domain
 The domain type.
typedef X Dune::Amg::AMG::Range
 The range type.
typedef InverseOperator< X, X > Dune::Amg::AMG::CoarseSolver
 the type of the coarse solver.
typedef S Dune::Amg::AMG::Smoother
 The type of the smoother.
typedef SmootherTraits
< Smoother >::Arguments 
Dune::Amg::AMG::SmootherArgs
 The argument type for the construction of the smoother.
typedef G Dune::Amg::PropertyGraphVertexPropertyMap::Graph
 The type of the graph with internal properties.
typedef std::bitset
< VertexProperties::SIZE > 
Dune::Amg::PropertyGraphVertexPropertyMap::BitSet
 The type of the bitset.
typedef BitSet::reference Dune::Amg::PropertyGraphVertexPropertyMap::Reference
 The reference type.
typedef bool Dune::Amg::PropertyGraphVertexPropertyMap::ValueType
 The value type.
typedef G::VertexDescriptor Dune::Amg::PropertyGraphVertexPropertyMap::Vertex
 The vertex descriptor.
typedef T Dune::Amg::OverlapVertex::Vertex
 The vertex descriptor.
typedef Graph::ConstEdgeIterator Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder::ConstEdgeIterator
 The constant edge iterator.
typedef S Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder::Set
 The type of the connected set.
typedef V Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder::VisitedMap
 The type of the map for marking vertices as visited.
typedef Graph::VertexDescriptor Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder::Vertex
 The vertex descriptor of the graph.
typedef T Dune::Amg::ParallelIndicesCoarsener::ParallelInformation
 The type of the parallel information.
typedef
ParallelInformation::ParallelIndexSet 
Dune::Amg::ParallelIndicesCoarsener::ParallelIndexSet
typedef
ParallelIndexSet::GlobalIndex 
Dune::Amg::ParallelIndicesCoarsener::GlobalIndex
 The type of the global index.
typedef
ParallelIndexSet::LocalIndex 
Dune::Amg::ParallelIndicesCoarsener::LocalIndex
 The type of the local index.
typedef LocalIndex::Attribute Dune::Amg::ParallelIndicesCoarsener::Attribute
 The type of the attribute.
typedef Dune::RemoteIndices
< ParallelIndexSet > 
Dune::Amg::ParallelIndicesCoarsener::RemoteIndices
 The type of the remote indices.
typedef R Dune::Amg::RandomAccessBundledPropertyMap::Reference
 The reference type of the container.
typedef K Dune::Amg::RandomAccessBundledPropertyMap::Key
 The key of the property map.
typedef LvaluePropertyMapTag Dune::Amg::RandomAccessBundledPropertyMap::Category
 The category of the property map.
typedef ConstructionTraits< T > Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::SeqConstructionTraits
typedef Smoother::range_type Dune::Amg::SmootherApplier::Range
typedef Smoother::domain_type Dune::Amg::SmootherApplier::Domain
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 Smoother::range_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::Range
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::Domain
typedef MatrixGraph< M >
::VertexDescriptor 
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexDescriptor
typedef
Dune::Amg::AggregatesMap
< VertexDescriptor > 
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregatesMap
typedef
AggregatesMap::AggregateDescriptor 
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateDescriptor
typedef SeqOverlappingSchwarz
< M, X, TM, b, TA >
::subdomain_vector 
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::Vector
typedef Vector::value_type Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::Subdomain

Enumerations

enum  { Dune::Amg::AMG::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::index = i }
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::index = i }

Functions

 Dune::Amg::AggregationCriterion::AggregationCriterion ()
 Constructor.
void Dune::Amg::AggregationCriterion::setDefaultValuesIsotropic (std::size_t dim, std::size_t diameter=2)
 Sets reasonable default values for an isotropic problem.
void Dune::Amg::AggregationCriterion::setDefaultValuesAnisotropic (std::size_t dim, std::size_t diameter=2)
 Sets reasonable default values for an aisotropic problem.
std::size_t Dune::Amg::AggregationCriterion::maxDistance () const
 Get the maximal distance allowed between to nodes in a aggregate.
void Dune::Amg::AggregationCriterion::setMaxDistance (std::size_t distance)
 Set the maximal distance allowed between to nodes in a aggregate.
bool Dune::Amg::AggregationCriterion::skipIsolated () const
std::size_t Dune::Amg::AggregationCriterion::minAggregateSize () const
 Get the minimum number of nodes a aggregate has to consist of.
void Dune::Amg::AggregationCriterion::setMinAggregateSize (std::size_t size)
 Set the minimum number of nodes a aggregate has to consist of.
std::size_t Dune::Amg::AggregationCriterion::maxAggregateSize () const
 Get the maximum number of nodes a aggregate is allowed to have.
void Dune::Amg::AggregationCriterion::setMaxAggregateSize (std::size_t size)
 Set the maximum number of nodes a aggregate is allowed to have.
std::size_t Dune::Amg::AggregationCriterion::maxConnectivity () const
 Get the maximum number of connections a aggregate is allowed to have.
void Dune::Amg::AggregationCriterion::setMaxConnectivity (std::size_t connectivity)
 Set the maximum number of connections a aggregate is allowed to have.
void Dune::Amg::AggregationCriterion::setDebugLevel (int level)
 Set the debugging level.
int Dune::Amg::AggregationCriterion::debugLevel () const
 Get the debugging Level.
template<class T >
std::ostream & Dune::Amg::operator<< (std::ostream &os, const AggregationCriterion< T > &criterion)
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.
void Dune::Amg::Dependency::init (const Matrix *matrix)
void Dune::Amg::Dependency::initRow (const Row &row, int index)
void Dune::Amg::Dependency::examine (const ColIter &col)
template<class G >
void Dune::Amg::Dependency::examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool Dune::Amg::Dependency::isIsolated ()
void Dune::Amg::SymmetricDependency::init (const Matrix *matrix)
void Dune::Amg::SymmetricDependency::initRow (const Row &row, int index)
void Dune::Amg::SymmetricDependency::examine (const ColIter &col)
template<class G >
void Dune::Amg::SymmetricDependency::examine (G &graph, const typename G::EdgeIterator &edge, const ColIter &col)
bool Dune::Amg::SymmetricDependency::isIsolated ()
template<class M >
M::field_type Dune::Amg::Diagonal::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.
 Dune::Amg::AggregatesMap::AggregatesMap ()
 Constructs without allocating memory.
 Dune::Amg::AggregatesMap::AggregatesMap (std::size_t noVertices)
 Constructs with allocating memory.
 Dune::Amg::AggregatesMap::~AggregatesMap ()
 Destructor.
template<class M , class G , class C >
tuple< int, int, int, int > Dune::Amg::AggregatesMap::buildAggregates (const M &matrix, G &graph, const C &criterion)
 Build the aggregates.
template<bool reset, class G , class F , class VM >
std::size_t Dune::Amg::AggregatesMap::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::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::allocate (std::size_t noVertices)
 Allocate memory for holding the information.
std::size_t Dune::Amg::AggregatesMap::noVertices () const
 Get the number of vertices.
void Dune::Amg::AggregatesMap::free ()
 Free the allocated memory.
AggregateDescriptor & Dune::Amg::AggregatesMap::operator[] (const VertexDescriptor &v)
 Get the aggregate a vertex belongs to.
const AggregateDescriptor & Dune::Amg::AggregatesMap::operator[] (const VertexDescriptor &v) const
 Get the aggregate a vertex belongs to.
const_iterator Dune::Amg::AggregatesMap::begin () const
const_iterator Dune::Amg::AggregatesMap::end () const
iterator Dune::Amg::AggregatesMap::begin ()
iterator Dune::Amg::AggregatesMap::end ()
template<class G , class C >
void Dune::Amg::buildDependency (G &graph, const typename C::Matrix &matrix, C criterion)
 Build the dependency of the matrix graph.
 Dune::Amg::Aggregate::Aggregate (const MatrixGraph &graph, AggregatesMap< Vertex > &aggregates, VertexSet &connectivity)
 Constructor.
void Dune::Amg::Aggregate::reconstruct (const Vertex &vertex)
 Reconstruct the aggregat from an seed node.
void Dune::Amg::Aggregate::seed (const Vertex &vertex)
 Initialize the aggregate with one vertex.
void Dune::Amg::Aggregate::add (const Vertex &vertex)
 Add a vertex to the aggregate.
void Dune::Amg::Aggregate::clear ()
 Clear the aggregate.
VertexList::size_type Dune::Amg::Aggregate::size ()
 Get the size of the aggregate.
VertexList::size_type Dune::Amg::Aggregate::connectSize ()
 Get tne number of connections to other aggregates.
int Dune::Amg::Aggregate::id ()
 Get the id identifying the aggregate.
const_iterator Dune::Amg::Aggregate::begin () const
 get an iterator over the vertices of the aggregate.
const_iterator Dune::Amg::Aggregate::end () const
 get an iterator over the vertices of the aggregate.
 Dune::Amg::Aggregator::Aggregator ()
 Constructor.
 Dune::Amg::Aggregator::~Aggregator ()
 Destructor.
template<class M , class C >
tuple< int, int, int, int > Dune::Amg::Aggregator::build (const M &m, G &graph, AggregatesMap< Vertex > &aggregates, const C &c)
 Build the aggregates.
 Dune::Amg::Aggregator::Stack::Stack (const MatrixGraph &graph, const Aggregator< G > &aggregatesBuilder, const AggregatesMap< Vertex > &aggregates)
 Dune::Amg::Aggregator::Stack::~Stack ()
bool Dune::Amg::Aggregator::Stack::push (const Vertex &v)
void Dune::Amg::Aggregator::Stack::fill ()
Vertex Dune::Amg::Aggregator::Stack::pop ()
 Dune::Amg::Aggregator::AggregateVisitor::AggregateVisitor (const AggregatesMap< Vertex > &aggregates, const AggregateDescriptor &aggregate, Visitor &visitor)
 Constructor.
void Dune::Amg::Aggregator::AggregateVisitor::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
 Examine an edge.
int Dune::Amg::Aggregator::Counter::value ()
 Access the current count.
void Dune::Amg::Aggregator::Counter::increment ()
 Increment counter.
void Dune::Amg::Aggregator::Counter::decrement ()
 Decrement counter.
void Dune::Amg::Aggregator::FrontNeighbourCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
void Dune::Amg::Aggregator::ConnectivityCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
void Dune::Amg::Aggregator::DependencyCounter::operator() (const typename MatrixGraph::ConstEdgeIterator &edge)
void Dune::Amg::Aggregator::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::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.
template<class C >
 Dune::Amg::AMG::AMG (const Operator &fineOperator, const C &criterion, const SmootherArgs &smootherArgs, std::size_t gamma=1, std::size_t preSmoothingSteps=2, std::size_t postSmoothingSteps=2, bool additive=false, const ParallelInformation &pinfo=ParallelInformation())
 Construct an AMG with an inexact coarse solver based on the smoother.
 Dune::Amg::AMG::~AMG ()
void Dune::Amg::AMG::pre (Domain &x, Range &b)
void Dune::Amg::AMG::apply (Domain &v, const Range &d)
void Dune::Amg::AMG::post (Domain &x)
template<class A1 >
void Dune::Amg::AMG::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::levels ()
std::size_t Dune::Amg::AMG::maxlevels ()
static T * Dune::Amg::ConstructionTraits::construct (Arguments &args)
 Construct an object with the specified arguments.
static void Dune::Amg::ConstructionTraits::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::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::PropertyGraphVertexPropertyMap (G &g)
 Constructor.
 Dune::Amg::PropertyGraphVertexPropertyMap::PropertyGraphVertexPropertyMap ()
 Default constructor.
Reference Dune::Amg::PropertyGraphVertexPropertyMap::operator[] (const Vertex &vertex) const
 Get the properties associated to a vertex.
std::ostream & Dune::Amg::operator<< (std::ostream &os, const VertexProperties &props)
void Dune::Amg::SparsityBuilder::insert (const typename M::size_type &index)
void Dune::Amg::SparsityBuilder::operator++ ()
std::size_t Dune::Amg::SparsityBuilder::minRowSize ()
std::size_t Dune::Amg::SparsityBuilder::maxRowSize ()
std::size_t Dune::Amg::SparsityBuilder::sumRowSize ()
template<class M , class G , class V , class Set >
M * Dune::Amg::GalerkinProduct::build (const M &fine, G &fineGraph, V &visitedMap, const ParallelInformation &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::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::ConnectedBuilder (const AggregatesMap< Vertex > &aggregates, Graph &graph, VisitedMap &visitedMap, Set &connected)
 Constructor.
void Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder::operator() (const ConstEdgeIterator &edge)
 Process an edge pointing to another aggregate.
template<class V , class O , class R >
static void Dune::Amg::ConnectivityConstructor::examine (G &graph, V &visitedMap, const T &pinfo, const AggregatesMap< Vertex > &aggregates, const O &overlap, const std::size_t *overlapStart, 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 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::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::ParallelAggregateRenumberer::ParallelAggregateRenumberer (AggregatesMap< Vertex > &aggregates, const I &lookup)
void Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::operator() (const typename G::ConstEdgeIterator &edge)
Vertex Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::operator() (const GlobalIndex &global)
bool Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::isPublic ()
void Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::isPublic (bool b)
void Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::reset ()
void Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::attribute (const Attribute &attribute)
Attribute Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::attribute ()
const GlobalIndex & Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::globalIndex () const
void Dune::Amg::ParallelIndicesCoarsener::ParallelAggregateRenumberer::globalIndex (const GlobalIndex &global)
Reference Dune::Amg::RandomAccessBundledPropertyMap::operator[] (const Key &key) const
 Get the property for a key.
 Dune::Amg::RandomAccessBundledPropertyMap::RandomAccessBundledPropertyMap (Container &container)
 Constructor.
 Dune::Amg::RandomAccessBundledPropertyMap::RandomAccessBundledPropertyMap ()
 The default constructor.
 Dune::Amg::DefaultSmootherArgs::DefaultSmootherArgs ()
 Default constructor.
virtual Dune::Amg::DefaultConstructionArgs::~DefaultConstructionArgs ()
void Dune::Amg::DefaultConstructionArgs::setMatrix (const Matrix &matrix)
virtual void Dune::Amg::DefaultConstructionArgs::setMatrix (const Matrix &matrix, const AggregatesMap &amap)
const Matrix & Dune::Amg::DefaultConstructionArgs::getMatrix () const
void Dune::Amg::DefaultConstructionArgs::setArgs (const SmootherArgs &args)
template<class T1 >
void Dune::Amg::DefaultConstructionArgs::setComm (T1 &comm)
const SmootherArgs Dune::Amg::DefaultConstructionArgs::getArgs () const
void Dune::Amg::DefaultParallelConstructionArgs::setComm (const C &comm)
const C & Dune::Amg::DefaultParallelConstructionArgs::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)
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 void Dune::Amg::SmootherApplier::preSmooth (Smoother &smoother, Domain &v, const Range &d)
 apply pre smoothing in forward direction
static void Dune::Amg::SmootherApplier::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< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::preSmooth (Smoother &smoother, Domain &v, const Range &d)
static void Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::postSmooth (Smoother &smoother, Domain &v, const Range &d)
 Dune::Amg::SeqOverlappingSchwarzSmootherArgs::SeqOverlappingSchwarzSmootherArgs (Overlap overlap_=vertex)
virtual void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::setMatrix (const M &matrix, const AggregatesMap &amap)
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::setMatrix (const M &matrix)
const Vector & Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::getSubDomains ()
template<class T >
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::operator() (const T &edge)
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::setAggregate (const AggregateDescriptor &aggregate_)
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::noSubdomains () const
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::NoneAdder::setAggregate (const AggregateDescriptor &aggregate_)
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::NoneAdder::noSubdomains () const
template<class T >
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder::operator() (const T &edge)
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder::setAggregate (const AggregateDescriptor &aggregate_)
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder::noSubdomains () const
static SeqOverlappingSchwarz
< M, X, TM, b, TA > * 
Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, b, TA > >::construct (Arguments &args)
static void Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, b, TA > >::deconstruct (SeqOverlappingSchwarz< M, X, TM, b, TA > *schwarz)
template<class C >
 Dune::Amg::AMG::AMG (const Operator &matrix, const C &criterion, const SmootherArgs &smootherArgs, std::size_t gamma, std::size_t preSmoothingSteps, std::size_t postSmoothingSteps, bool additive_, const P &pinfo)
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)
 Dune::Amg::SparsityBuilder::SparsityBuilder (M &matrix)
 Constructor.
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 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)
template<class M , class O >
static void Dune::Amg::DirichletBoundarySetter::set (M &coarse, const T &pinfo, const O &copy)
template<class M , class O >
static void Dune::Amg::DirichletBoundarySetter< SequentialInformation >::set (M &coarse, const SequentialInformation &pinfo, const O &copy)
 Dune::Amg::MatrixHierarchy::MatrixHierarchy (const MatrixOperator &fineMatrix, const ParallelInformation &pinfo=ParallelInformation())
 Constructor.
template<typename O , typename T >
void Dune::Amg::MatrixHierarchy::build (const T &criterion)
 Build the matrix hierarchy using aggregation.
const ParallelMatrixHierarchy & Dune::Amg::MatrixHierarchy::matrices () const
 Get the matrix hierarchy.
const
ParallelInformationHierarchy & 
Dune::Amg::MatrixHierarchy::parallelInformation () const
 Get the hierarchy of the parallel data distribution information.
void Dune::Amg::MatrixHierarchy::getCoarsestAggregatesOnFinest (std::vector< std::size_t > &data) const
 Get the mapping of fine level unknowns to coarse level aggregates.
const AggregatesMapList & Dune::Amg::MatrixHierarchy::aggregatesMaps () const
 Get the hierarchy of the mappings of the nodes onto aggregates.
const RedistributeInfoList & Dune::Amg::MatrixHierarchy::redistributeInformation () const
 Get the hierachy of the information about redistributions,.
 Dune::Amg::MatrixHierarchy::~MatrixHierarchy ()
template<class V , class TA >
void Dune::Amg::MatrixHierarchy::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::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::recalculateGalerkin (const F &copyFlags)
 Recalculate the galerkin products.
std::size_t Dune::Amg::MatrixHierarchy::levels () const
 Get the number of levels in the hierarchy.
std::size_t Dune::Amg::MatrixHierarchy::maxlevels () const
 Get the max number of levels in the hierarchy of processors.
bool Dune::Amg::MatrixHierarchy::hasCoarsest () const
bool Dune::Amg::MatrixHierarchy::isBuilt () const
 Whether the hierarchy wis built.
 Dune::Amg::Hierarchy::Hierarchy ()
 Construct a new empty hierarchy.
 Dune::Amg::Hierarchy::Hierarchy (MemberType &first)
 Construct a new hierarchy.
 Dune::Amg::Hierarchy::~Hierarchy ()
 Destructor.
std::size_t Dune::Amg::Hierarchy::levels () const
 Get the number of levels in the hierarchy.
void Dune::Amg::Hierarchy::addRedistributedOnCoarsest (T *t)
void Dune::Amg::Hierarchy::addCoarser (Arguments &args)
 Add an element on a coarser level.
void Dune::Amg::Hierarchy::addFiner (Arguments &args)
 Add an element on a finer level.
Iterator Dune::Amg::Hierarchy::finest ()
 Get an iterator positioned at the finest level.
Iterator Dune::Amg::Hierarchy::coarsest ()
 Get an iterator positioned at the coarsest level.
ConstIterator Dune::Amg::Hierarchy::finest () const
 Get an iterator positioned at the finest level.
ConstIterator Dune::Amg::Hierarchy::coarsest () const
 Get an iterator positioned at the coarsest level.
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)
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

static const V Dune::Amg::AggregatesMap::ISOLATED
 Identifier of isolated vertices.
M * Dune::Amg::OverlappingSchwarzOperatorArgs::matrix_
C * Dune::Amg::OverlappingSchwarzOperatorArgs::comm_
Aggregate Dune::Amg::OverlapVertex::aggregate
 The aggregate the vertex belongs to.
Vertex Dune::Amg::OverlapVertex::vertex
 The vertex descriptor.
int Dune::Amg::DefaultSmootherArgs::iterations
 The numbe of iterations to perform.
RelaxationFactor Dune::Amg::DefaultSmootherArgs::relaxationFactor
 The relaxation factor to use.
const Matrix * Dune::Amg::DefaultConstructionArgs::matrix_
Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs::overlap

Friends

class Dune::Amg::Aggregator::Stack

Detailed Description

A Parallel Algebraic Multigrid based on Agglomeration.


Typedef Documentation

template<class M , class X , class TM , bool b, class TA >
typedef AggregatesMap::AggregateDescriptor Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateDescriptor [inherited]
template<class G>
typedef MatrixGraph::VertexDescriptor Dune::Amg::Aggregator< G >::AggregateDescriptor [inherited]

The type of the aggregate descriptor.

template<class V>
typedef V Dune::Amg::AggregatesMap< V >::AggregateDescriptor [inherited]

The aggregate descriptor type.

template<class M , class X , class TM , bool b, class TA >
typedef Dune::Amg::AggregatesMap<VertexDescriptor> Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregatesMap [inherited]
template<class G, class S>
typedef PoolAllocator<Vertex,100> Dune::Amg::Aggregate< G, S >::Allocator [inherited]

The allocator we use for our lists and the set.

template<class V>
typedef PoolAllocator<VertexDescriptor,100> Dune::Amg::AggregatesMap< V >::Allocator [inherited]

The allocator we use for our lists and the set.

template<typename T, typename E>
typedef LocalIndex::Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::Attribute [inherited]

The type of the attribute.

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

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 [inherited]

The category of the property map.

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 [inherited]

the type of the coarse solver.

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

Constant column iterator of the matrix.

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

Constant column iterator of the matrix.

template<class G, class S>
typedef VertexList::const_iterator Dune::Amg::Aggregate< G, S >::const_iterator [inherited]

Const iterator over a vertex list.

template<class V>
typedef const AggregateDescriptor* Dune::Amg::AggregatesMap< V >::const_iterator [inherited]
template<class G, class S, class V>
typedef Graph::ConstEdgeIterator Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::ConstEdgeIterator [inherited]

The constant edge iterator.

template<class M , class X , bool b, class TA >
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::Domain [inherited]
template<class M , class X , class Y , int l>
typedef Smoother::domain_type Dune::Amg::SmootherApplier< SeqSOR< M, X, Y, l > >::Domain [inherited]
template<class T >
typedef Smoother::domain_type Dune::Amg::SmootherApplier< T >::Domain [inherited]
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 [inherited]

The domain type.

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

The type of the global index.

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

The type of the graph with internal properties.

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

The key of the property map.

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

The type of the local index.

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

The norm to use for examining the matrix entries.

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

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 MatrixHierarchy<M, ParallelInformation, A> Dune::Amg::AMG< M, X, S, PI, A >::OperatorHierarchy [inherited]

The operator hierarchy type.

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

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 [inherited]

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

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 [inherited]

The parallal data distribution hierarchy type.

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

The range type.

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 [inherited]

The reference type of the container.

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

The reference type.

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

The type of the remote indices.

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

Constant Row iterator of the matrix.

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

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 [inherited]
template<class G, class S, class V>
typedef S Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Set [inherited]

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 [inherited]

The type of the smoother.

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

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 [inherited]

The argument type for the construction of the smoother.

template<class G, class S>
typedef std::size_t* Dune::Amg::Aggregate< G, S >::SphereMap [inherited]

Type of the mapping of aggregate members onto distance spheres.

template<class M , class X , class TM , bool b, class TA >
typedef Vector::value_type Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::Subdomain [inherited]
template<typename G , std::size_t i>
typedef bool Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::ValueType [inherited]

The value type.

template<class M , class X , class TM , bool b, class TA >
typedef SeqOverlappingSchwarz<M,X,TM,b,TA>::subdomain_vector Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::Vector [inherited]
template<class G, class S, class V>
typedef Graph::VertexDescriptor Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::Vertex [inherited]

The vertex descriptor of the graph.

template<class T>
typedef T Dune::Amg::OverlapVertex< T >::Vertex [inherited]

The vertex descriptor.

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

The vertex descriptor.

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

The vertex identifier.

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

The vertex descriptor type.

template<class M , class X , class TM , bool b, class TA >
typedef MatrixGraph<M>::VertexDescriptor Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexDescriptor [inherited]
template<class V>
typedef V Dune::Amg::AggregatesMap< V >::VertexDescriptor [inherited]

The vertex descriptor type.

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

The type of a single linked list of vertex descriptors.

template<class V>
typedef SLList<VertexDescriptor,Allocator> Dune::Amg::AggregatesMap< V >::VertexList [inherited]

The type of a single linked list of vertex descriptors.

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

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 [inherited]

The type of the map for marking vertices as visited.


Enumeration Type Documentation

template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
anonymous enum [inherited]
Enumerator:
category 

The solver category.

anonymous enum [inherited]

Flags of the link.

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

the index to access in the bitset.

template<typename C , typename K , std::size_t i, typename T = typename C::ValueType, typename R = typename C::Reference>
anonymous enum [inherited]
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.


Function Documentation

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

Add a vertex to the aggregate.

template<class T , class A >
void Dune::Amg::Hierarchy< T, A >::addCoarser ( Arguments args  )  [inline, inherited]

Add an element on a coarser level.

Parameters:
args The arguments needed for the construction.

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

template<class T , class A >
void Dune::Amg::Hierarchy< T, A >::addFiner ( Arguments args  )  [inline, inherited]

Add an element on a finer level.

Parameters:
args The arguments needed for the construction.
template<class T, class A >
void Dune::Amg::Hierarchy< T, A >::addRedistributedOnCoarsest ( T *  t  )  [inline, inherited]
template<class G, class S>
Dune::Amg::Aggregate< G, S >::Aggregate ( const MatrixGraph graph,
AggregatesMap< Vertex > &  aggregates,
VertexSet connectivity 
) [inherited]

Constructor.

Parameters:
graph The matrix graph we work on.
aggregates The mapping of vertices onto aggregates.
connectivity The set of vertices connected to the aggregate. distance spheres.
template<class V>
Dune::Amg::AggregatesMap< V >::AggregatesMap ( std::size_t  noVertices  )  [inherited]

Constructs with allocating memory.

Parameters:
noVertices The number of vertices we will hold information for.
template<class V>
Dune::Amg::AggregatesMap< V >::AggregatesMap (  )  [inherited]

Constructs without allocating memory.

template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::AggregatesMapList & Dune::Amg::MatrixHierarchy< M, IS, A >::aggregatesMaps (  )  const [inline, inherited]

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

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

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

template<class G>
template<class V >
Dune::Amg::Aggregator< G >::AggregateVisitor< V >::AggregateVisitor ( const AggregatesMap< Vertex > &  aggregates,
const AggregateDescriptor aggregate,
Visitor &  visitor 
) [inherited]

Constructor.

Parameters:
aggregates The aggregate numbers of the vertices.
aggregate The id of the aggregate to visit.
visitor The visitor.
template<class T>
Dune::Amg::AggregationCriterion< T >::AggregationCriterion (  )  [inline, inherited]

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 (  )  [inherited]

Constructor.

template<class V>
void Dune::Amg::AggregatesMap< V >::allocate ( std::size_t  noVertices  )  [inherited]

Allocate memory for holding the information.

Parameters:
noVertices The total number of vertices to be mapped.
double Dune::Amg::DependencyParameters::alpha (  )  const [inline, inherited]

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

template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
template<class C >
Dune::Amg::AMG< M, X, S, PI, A >::AMG ( const Operator matrix,
const C &  criterion,
const SmootherArgs smootherArgs,
std::size_t  gamma,
std::size_t  preSmoothingSteps,
std::size_t  postSmoothingSteps,
bool  additive_,
const P &  pinfo 
) [inline, inherited]
template<class M , class X , class S , class PI = SequentialInformation, class A = std::allocator<X>>
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 = 1,
std::size_t  preSmoothingSteps = 2,
std::size_t  postSmoothingSteps = 2,
bool  additive = false,
const ParallelInformation pinfo = ParallelInformation() 
) [inline, inherited]

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

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

Parameters:
fineOperator The operator on the fine level.
criterion The criterion describing the coarsening strategy. E. g. SymmetricCriterion or UnsymmetricCriterion.
smootherArgs The arguments for constructing the smoothers.
gamma 1 for V-cycle, 2 for W-cycle
preSmoothingSteps The number of smoothing steps for premoothing.
postSmoothingSteps The number of smoothing steps for postmoothing.
pinfo The information about the parallel distribution of the data.
template<class M , class X , class S , class P , class A >
Dune::Amg::AMG< M, X, S, P, 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 
) [inline, inherited]

Construct a new amg with a specific coarse solver.

Parameters:
matrices The already set up matix hierarchy.
coarseSolver The set up solver to use on the coarse grid, must natch the soarse matrix in the matrix hierachy.
smootherArgs The arguments needed for thesmoother to use for pre and post smoothing
gamma The number of subcycles. 1 for V-cycle, 2 for W-cycle.
preSmoothingSteps The number of smoothing steps for premoothing.
postSmoothingSteps The number of smoothing steps for postmoothing.

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

template<class M , class X , class S , class P , class A >
void Dune::Amg::AMG< M, X, S, P, A >::apply ( Domain v,
const Range d 
) [inline, virtual, inherited]

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] v The update to be computed
d The current defect.

Implements Dune::Preconditioner< X, X >.

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

template<typename T, typename E>
template<typename G , typename I >
Attribute Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute (  )  [inline, inherited]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::attribute ( const Attribute attribute  )  [inline, inherited]
template<class G, class S>
const_iterator Dune::Amg::Aggregate< G, S >::begin (  )  const [inherited]

get an iterator over the vertices of the aggregate.

template<class V>
iterator Dune::Amg::AggregatesMap< V >::begin (  )  [inline, inherited]
template<class V>
const_iterator Dune::Amg::AggregatesMap< V >::begin (  )  const [inline, inherited]
double Dune::Amg::DependencyParameters::beta (  )  const [inline, inherited]

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

Returns:
beta
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 [inline, inherited]

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

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:
start The vertex where the search should start from. This does not need to belong to the aggregate.
aggregate The aggregate id.
graph The matrix graph to perform the search on.
visitedMap A map to mark the already visited vertices
aggregateVisitor A functor that is called with each G::ConstEdgeIterator with an edge pointing to the aggregate. Use DummyVisitor if these are of no interest.
template<class M , class IS , class A >
template<typename O , typename T >
void Dune::Amg::MatrixHierarchy< M, IS, A >::build ( const T &  criterion  )  [inline, inherited]
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 
) [inline, inherited]

Calculates the coarse matrix via a Galerkin product.

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

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

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,
const AggregatesMap< typename G::VertexDescriptor > &  aggregates,
const typename M::size_type &  size,
const Set &  copy 
) [inline, inherited]

Calculates the coarse matrix via a Galerkin product.

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

References count, 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 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 
) [inline, inherited]

Build the aggregates.

The template parameter C Is the type of the coarsening Criterion to use.

Parameters:
m The matrix to build the aggregates accordingly.
graph A (sub) graph of the matrix.
aggregates Aggregate map we will build. All entries should be initialized to UNAGGREGATED!
c The coarsening criterion to use.
Returns:
The number of (not 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 
) [inline, inherited]

Build the aggregates.

Parameters:
matrix The matrix describing the dependency.
graph The graph corresponding to the matrix.
criterion The aggregation criterion.
Returns:
The number of 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 
) [inline]

Build the dependency of the matrix graph.

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

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

References col, and row.

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

Clear the aggregate.

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

Build the coarse index set after the aggregatio.

Parameters:
fineInfo The parallel information at the fine level.
fineGraph The graph of the fine lecel,
visitedMap Map for marking vertices as visited.
aggregates The mapping of unknowns onto aggregates.
coarseInfo The information about the parallel data decomposition on the coarse level.
Returns:
The number of unknowns on the coarse level.
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 [inline, inherited]

Coarsen the smoother hierarchy according to the matrix hierarchy.

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

References Dune::Amg::Hierarchy< T, A >::addCoarser(), Dune::Amg::Hierarchy< T, A >::coarsest(), Dune::Amg::Hierarchy< T, A >::finest(), Dune::Amg::MatrixHierarchy< M, PI, A >::levels(), Dune::Amg::Hierarchy< T, A >::levels(), and Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels().

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

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

Coarsen the vector hierarchy according to the matrix hierarchy.

Parameters:
hierarchy The vector hierarchy to coarsen.

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

Referenced by 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 [inline, inherited]

Get an iterator positioned at the coarsest level.

Returns:
An iterator positioned at the coarsest level.
template<class T , class A >
Hierarchy< T, A >::Iterator Dune::Amg::Hierarchy< T, A >::coarsest (  )  [inline, inherited]
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 
) [inline, inherited]

Constructor.

Parameters:
aggregates The mapping of the vertices onto the aggregates.
graph The graph to work on.
visitedMap The map for marking vertices as visited
connected The set to added the connected aggregates to.
template<class G, class S>
VertexList::size_type Dune::Amg::Aggregate< G, S >::connectSize (  )  [inherited]

Get tne number of connections to other aggregates.

template<class M , class X , class TM , bool b, class TA >
static SeqOverlappingSchwarz<M,X,TM,b,TA>* Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, b, TA > >::construct ( Arguments args  )  [inline, static, inherited]
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, inherited]
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, inherited]
template<class M , class X , class Y >
static SeqILUn<M,X,Y>* Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::construct ( Arguments args  )  [inline, static, inherited]
template<class M , class X , class Y >
static SeqILU0<M,X,Y>* Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::construct ( Arguments args  )  [inline, static, inherited]
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, inherited]
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, inherited]
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, inherited]
template<class T >
static BlockVector<T>* Dune::Amg::ConstructionTraits< BlockVector< T > >::construct ( Arguments n  )  [inline, static, inherited]
template<typename T>
static T* Dune::Amg::ConstructionTraits< T >::construct ( Arguments args  )  [inline, static, inherited]

Construct an object with the specified arguments.

In the default implementation the copy constructor is called.

Parameters:
args The arguments for the construction.

Referenced by Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::construct().

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 
) [inline, static, inherited]
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 
) [inline, static, inherited]
template<class T>
int Dune::Amg::AggregationCriterion< T >::debugLevel (  )  const [inline, inherited]

Get the debugging Level.

Returns:
0 if no debugging output will be generated.
template<class M , class X , class TM , bool b, class TA >
static void Dune::Amg::ConstructionTraits< SeqOverlappingSchwarz< M, X, TM, b, TA > >::deconstruct ( SeqOverlappingSchwarz< M, X, TM, b, TA > *  schwarz  )  [inline, static, inherited]
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, inherited]
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, inherited]
template<class M , class X , class Y >
static void Dune::Amg::ConstructionTraits< SeqILUn< M, X, Y > >::deconstruct ( SeqILUn< M, X, Y > *  ilu  )  [inline, static, inherited]
template<class M , class X , class Y >
static void Dune::Amg::ConstructionTraits< SeqILU0< M, X, Y > >::deconstruct ( SeqILU0< M, X, Y > *  ilu  )  [inline, static, inherited]
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, inherited]
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, inherited]
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, inherited]
template<class T >
static void Dune::Amg::ConstructionTraits< BlockVector< T > >::deconstruct ( BlockVector< T > *  t  )  [inline, static, inherited]
template<typename T>
static void Dune::Amg::ConstructionTraits< T >::deconstruct ( T *  t  )  [inline, static, inherited]

Destroys an object.

Parameters:
t Pointer to the object to destroy.

Referenced by Dune::Amg::ConstructionTraits< BlockPreconditioner< X, Y, C, T > >::deconstruct().

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

Decrement counter.

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

Default constructor.

bool Dune::Amg::EdgeProperties::depends (  )  const [inline, inherited]

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.

Dune::Amg::EdgeProperties::EdgeProperties (  )  [inherited]

Constructor.

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

get an iterator over the vertices of the aggregate.

template<class V>
iterator Dune::Amg::AggregatesMap< V >::end (  )  [inline, inherited]
template<class V>
const_iterator Dune::Amg::AggregatesMap< V >::end (  )  const [inline, inherited]
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 
) [inline, static, inherited]
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 std::size_t *  overlapStart,
const OverlapVertex< Vertex > *  overlapVertices,
const OverlapVertex< Vertex > *  overlapEnd,
R &  row 
) [inline, static, inherited]
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 
) [inline, inherited]
template<class M, class N>
void Dune::Amg::SymmetricDependency< M, N >::examine ( const ColIter col  )  [inherited]
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 
) [inline, inherited]
template<class M, class N>
void Dune::Amg::Dependency< M, N >::examine ( const ColIter col  )  [inherited]
bool Dune::Amg::VertexProperties::excludedBorder (  )  const [inline, inherited]

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 (  )  [inherited]
template<class T , class A >
Hierarchy< T, A >::ConstIterator Dune::Amg::Hierarchy< T, A >::finest (  )  const [inline, inherited]

Get an iterator positioned at the finest level.

Returns:
An iterator positioned at the finest level.
template<class T , class A >
Hierarchy< T, A >::Iterator Dune::Amg::Hierarchy< T, A >::finest (  )  [inline, inherited]
template<class V>
void Dune::Amg::AggregatesMap< V >::free (  )  [inherited]

Free the allocated memory.

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

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

Checks wether the node is marked as a front node.

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

template<class T>
const SmootherArgs Dune::Amg::DefaultConstructionArgs< T >::getArgs (  )  const [inline, inherited]
template<class M , class X , class S , class P , class A >
template<class A1 >
void Dune::Amg::AMG< M, X, S, P, A >::getCoarsestAggregateNumbers ( std::vector< std::size_t, A1 > &  cont  )  [inline, inherited]

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

Parameters:
cont The random access container to store the numbers in.

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

template<class M , class IS , class A >
void Dune::Amg::MatrixHierarchy< M, IS, A >::getCoarsestAggregatesOnFinest ( std::vector< std::size_t > &  data  )  const [inline, inherited]

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] data The mapping of fine level unknowns to coarse level aggregates.

References Dune::Amg::MatrixHierarchy< M, PI, A >::aggregatesMaps(), Dune::Amg::AggregatesMap< V >::begin(), Dune::Amg::Hierarchy< T, A >::coarsest(), Dune::Amg::AggregatesMap< V >::end(), Dune::Amg::Hierarchy< T, A >::finest(), Dune::Amg::AggregatesMap< V >::ISOLATED, Dune::Amg::MatrixHierarchy< M, PI, A >::levels(), Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels(), and Dune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation().

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

template<class T , class C = SequentialInformation>
const C& Dune::Amg::DefaultParallelConstructionArgs< T, C >::getComm (  )  const [inline, inherited]
template<class T>
const Matrix& Dune::Amg::DefaultConstructionArgs< T >::getMatrix (  )  const [inline, inherited]
template<class M , class X , class Y >
int Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::getN (  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
const Vector& Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::getSubDomains (  )  [inline, inherited]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex ( const GlobalIndex global  )  [inline, inherited]
template<typename T, typename E>
template<typename G , typename I >
const GlobalIndex& Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::globalIndex (  )  const [inline, inherited]
template<class M , class IS , class A >
bool Dune::Amg::MatrixHierarchy< M, IS, A >::hasCoarsest (  )  const [inline, inherited]
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::Hierarchy ( MemberType first  )  [inline, inherited]

Construct a new hierarchy.

Parameters:
first The first element in the hierarchy.
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::Hierarchy (  )  [inline, inherited]

Construct a new empty hierarchy.

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

Get the id identifying the aggregate.

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

Increment counter.

bool Dune::Amg::EdgeProperties::influences (  )  const [inline, inherited]

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::SymmetricDependency< M, N >::init ( const Matrix matrix  )  [inherited]
template<class M, class N>
void Dune::Amg::Dependency< M, N >::init ( const Matrix matrix  )  [inherited]
template<class M, class N>
void Dune::Amg::SymmetricDependency< M, N >::initRow ( const Row row,
int  index 
) [inherited]
template<class M, class N>
void Dune::Amg::Dependency< M, N >::initRow ( const Row row,
int  index 
) [inherited]
template<class M >
void Dune::Amg::SparsityBuilder< M >::insert ( const typename M::size_type &  index  )  [inline, inherited]
template<class M , class IS , class A >
bool Dune::Amg::MatrixHierarchy< M, IS, A >::isBuilt (  )  const [inline, inherited]

Whether the hierarchy wis 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::SymmetricDependency< M, N >::isIsolated (  )  [inherited]
template<class M, class N>
bool Dune::Amg::Dependency< M, N >::isIsolated (  )  [inherited]
bool Dune::Amg::VertexProperties::isolated (  )  const [inline, inherited]

Checks wether the node is isolated.

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

bool Dune::Amg::EdgeProperties::isOneWay (  )  const [inline, inherited]

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 >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic ( bool  b  )  [inline, inherited]
template<typename T, typename E>
template<typename G , typename I >
bool Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::isPublic (  )  [inline, inherited]
bool Dune::Amg::EdgeProperties::isStrong (  )  const [inline, inherited]

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, inherited]

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 T , class A >
std::size_t Dune::Amg::Hierarchy< T, A >::levels (  )  const [inline, inherited]
template<class M , class IS , class A >
std::size_t Dune::Amg::MatrixHierarchy< M, IS, A >::levels (  )  const [inline, inherited]
template<class M , class X , class S , class P , class A >
std::size_t Dune::Amg::AMG< M, X, S, P, A >::levels (  )  [inline, inherited]
template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::ParallelMatrixHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::matrices (  )  const [inline, inherited]

Get the matrix hierarchy.

Returns:
The matrix hierarchy.

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

template<class M , class IS , class A >
Dune::Amg::MatrixHierarchy< M, IS, A >::MatrixHierarchy ( const MatrixOperator fineMatrix,
const ParallelInformation pinfo = ParallelInformation() 
) [inline, inherited]

Constructor.

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

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

template<class T>
std::size_t Dune::Amg::AggregationCriterion< T >::maxAggregateSize (  )  const [inline, inherited]

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

Returns:
The maximum number of nodes.
template<class T>
std::size_t Dune::Amg::AggregationCriterion< T >::maxConnectivity (  )  const [inline, inherited]

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.
template<class T>
std::size_t Dune::Amg::AggregationCriterion< T >::maxDistance (  )  const [inline, inherited]

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.
template<class M , class IS , class A >
std::size_t Dune::Amg::MatrixHierarchy< M, IS, A >::maxlevels (  )  const [inline, inherited]
template<class M , class X , class S , class P , class A >
std::size_t Dune::Amg::AMG< M, X, S, P, A >::maxlevels (  )  [inline, inherited]
template<class M >
std::size_t Dune::Amg::SparsityBuilder< M >::maxRowSize (  )  [inline, inherited]
template<class T>
std::size_t Dune::Amg::AggregationCriterion< T >::minAggregateSize (  )  const [inline, inherited]

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

Returns:
The minimum number of nodes.
template<class M >
std::size_t Dune::Amg::SparsityBuilder< M >::minRowSize (  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
template<class VM >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder< VM >::noSubdomains (  )  const [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::NoneAdder::noSubdomains (  )  const [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::noSubdomains (  )  const [inline, inherited]
template<class V>
std::size_t Dune::Amg::AggregatesMap< V >::noVertices (  )  const [inherited]
template<class M , class X , class TM , bool b, class TA >
template<class VM >
template<class T >
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder< VM >::operator() ( const T &  edge  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
template<class T >
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::operator() ( const T &  edge  )  [inline, inherited]
template<typename T, typename E>
template<typename G , typename I >
Vertex Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::operator() ( const GlobalIndex global  )  [inline, inherited]
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, inherited]
template<class G , class S , class V >
void Dune::Amg::BaseConnectivityConstructor::ConnectedBuilder< G, S, V >::operator() ( const ConstEdgeIterator edge  )  [inline, inherited]

Process an edge pointing to another aggregate.

Parameters:
edge The iterator positioned at the edge.
template<class G>
void Dune::Amg::Aggregator< G >::FrontMarker::operator() ( const typename MatrixGraph::ConstEdgeIterator edge  )  [inherited]
template<class G>
void Dune::Amg::Aggregator< G >::DependencyCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge  )  [inherited]
template<class G>
void Dune::Amg::Aggregator< G >::ConnectivityCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge  )  [inherited]
template<class G>
void Dune::Amg::Aggregator< G >::FrontNeighbourCounter::operator() ( const typename MatrixGraph::ConstEdgeIterator edge  )  [inherited]
template<class G>
template<class V >
void Dune::Amg::Aggregator< G >::AggregateVisitor< V >::operator() ( const typename MatrixGraph::ConstEdgeIterator edge  )  [inherited]

Examine an edge.

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

template<class M >
M::field_type Dune::Amg::RowSum::operator() ( const M &  m  )  const [inline, inherited]

compute the norm of a matrix.

Parameters:
m The matrix ro compute the norm of.
template<int N>
template<class M >
M::field_type Dune::Amg::Diagonal< N >::operator() ( const M &  m  )  const [inline, inherited]

compute the norm of a matrix.

Parameters:
m The matrix ro compute the norm of.
template<class M >
void Dune::Amg::SparsityBuilder< M >::operator++ (  )  [inline, inherited]
std::ostream& Dune::Amg::operator<< ( std::ostream &  os,
const VertexProperties &  props 
) [inline]
template<class T >
std::ostream& Dune::Amg::operator<< ( std::ostream &  os,
const AggregationCriterion< T > &  criterion 
) [inline]
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, inherited]

Get the property for a key.

Parameters:
key The key.
Returns:
The corresponding property.

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

template<typename G , std::size_t i>
Reference Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::operator[] ( const Vertex vertex  )  const [inline, inherited]

Get the properties associated to a vertex.

Parameters:
vertex The vertex whose Properties we want.

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

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

Acess the bits directly.

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

Access the bits directly.

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

Acess the bits directly.

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

Access the bits directly.

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

Get the aggregate a vertex belongs to.

Parameters:
v The vertex we want to know the aggregate of.
Returns:
The aggregate the vertex is mapped to.
template<class V>
AggregateDescriptor& Dune::Amg::AggregatesMap< V >::operator[] ( const VertexDescriptor v  )  [inherited]

Get the aggregate a vertex belongs to.

Parameters:
v The vertex we want to know the aggregate of.
Returns:
The aggregate the vertex is mapped to.
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, inherited]
template<class M , class IS , class A >
const MatrixHierarchy< M, IS, A >::ParallelInformationHierarchy & Dune::Amg::MatrixHierarchy< M, IS, A >::parallelInformation (  )  const [inline, inherited]

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 >::apply(), Dune::Amg::MatrixHierarchy< M, PI, A >::getCoarsestAggregatesOnFinest(), and Dune::Amg::AMG< M, X, S, PI, A >::pre().

template<class G>
Vertex Dune::Amg::Aggregator< G >::Stack::pop (  )  [inherited]
template<class M , class X , class S , class P , class A >
void Dune::Amg::AMG< M, X, S, P, A >::post ( Domain x  )  [inline, virtual, inherited]

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

Parameters:
x The right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

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

template<class M , class X , bool b, class TA >
static void Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::postSmooth ( Smoother smoother,
Domain v,
const Range d 
) [inline, static, inherited]
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, inherited]
template<class T >
static void Dune::Amg::SmootherApplier< T >::postSmooth ( Smoother smoother,
Domain v,
const Range d 
) [inline, static, inherited]

apply post smoothing in forward direction

Parameters:
smoother The smoother to use.
d The current defect.
v handle to store the update in.
template<class M , class X , class S , class P , class A >
void Dune::Amg::AMG< M, X, S, P, A >::pre ( Domain x,
Range b 
) [inline, virtual, inherited]

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:
x The left hand side of the equation.
b The right hand side of the equation.

Implements Dune::Preconditioner< X, X >.

References Dune::Amg::MatrixHierarchy< M, PI, A >::coarsenVector(), Dune::Amg::Hierarchy< T, A >::coarsest(), Dune::Amg::Hierarchy< T, A >::finest(), Dune::Amg::MatrixHierarchy< M, PI, A >::levels(), Dune::Amg::Hierarchy< T, A >::levels(), Dune::Amg::MatrixHierarchy< M, PI, A >::matrices(), Dune::Amg::MatrixHierarchy< M, PI, A >::maxlevels(), Dune::Amg::MatrixHierarchy< M, PI, A >::parallelInformation(), and Dune::Amg::MatrixHierarchy< M, PI, A >::redistributeInformation().

template<class M , class X , bool b, class TA >
static void Dune::Amg::SmootherApplier< SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, b, TA > >::preSmooth ( Smoother smoother,
Domain v,
const Range d 
) [inline, static, inherited]
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, inherited]
template<class T >
static void Dune::Amg::SmootherApplier< T >::preSmooth ( Smoother smoother,
Domain v,
const Range d 
) [inline, static, inherited]

apply pre smoothing in forward direction

Parameters:
smoother The smoother to use.
d The current defect.
v handle to store the update in.
template<class V >
void Dune::Amg::printAggregates2d ( const AggregatesMap< V > &  aggregates,
int  n,
int  m,
std::ostream &  os 
) [inline]
void Dune::Amg::EdgeProperties::printFlags (  )  const [inherited]

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,
T3  damp,
OwnerOverlapCopyCommunication< T1, T2 > &  comm 
) [inline, static, inherited]
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, inherited]
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, inherited]

References index.

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, inherited]
template<typename G , std::size_t i>
Dune::Amg::PropertyGraphVertexPropertyMap< G, i >::PropertyGraphVertexPropertyMap (  )  [inline, inherited]

Default constructor.

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

Constructor.

Parameters:
g The graph whose properties we access.
template<class G>
bool Dune::Amg::Aggregator< G >::Stack::push ( const Vertex v  )  [inherited]
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, inherited]

The default constructor.

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, inherited]

Constructor.

Parameters:
container The container with the property bundle.
template<class M , class IS , class A >
template<class F >
void Dune::Amg::MatrixHierarchy< M, IS, A >::recalculateGalerkin ( const F &  copyFlags  )  [inline, inherited]

Recalculate the galerkin products.

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

References Dune::Amg::BaseGalerkinProduct::calculate(), Dune::Amg::Hierarchy< T, A >::coarsest(), and Dune::Amg::Hierarchy< T, A >::finest().

template<class G, class S>
void Dune::Amg::Aggregate< G, S >::reconstruct ( const Vertex vertex  )  [inherited]

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

Get the hierachy of the information about redistributions,.

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

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

template<typename M >
bool Dune::Amg::repartitionAndDistributeMatrix ( M &  origMatrix,
M &  newMatrix,
SequentialInformation &  origComm,
SequentialInformation &  newComm,
RedistributeInformation< SequentialInformation > &  ri 
) [inline]
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 
) [inline]
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 
) [inline]
template<typename T, typename E>
template<typename G , typename I >
void Dune::Amg::ParallelIndicesCoarsener< T, E >::ParallelAggregateRenumberer< G, I >::reset (  )  [inline, inherited]
void Dune::Amg::VertexProperties::reset (  )  [inline, inherited]

Reset all flags.

void Dune::Amg::EdgeProperties::reset (  )  [inline, inherited]

Reset all flags.

void Dune::Amg::EdgeProperties::resetDepends (  )  [inline, inherited]

Resets the depends flag.

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

void Dune::Amg::VertexProperties::resetExcludedBorder (  )  [inline, inherited]

Marks the vertex as included in the aggregation.

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

void Dune::Amg::VertexProperties::resetFront (  )  [inline, inherited]

Resets the front node flag.

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

void Dune::Amg::EdgeProperties::resetInfluences (  )  [inline, inherited]

Resets the influence flag.

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

void Dune::Amg::VertexProperties::resetIsolated (  )  [inline, inherited]

Resets the isolated flag.

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

void Dune::Amg::VertexProperties::resetVisited (  )  [inline, inherited]

Resets the visited flag.

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

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, inherited]
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, inherited]
template<class G, class S>
void Dune::Amg::Aggregate< G, S >::seed ( const Vertex vertex  )  [inherited]

Initialize the aggregate with one vertex.

template<class T >
Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::SeqOverlappingSchwarzSmootherArgs ( Overlap  overlap_ = vertex  )  [inline, inherited]
template<class M , class O >
void Dune::Amg::DirichletBoundarySetter< SequentialInformation >::set ( M &  coarse,
const SequentialInformation pinfo,
const O &  copy 
) [inline, static, inherited]
template<class T >
template<class M , class O >
void Dune::Amg::DirichletBoundarySetter< T >::set ( M &  coarse,
const T &  pinfo,
const O &  copy 
) [inline, static, inherited]

References col, index, and row.

template<class M , class X , class TM , bool b, class TA >
template<class VM >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::AggregateAdder< VM >::setAggregate ( const AggregateDescriptor aggregate_  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::NoneAdder::setAggregate ( const AggregateDescriptor aggregate_  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
int Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::VertexAdder::setAggregate ( const AggregateDescriptor aggregate_  )  [inline, inherited]
void Dune::Amg::DependencyParameters::setAlpha ( double  a  )  [inline, inherited]

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, inherited]
void Dune::Amg::DependencyParameters::setBeta ( double  b  )  [inline, inherited]

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

template<class T , class C = SequentialInformation>
void Dune::Amg::DefaultParallelConstructionArgs< T, C >::setComm ( const C &  comm  )  [inline, inherited]
template<class T>
template<class T1 >
void Dune::Amg::DefaultConstructionArgs< T >::setComm ( T1 &  comm  )  [inline, inherited]
template<class T>
void Dune::Amg::AggregationCriterion< T >::setDebugLevel ( int  level  )  [inline, inherited]

Set the debugging level.

Parameters:
level If 0 no debugging output will be generated.
template<class T>
void Dune::Amg::AggregationCriterion< T >::setDefaultValuesAnisotropic ( std::size_t  dim,
std::size_t  diameter = 2 
) [inline, inherited]

Sets reasonable default values for an aisotropic problem.

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

Parameters:
dim The dimension of the problem.
diameter The preferred diameter for the aggregation.
template<class T>
void Dune::Amg::AggregationCriterion< T >::setDefaultValuesIsotropic ( std::size_t  dim,
std::size_t  diameter = 2 
) [inline, inherited]

Sets reasonable default values for an isotropic problem.

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

Parameters:
dim The dimension of the problem.
diameter The preferred diameter for the aggregation.

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

void Dune::Amg::EdgeProperties::setDepends (  )  [inline, inherited]

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

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

void Dune::Amg::VertexProperties::setExcludedBorder (  )  [inline, inherited]

Marks the vertex as excluded from the aggregation.

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

void Dune::Amg::VertexProperties::setFront (  )  [inline, inherited]

Marks the node as belonging to the current clusters front.

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

void Dune::Amg::EdgeProperties::setInfluences (  )  [inline, inherited]

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

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

void Dune::Amg::VertexProperties::setIsolated (  )  [inline, inherited]

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 M , class X , class TM , bool b, class TA >
void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::setMatrix ( const M &  matrix  )  [inline, inherited]
template<class M , class X , class TM , bool b, class TA >
virtual void Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, b, TA > >::setMatrix ( const M &  matrix,
const AggregatesMap amap 
) [inline, virtual, inherited]
template<class T>
virtual void Dune::Amg::DefaultConstructionArgs< T >::setMatrix ( const Matrix matrix,
const AggregatesMap amap 
) [inline, virtual, inherited]
template<class T>
void Dune::Amg::DefaultConstructionArgs< T >::setMatrix ( const Matrix matrix  )  [inline, inherited]
template<class T>
void Dune::Amg::AggregationCriterion< T >::setMaxAggregateSize ( std::size_t  size  )  [inline, inherited]

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

The default values is 6.

Parameters:
size The maximum number of nodes.
template<class T>
void Dune::Amg::AggregationCriterion< T >::setMaxConnectivity ( std::size_t  connectivity  )  [inline, inherited]

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

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

Parameters:
connectivity The maximum number of connections a aggregate is allowed to have.
template<class T>
void Dune::Amg::AggregationCriterion< T >::setMaxDistance ( std::size_t  distance  )  [inline, inherited]

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:
distance The maximum distance allowed.
template<class T>
void Dune::Amg::AggregationCriterion< T >::setMinAggregateSize ( std::size_t  size  )  [inline, inherited]

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

the default value is 4.

Returns:
The minimum number of nodes.
template<class M , class X , class Y >
void Dune::Amg::ConstructionArgs< SeqILUn< M, X, Y > >::setN ( int  n  )  [inline, inherited]
void Dune::Amg::VertexProperties::setVisited (  )  [inline, inherited]

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 (  )  [inherited]

Get the size of the aggregate.

template<class T>
bool Dune::Amg::AggregationCriterion< T >::skipIsolated (  )  const [inline, inherited]
template<class M >
Dune::Amg::SparsityBuilder< M >::SparsityBuilder ( M &  matrix  )  [inline, inherited]

Constructor.

Parameters:
matrix The 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 
) [inherited]
template<class M >
std::size_t Dune::Amg::SparsityBuilder< M >::sumRowSize (  )  [inline, inherited]
template<class G>
int Dune::Amg::Aggregator< G >::Counter::value (  )  [inherited]

Access the current count.

Dune::Amg::VertexProperties::VertexProperties (  )  [inline, inherited]

Constructor.

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

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

Visit all neighbour vertices of a vertex in a graph.

Parameters:
graph The graph whose vertices to visit.
vertex The vertex whose neighbours we want to visit.
visitor The visitor evaluated for each EdgeIterator (by its method operator()(const ConstEdgeIterator& edge)
Returns:
The number of neighbours of the vertex.

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

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

Destructor.

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

Destructor.

template<class M , class X , class S , class P , class A >
Dune::Amg::AMG< M, X, S, P, A >::~AMG (  )  [inline, inherited]
template<class T>
virtual Dune::Amg::DefaultConstructionArgs< T >::~DefaultConstructionArgs (  )  [inline, virtual, inherited]
template<class T , class A >
Dune::Amg::Hierarchy< T, A >::~Hierarchy (  )  [inline, inherited]

Destructor.

template<class M , class IS , class A >
Dune::Amg::MatrixHierarchy< M, IS, A >::~MatrixHierarchy (  )  [inline, inherited]
template<class G>
Dune::Amg::Aggregator< G >::Stack::~Stack (  )  [inherited]

Variable Documentation

template<class T>
Aggregate Dune::Amg::OverlapVertex< T >::aggregate [inherited]
template<class M , class C >
C* Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::comm_ [inherited]
template<class V>
const V Dune::Amg::AggregatesMap< V >::ISOLATED [static, inherited]
template<class T >
int Dune::Amg::DefaultSmootherArgs< T >::iterations [inherited]

The numbe of iterations to perform.

template<class T>
const Matrix* Dune::Amg::DefaultConstructionArgs< T >::matrix_ [protected, inherited]
template<class M , class C >
M* Dune::Amg::OverlappingSchwarzOperatorArgs< M, C >::matrix_ [inherited]
template<class T >
Overlap Dune::Amg::SeqOverlappingSchwarzSmootherArgs< T >::overlap [inherited]
template<class T >
RelaxationFactor Dune::Amg::DefaultSmootherArgs< T >::relaxationFactor [inherited]

The relaxation factor to use.

template<class T>
Vertex Dune::Amg::OverlapVertex< T >::vertex [inherited]

Friends

template<class G>
friend class Stack [friend, inherited]
Generated on Sat Apr 24 11:13:48 2010 for dune-istl by  doxygen 1.6.3