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
16namespace AMDiS
17{
18#ifdef DOXYGEN
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