Dune::Amg::AggregatesMap< V > Class Template Reference
[Parallel Algebraic Multigrid]

#include <aggregates.hh>

List of all members.


Detailed Description

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

Class providing information about the mapping of the vertices onto aggregates.

It is assumed that the vertices are consecutively numbered from 0 to the maximum vertex number.


Public Types

typedef V VertexDescriptor
 The vertex descriptor type.
typedef V AggregateDescriptor
 The aggregate descriptor type.
typedef PoolAllocator< VertexDescriptor,
100 *sizeof(int)> 
Allocator
 The allocator we use for our lists and the set.
typedef SLList< VertexDescriptor,
Allocator
VertexList
 The type of a single linked list of vertex descriptors.

Public Member Functions

 AggregatesMap ()
 Constructs without allocating memory.
 AggregatesMap (std::size_t noVertices)
 Constructs with allocating memory.
 ~AggregatesMap ()
 Destructor.
template<class M, class G, class C>
Tuple< int, int, int > buildAggregates (const M &matrix, G &graph, const C &criterion)
 Build the aggregates.
template<bool reset, class G, class F, class VM>
std::size_t breadthFirstSearch (const VertexDescriptor &start, const AggregateDescriptor &aggregate, 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 breadthFirstSearch (const VertexDescriptor &start, const AggregateDescriptor &aggregate, G &graph, L &visited, F1 &aggregateVisitor, F2 &nonAggregateVisitor, VM &visitedMap) const
 Breadth first search within an aggregate.
void allocate (std::size_t noVertices)
 Allocate memory for holding the information.
std::size_t noVertices () const
 Get the number of vertices.
void free ()
 Free the allocated memory.
AggregateDescriptoroperator[] (const VertexDescriptor &v)
 Get the aggregate a vertex belongs to.
const AggregateDescriptoroperator[] (const VertexDescriptor &v) const
 Get the aggregate a vertex belongs to.

Static Public Attributes

static const V UNAGGREGATED = std::numeric_limits<V>::max()
 Identifier of not yet aggregated vertices.
static const V ISOLATED = std::numeric_limits<V>::max()-1
 Identifier of isolated vertices.

Classes

class  DummyEdgeVisitor
 A Dummy visitor that does nothing for each visited edge. More...

The documentation for this class was generated from the following file:

Generated on 9 Apr 2008 with Doxygen (ver 1.5.2) [logfile].