|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
galerkin.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
313 void BaseConnectivityConstructor::constructNonOverlapConnectivity(R& row, G& graph, V& visitedMap,
394 OverlapVertex<Vertex>* overlapVertices = new OverlapVertex<Vertex>[overlapCount=0 ? 1 : overlapCount];
588 put(visitedMap, *vertex, aggregates[*vertex]==AggregatesMap<typename G::VertexDescriptor>::ISOLATED);
600 dinfo<<pinfo.communicator().rank()<<": Matrix ("<<coarseMatrix->N()<<"x"<<coarseMatrix->M()<<" row: min="<<sparsityBuilder.minRowSize()<<" max="
628 put(visitedMap, *vertex, aggregates[*vertex]==AggregatesMap<typename G::VertexDescriptor>::ISOLATED);
642 void BaseGalerkinProduct::calculate(const M& fine, const AggregatesMap<V>& aggregates, M& coarse,
Provides classes for the Coloring process of AMG.
bool operator()(const OverlapVertex< A > &o1, const OverlapVertex< A > &o2)
Definition galerkin.hh:155
static void 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.
Definition galerkin.hh:313
G Graph
The type of the graph.
Definition galerkin.hh:211
void operator()(const ConstEdgeIterator &edge)
Process an edge pointing to another aggregate.
Definition galerkin.hh:359
void insert(const typename M::size_type &index)
Definition galerkin.hh:552
static void 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)
Definition galerkin.hh:331
G::MutableMatrix * build(G &fineGraph, V &visitedMap, const ParallelInformation &pinfo, AggregatesMap< typename G::VertexDescriptor > &aggregates, const typename G::Matrix::size_type &size, const Set ©)
Calculates the coarse matrix via a Galerkin product.
Definition galerkin.hh:563
SparsityBuilder(M &matrix)
Constructor.
Definition galerkin.hh:513
ConnectedBuilder(const AggregatesMap< Vertex > &aggregates, Graph &graph, VisitedMap &visitedMap, Set &connected)
Constructor.
Definition galerkin.hh:352
Graph::ConstEdgeIterator ConstEdgeIterator
The constant edge iterator.
Definition galerkin.hh:215
G::VertexDescriptor Vertex
Definition galerkin.hh:288
static void examine(G &graph, V &visitedMap, const T &pinfo, const AggregatesMap< Vertex > &aggregates, const O &overlap, const OverlapVertex< Vertex > *overlapVertices, const OverlapVertex< Vertex > *overlapEnd, R &row)
Definition galerkin.hh:420
V VisitedMap
The type of the map for marking vertices as visited.
Definition galerkin.hh:225
int visitNeighbours(const G &graph, const typename G::VertexDescriptor &vertex, V &visitor)
Visit all neighbour vertices of a vertex in a graph.
S Set
The type of the connected set.
Definition galerkin.hh:220
Aggregate * aggregate
The aggregate the vertex belongs to.
Definition galerkin.hh:47
static void set(M &coarse, const T &pinfo, const O ©)
Definition galerkin.hh:682
Graph::VertexDescriptor Vertex
The vertex descriptor of the graph.
Definition galerkin.hh:230
void calculate(const M &fine, const AggregatesMap< V > &aggregates, M &coarse, const I &pinfo, const O ©)
Calculate the galerkin product.
STL namespace.
int size() const
iterator end()
static constexpr size_type M()
std::ptrdiff_t index() const
virtual void operator()()=0
size_t() const
const IndexPair * pair(const std::size_t &local) const
DVVerbType dvverb
DVerbType dverb
DInfoType dinfo
void put(const RAPropertyMapHelper< Reference, PropertyMap > &pmap, const Key &key, const Value &value)
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
Class providing information about the mapping of the vertices onto aggregates.
Definition aggregates.hh:553
A Dummy visitor that does nothing for each visited edge.
Definition aggregates.hh:591
Definition galerkin.hh:33
Functor for building the sparsity pattern of the matrix using examineConnectivity.
Definition galerkin.hh:63
Definition galerkin.hh:99
Definition galerkin.hh:118
Definition galerkin.hh:185
Visitor for identifying connected aggregates during a breadthFirstSearch.
Definition galerkin.hh:206
Definition galerkin.hh:271
Definition galerkin.hh:300
Definition pinfo.hh:28
@ nonoverlapping
Category for non-overlapping solvers.
Definition solvercategory.hh:27
static Category category(const OP &op, decltype(op.category()) *=nullptr)
Helperfunction to extract the solver category either from an enum, or from the newly introduced virtu...
Definition solvercategory.hh:34
T end(T... args)
T endl(T... args)
T find(T... args)
T insert(T... args)
T sort(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8