AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
Traits.hpp
1 #pragma once
2 
3 #if AMDIS_HAS_MTL
4 #include <amdis/linearalgebra/mtl/Traits.hpp>
5 
6 #elif AMDIS_HAS_EIGEN
7 #include <amdis/linearalgebra/eigen/Traits.hpp>
8 
9 #elif AMDIS_HAS_PETSC
10 #include <amdis/linearalgebra/petsc/Traits.hpp>
11 
12 #else // ISTL
13 #include <amdis/linearalgebra/istl/Traits.hpp>
14 #endif
15 
16 namespace AMDiS
17 {
18 #ifdef DOXYGEN
19 
24  class BackendTraits
25  {
26  public:
27  template <class RowBasis, class ColBasis = RowBasis>
28  struct Matrix
29  {
30  using SparsityPattern = implementation_defined; //< The SparsityPattern for the matrix type
31 
32  template <class ValueType>
33  using Impl = implementation_defined; //< The backend matrix type
34  };
35 
36  template <class Basis>
37  struct Vector
38  {
39  template <class ValueType>
40  using Impl = implementation_defined; //< The backend vector type
41  };
42 
43  template <class Basis>
44  using IndexDist = implementation_defined; //< The index distribution
45 
46  using PartitionSet = Dune::Partitions::All; //< The dune partition set where to assemble operators
47  };
48 #endif
49 } // end namespace AMDiS
Definition: AdaptBase.hpp:6