Dune::Amg::AggregatesMap< V > Class Template Reference
[Parallel Algebraic Multigrid]
#include <aggregates.hh>
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. | |
AggregateDescriptor & | operator[] (const VertexDescriptor &v) |
Get the aggregate a vertex belongs to. | |
const AggregateDescriptor & | operator[] (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: