3#ifndef DUNE_AMGTRANSFER_HH
4#define DUNE_AMGTRANSFER_HH
11#include <dune/common/exceptions.hh>
12#include <dune/common/unused.hh>
29 template<
class V1,
class V2,
class T>
37 template<
typename T1,
typename R>
41 template<
typename T1,
typename R>
49 template<
class V,
class V1>
73 template<
class V,
class V1,
class T1,
class T2>
94 template<
class V,
class V1>
108 template<
class V,
class V1>
117 typedef typename Vector::iterator Iterator;
119 Iterator end =
coarse.end();
120 Iterator begin=
coarse.begin();
121 for(; begin!=end; ++begin)
126 for(Iterator block=begin; block != end; ++block) {
127 std::ptrdiff_t index=block-begin;
128 const Vertex& vertex = aggregates[index];
130 *block +=
coarse[aggregates[index]];
134 template<
class V,
class V1>
145 typedef typename Vector::const_iterator Iterator;
146 Iterator end =
fine.end();
147 Iterator begin=
fine.begin();
149 for(Iterator block=begin; block != end; ++block) {
150 const Vertex& vertex = aggregates[block-begin];
157 template<
class V,
class V1,
class T1,
class T2>
158 template<
typename T3>
174 template<
class V,
class V1,
class T1,
class T2>
175 template<
typename T3>
184 template<
class V,
class V1,
class T1,
class T2>
Classes providing communication interfaces for overlapping Schwarz methods.
Functionality for redistributing a sparse matrix.
This file implements a vector space as a tensor product of a given vector space. The number of compon...
Provides classes for the Coloring process of AMG.
Definition basearray.hh:19
Statistics about compression achieved in implicit mode.
Definition bcrsmatrix.hh:81
Definition matrixredistribute.hh:21
void redistributeBackward(D &from, const D &to) const
Definition matrixredistribute.hh:34
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy sema...
Definition owneroverlapcopy.hh:173
Class providing information about the mapping of the vertices onto aggregates.
Definition aggregates.hh:543
Definition transfer.hh:31
static void restrictVector(const AggregatesMap< Vertex > &aggregates, Vector &coarse, const Vector &fine, T &comm)
static void prolongateVector(const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, T1 damp)
static void prolongateVector(const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, Vector &fineRedist, T1 damp, R &redistributor=R())
V1 Vertex
Definition transfer.hh:34
V2 Vector
Definition transfer.hh:35
RedistributeInformation< SequentialInformation > Redist
Definition transfer.hh:55
V Vertex
Definition transfer.hh:53
V1 Vector
Definition transfer.hh:54
static void prolongateVector(const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, Vector &fineRedist, T1 damp, const SequentialInformation &comm=SequentialInformation(), const Redist &redist=Redist())
static void prolongateVector(const AggregatesMap< Vertex > &aggregates, Vector &coarse, Vector &fine, T1 damp, const SequentialInformation &comm=SequentialInformation())
V Vertex
Definition transfer.hh:77
RedistributeInformation< OwnerOverlapCopyCommunication< T1, T2 > > Redist
Definition transfer.hh:79
V1 Vector
Definition transfer.hh:78