dune-pdelab  2.5-dev
simple/descriptors.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_PDELAB_BACKEND_SIMPLE_DESCRIPTORS_HH
4 #define DUNE_PDELAB_BACKEND_SIMPLE_DESCRIPTORS_HH
5 
6 #include <vector>
7 
9 
10 namespace Dune {
11  namespace PDELab {
12 
13 #ifndef DOXYGEN
14 
15  namespace Simple {
16 
17  template<typename GFS, typename C>
18  class VectorContainer;
19 
20  template<typename GFSV, typename GFSU, typename C>
21  class MatrixContainer;
22 
23  template<typename GFSV, typename GFSU, template<typename> class C, typename ET, typename I>
24  class SparseMatrixContainer;
25 
26  template<typename _RowOrdering, typename _ColOrdering>
27  class SparseMatrixPattern;
28 
29  template<typename E>
30  using default_vector = std::vector<E>;
31 
32  }
33 
34 #endif // DOXYGEN
35 
36  namespace Simple {
37 
38  template<template<typename> class Container = Simple::default_vector>
40  {
41  template<typename E>
42  using vector_type = Container<E>;
43 
45 
46  struct Traits
47  {
48  static const size_type max_blocking_depth = 0;
49  };
50 
51  template<typename GFS>
52  bool blocked(const GFS& gfs) const
53  {
54  return false;
55  }
56 
57  };
58 
59  template<template<typename> class Container = Simple::default_vector>
61  {
62 
63  typedef std::size_t size_type;
64 
65  template<typename Matrix, typename GFSV, typename GFSU>
66  struct Pattern
67  {};
68 
69  template<typename VV, typename VU, typename E>
70  struct MatrixHelper
71  {
73  };
74  };
75 
76  template<template<typename> class Container = Simple::default_vector, typename IndexType = std::size_t>
78  {
79 
80  typedef IndexType size_type;
81 
83  template<typename Matrix, typename GFSV, typename GFSU>
86  typename GFSV::Ordering::Traits::DOFIndex,
87  typename GFSV::Ordering::Traits::ContainerIndex
88  >,
90  typename GFSU::Ordering::Traits::DOFIndex,
91  typename GFSU::Ordering::Traits::ContainerIndex> >;
92 
93  template<typename VV, typename VU, typename E>
94  struct MatrixHelper
95  {
97  };
98  };
99 
100  } // namespace Simple
101 
105  template<template<typename> class Container = Simple::default_vector>
106  using SimpleVectorBackend DUNE_DEPRECATED_MSG("Use Simple::VectorBackend instead of SimpleVectorBackend")
108 
112  template<template<typename> class Container = Simple::default_vector>
113  using SimpleMatrixBackend DUNE_DEPRECATED_MSG("Use Simple::MatrixBackend instead of SimpleMatrixBackend")
115 
119  template<template<typename> class Container = Simple::default_vector, typename IndexType = std::size_t>
120  using SimpleSparseMatrixBackend DUNE_DEPRECATED_MSG("Use Simple::SparseMatrixBackend instead of SimpleSparseMatrixBackend")
122 
123  } // namespace PDELab
124 } // namespace Dune
125 
126 #endif // DUNE_PDELAB_BACKEND_SIMPLE_DESCRIPTORS_HH
std::size_t size_type
Definition: simple/descriptors.hh:63
bool blocked(const GFS &gfs) const
Definition: simple/descriptors.hh:52
Simple::MatrixContainer< typename VV::GridFunctionSpace, typename VU::GridFunctionSpace, Container< E > > type
Definition: simple/descriptors.hh:72
vector_type< double >::size_type size_type
Definition: simple/descriptors.hh:44
Definition: simple/descriptors.hh:46
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
Definition: orderingbase.hh:20
Container< E > vector_type
Definition: simple/descriptors.hh:42
Definition: simple/descriptors.hh:66
Definition: simple/descriptors.hh:39
Definition: simple/descriptors.hh:77
Definition: simple/descriptors.hh:60
Definition: simple/matrix.hh:22
Definition: simple/descriptors.hh:70
Simple::SparseMatrixContainer< typename VV::GridFunctionSpace, typename VU::GridFunctionSpace, Container, E, size_type > type
Definition: simple/descriptors.hh:96
IndexType size_type
Definition: simple/descriptors.hh:80