3#ifndef DUNE_AMGCONSTRUCTION_HH
4#define DUNE_AMGCONSTRUCTION_HH
52 return std::make_shared<T>();
56 template<
class T,
class A>
62 return std::make_shared<BlockVector<T,A>>(n);
66 template<
class M,
class C>
95 CollectiveCommunication<void*>
comm_;
101 template<
class M,
class X,
class Y,
class C>
104 template<
class M,
class X,
class Y,
class C>
109 template<
class M,
class X,
class Y,
class C>
116 return std::make_shared<OverlappingSchwarzOperator<M,X,Y,C>>
121 template<
class M,
class X,
class Y,
class C>
126 static inline std::shared_ptr<NonoverlappingSchwarzOperator<M,X,Y,C>>
construct(
const Arguments& args)
128 return std::make_shared<NonoverlappingSchwarzOperator<M,X,Y,C>>
133 template<
class M,
class X,
class Y>
143 template<
class M,
class X,
class Y>
150 return std::make_shared<MatrixAdapter<M,X,Y>>(args.
matrix_);
160 return std::make_shared<SequentialInformation>(args.
comm_);
167 template<
class T1,
class T2>
174 return std::make_shared<OwnerOverlapCopyCommunication<T1,T2>>(args.
comm_, args.
cat_);
This file implements a vector space as a tensor product of a given vector space. The number of compon...
Define general, extensible interface for operators. The available implementation wraps a matrix.
Classes providing communication interfaces for overlapping Schwarz methods.
CollectiveCommunication< void * > comm_
Definition: construction.hh:95
const int Arguments
Definition: construction.hh:59
SequentialCommunicationArgs(CollectiveCommunication< void * > comm, int cat)
Definition: construction.hh:91
OwnerOverlapCopyCommunicationArgs(MPI_Comm comm, SolverCategory::Category cat)
Definition: construction.hh:80
MPI_Comm comm_
Definition: construction.hh:84
SolverCategory::Category cat_
Definition: construction.hh:85
const C & comm_
Definition: construction.hh:74
ParallelOperatorArgs(std::shared_ptr< M > matrix, const C &comm)
Definition: construction.hh:69
std::shared_ptr< M > matrix_
Definition: construction.hh:73
const void * Arguments
A type holding all the arguments needed to call the constructor.
Definition: construction.hh:42
static std::shared_ptr< T > construct(Arguments &args)
Construct an object with the specified arguments.
Definition: construction.hh:50
static std::shared_ptr< BlockVector< T, A > > construct(Arguments &n)
Definition: construction.hh:60
Definition: allocator.hh:9
A vector of blocks with memory management.
Definition: bvector.hh:393
A nonoverlapping operator with communication object.
Definition: novlpschwarz.hh:62
Traits class for generically constructing non default constructable types.
Definition: construction.hh:37
Adapter to turn a matrix into a linear operator.
Definition: operators.hh:135
A class setting up standard communication for a two-valued attribute set with owner/overlap/copy sema...
Definition: owneroverlapcopy.hh:172
Definition: construction.hh:68
Definition: construction.hh:79
Definition: construction.hh:90
An overlapping Schwarz operator.
Definition: schwarz.hh:76
ParallelOperatorArgs< M, C > Arguments
Definition: construction.hh:112
static std::shared_ptr< OverlappingSchwarzOperator< M, X, Y, C > > construct(const Arguments &args)
Definition: construction.hh:114
ParallelOperatorArgs< M, C > Arguments
Definition: construction.hh:124
static std::shared_ptr< NonoverlappingSchwarzOperator< M, X, Y, C > > construct(const Arguments &args)
Definition: construction.hh:126
Definition: construction.hh:135
MatrixAdapterArgs(std::shared_ptr< M > matrix, const SequentialInformation)
Definition: construction.hh:136
std::shared_ptr< M > matrix_
Definition: construction.hh:140
static std::shared_ptr< MatrixAdapter< M, X, Y > > construct(Arguments &args)
Definition: construction.hh:148
const MatrixAdapterArgs< M, X, Y > Arguments
Definition: construction.hh:146
const SequentialCommunicationArgs Arguments
Definition: construction.hh:157
static std::shared_ptr< SequentialInformation > construct(Arguments &args)
Definition: construction.hh:158
static std::shared_ptr< OwnerOverlapCopyCommunication< T1, T2 > > construct(Arguments &args)
Definition: construction.hh:172
const OwnerOverlapCopyCommunicationArgs Arguments
Definition: construction.hh:170
Category
Definition: solvercategory.hh:21