5#ifndef DUNE_AMG_GRAPHCREATOR_HH
6#define DUNE_AMG_GRAPHCREATOR_HH
20 template<
class M,
class PI>
23 typedef typename M::matrix_type
Matrix;
34 typedef std::tuple<MatrixGraph*,PropertiesGraph*,SubGraph*>
GraphTuple;
36 template<
class OF,
class T>
38 PI& pinfo,
const OF& of)
41 typedef typename PI::ParallelIndexSet ParallelIndexSet;
42 typedef typename ParallelIndexSet::const_iterator IndexIterator;
43 IndexIterator iend = pinfo.indexSet().end();
45 for(IndexIterator index = pinfo.indexSet().begin(); index != iend; ++index)
46 excluded[index->local()] = of.contains(index->local().attribute());
55 delete std::get<2>(graphs);
56 delete std::get<1>(graphs);
63 typedef typename M::matrix_type
Matrix;
73 typedef std::tuple<MatrixGraph*,PropertiesGraph*>
GraphTuple;
75 template<
class OF,
class T>
77 [[maybe_unused]] T& excluded,
88 delete std::get<1>(graphs);
Provides classes for initializing the link attributes of a matrix graph.
Provides classes for building the matrix graph.
Implementation of the BCRSMatrix class.
Define general, extensible interface for operators. The available implementation wraps a matrix.
Definition allocator.hh:11
Class representing the properties of an edge in the matrix graph.
Definition dependency.hh:39
Class representing a node in the matrix graph.
Definition dependency.hh:126
The (undirected) graph of a matrix.
Definition graph.hh:51
A subgraph of a graph.
Definition graph.hh:443
EdgeIndexMap getEdgeIndexMap()
Get an edge index map for the graph.
An index map for mapping the edges to indices.
Definition graph.hh:470
Attaches properties to the edges and vertices of a graph.
Definition graph.hh:978
Definition graphcreator.hh:22
Dune::Amg::SubGraph< MatrixGraph, std::vector< bool > > SubGraph
Definition graphcreator.hh:26
Dune::Amg::PropertiesGraph< SubGraph, VertexProperties, EdgeProperties, IdentityMap, typename SubGraph::EdgeIndexMap > PropertiesGraph
Definition graphcreator.hh:32
M::matrix_type Matrix
Definition graphcreator.hh:23
static GraphTuple create(const M &matrix, T &excluded, PI &pinfo, const OF &of)
Definition graphcreator.hh:37
static void free(GraphTuple &graphs)
Definition graphcreator.hh:53
Dune::Amg::MatrixGraph< const Matrix > MatrixGraph
Definition graphcreator.hh:24
std::tuple< MatrixGraph *, PropertiesGraph *, SubGraph * > GraphTuple
Definition graphcreator.hh:34
Dune::Amg::MatrixGraph< const Matrix > MatrixGraph
Definition graphcreator.hh:65
M::matrix_type Matrix
Definition graphcreator.hh:63
Dune::Amg::PropertiesGraph< MatrixGraph, VertexProperties, EdgeProperties, IdentityMap, IdentityMap > PropertiesGraph
Definition graphcreator.hh:71
std::tuple< MatrixGraph *, PropertiesGraph * > GraphTuple
Definition graphcreator.hh:73
static GraphTuple create(const M &matrix, T &excluded, const SequentialInformation &pinfo, const OF &)
Definition graphcreator.hh:76
static void free(GraphTuple &graphs)
Definition graphcreator.hh:86