AMDiS 2.10
The Adaptive Multi-Dimensional Simulation Toolbox
Traits.hpp
1#pragma once
2
3#include <dune/common/fmatrix.hh>
4#include <dune/common/fvector.hh>
5#include <dune/grid/common/partitionset.hh>
6#include <dune/istl/operators.hh>
7#include <dune/istl/preconditioner.hh>
8#include <dune/istl/scalarproducts.hh>
9#include <dune/istl/solver.hh>
10
11#include <amdis/linearalgebra/SparsityPattern.hpp>
12#include <amdis/linearalgebra/istl/IndexDistribution.hpp>
13#include <amdis/linearalgebra/istl/Creators.hpp>
14#include <amdis/linearalgebra/istl/MatrixBackend.hpp>
15#include <amdis/linearalgebra/istl/VectorBackend.hpp>
16
17namespace AMDiS
18{
23 {
24 template <class Basis>
25 using IndexDist = ISTLIndexDistribution_t<Basis>;
26
27 template <class RowBasis, class ColBasis>
28 struct Matrix
29 {
31
32 template <class Value>
34 };
35
36 template <class>
37 struct Vector
38 {
39 template <class Value>
41 };
42
43 using PartitionSet = Dune::Partitions::All;
44 };
45
47
48
49 template <class Mat, class VecX, class VecY = VecX>
51 {
52 using M = typename Mat::BaseMatrix;
53 using X = typename VecX::BaseVector;
54 using Y = typename VecY::BaseVector;
55 using Comm = typename Mat::Comm;
56
57 using ScalProd = Dune::ScalarProduct<X>;
58 using LinOp = Dune::AssembledLinearOperator<M, X, Y>;
59 using Solver = Dune::InverseOperator<X, Y>;
60 using Prec = Dune::Preconditioner<X, Y>;
64 };
65
66 template <class Traits>
68 {
69 using Comm = typename Traits::Comm::Sequential;
70 };
71
72} // end namespace AMDiS
Definition: MatrixBackend.hpp:31
Definition: VectorBackend.hpp:28
Creator to create Linear Operator objects.
Definition: Creators.hpp:66
Creator to create parallel Preconditioners.
Definition: Creators.hpp:109
Creator to create ScalarProduct objects.
Definition: Creators.hpp:24
A general sparsity pattern implementation using the full pattern of the basis by adding all local ind...
Definition: SparsityPattern.hpp:15
Definition: Traits.hpp:15
Definition: Traits.hpp:29
Definition: Traits.hpp:38
Definition: Traits.hpp:23
Definition: Traits.hpp:68
Definition: Traits.hpp:51