3 #ifndef DUNE_AMGCONSTRUCTION_HH 4 #define DUNE_AMGCONSTRUCTION_HH 6 #include <dune/common/unused.hh> 37 class ConstructionTraits
68 template<
class T,
class A>
84 template<
class M,
class C>
88 : matrix_(&matrix), comm_(&comm)
95 template<
class M,
class C>
99 : matrix_(&matrix), comm_(&comm)
110 : comm_(comm), cat_(cat)
123 DUNE_UNUSED_PARAMETER(cat);
126 CollectiveCommunication<void*>
comm_;
132 template<
class M,
class X,
class Y,
class C>
135 template<
class M,
class X,
class Y,
class C>
140 template<
class M,
class X,
class Y,
class C>
157 template<
class M,
class X,
class Y,
class C>
174 template<
class M,
class X,
class Y>
184 template<
class M,
class X,
class Y>
220 template<
class T1,
class T2>
OwnerOverlapCopyCommunicationArgs(MPI_Comm comm, SolverCategory::Category cat)
Definition: construction.hh:109
static void deconstruct(SequentialInformation *si)
Definition: construction.hh:211
const int Arguments
Definition: construction.hh:72
const void * Arguments
A type holding all the arguments needed to call the constructor.
Definition: construction.hh:44
static NonoverlappingSchwarzOperator< M, X, Y, C > * construct(const Arguments &args)
Definition: construction.hh:163
static T * construct(Arguments &args)
Construct an object with the specified arguments.
Definition: construction.hh:52
Definition: allocator.hh:7
MatrixAdapterArgs(M &matrix, const SequentialInformation &)
Definition: construction.hh:177
const SequentialCommunicationArgs Arguments
Definition: construction.hh:205
C * comm_
Definition: construction.hh:92
Traits class for generically constructing non default constructable types.
Definition: novlpschwarz.hh:247
static void deconstruct(OwnerOverlapCopyCommunication< T1, T2 > *com)
Definition: construction.hh:231
static void deconstruct(MatrixAdapter< M, X, Y > *m)
Definition: construction.hh:195
NonoverlappingOperatorArgs(M &matrix, C &comm)
Definition: construction.hh:98
M * matrix_
Definition: construction.hh:91
This file implements a vector space as a tensor product of a given vector space. The number of compon...
static MatrixAdapter< M, X, Y > * construct(Arguments &args)
Definition: construction.hh:190
Definition: construction.hh:118
static OwnerOverlapCopyCommunication< T1, T2 > * construct(Arguments &args)
Definition: construction.hh:226
Definition: construction.hh:85
M * matrix_
Definition: construction.hh:102
SolverCategory::Category cat_
Definition: construction.hh:114
C * comm_
Definition: construction.hh:103
static void deconstruct(OverlappingSchwarzOperator< M, X, Y, C > *t)
Definition: construction.hh:151
static BlockVector< T, A > * construct(Arguments &n)
Definition: construction.hh:73
static void deconstruct(BlockVector< T, A > *t)
Definition: construction.hh:78
const OwnerOverlapCopyCommunicationArgs Arguments
Definition: construction.hh:224
A nonoverlapping operator with communication object.
Definition: novlpschwarz.hh:59
NonoverlappingOperatorArgs< M, C > Arguments
Definition: construction.hh:161
Define general, extensible interface for operators. The available implementation wraps a matrix...
Adapter to turn a matrix into a linear operator.
Definition: operators.hh:133
Definition: construction.hh:107
Definition: construction.hh:175
CollectiveCommunication< void * > comm_
Definition: construction.hh:126
An overlapping schwarz operator.
Definition: construction.hh:133
M * matrix_
Definition: construction.hh:181
Category
Definition: solvercategory.hh:21
SequentialCommunicationArgs(CollectiveCommunication< void *> comm, int cat)
Definition: construction.hh:120
Definition: construction.hh:96
static SequentialInformation * construct(Arguments &args)
Definition: construction.hh:206
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy sema...
Definition: owneroverlapcopy.hh:171
A vector of blocks with memory management.
Definition: bvector.hh:316
OverlappingSchwarzOperatorArgs< M, C > Arguments
Definition: construction.hh:144
static void deconstruct(NonoverlappingSchwarzOperator< M, X, Y, C > *t)
Definition: construction.hh:168
Classes providing communication interfaces for overlapping Schwarz methods.
OverlappingSchwarzOperatorArgs(M &matrix, C &comm)
Definition: construction.hh:87
static OverlappingSchwarzOperator< M, X, Y, C > * construct(const Arguments &args)
Definition: construction.hh:146
MPI_Comm comm_
Definition: construction.hh:113
static void deconstruct(T *t)
Destroys an object.
Definition: construction.hh:61
const MatrixAdapterArgs< M, X, Y > Arguments
Definition: construction.hh:188