Reference documentation for deal.II version 9.1.0-pre
matrix_lib.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2002 - 2017 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_matrix_lib_h
17 #define dealii_matrix_lib_h
18 
19 #include <deal.II/base/subscriptor.h>
20 
21 #include <deal.II/lac/solver_richardson.h>
22 #include <deal.II/lac/vector_memory.h>
23 
24 DEAL_II_NAMESPACE_OPEN
25 
26 template <typename number>
27 class Vector;
28 template <typename number>
29 class BlockVector;
30 template <typename number>
31 class SparseMatrix;
32 
58 class DEAL_II_DEPRECATED MeanValueFilter : public Subscriptor
59 {
60 public:
65 
70 
74  template <typename number>
75  void
76  filter(Vector<number> &v) const;
77 
81  template <typename number>
82  void
83  filter(BlockVector<number> &v) const;
84 
88  template <typename number>
89  void
90  vmult(Vector<number> &dst, const Vector<number> &src) const;
91 
95  template <typename number>
96  void
97  vmult_add(Vector<number> &dst, const Vector<number> &src) const;
98 
103  template <typename number>
104  void
105  vmult(BlockVector<number> &dst, const BlockVector<number> &src) const;
106 
111  template <typename number>
112  void
113  vmult_add(BlockVector<number> &dst, const BlockVector<number> &src) const;
114 
115 
119  template <typename VectorType>
120  void
121  Tvmult(VectorType &, const VectorType &) const;
122 
126  template <typename VectorType>
127  void
128  Tvmult_add(VectorType &, const VectorType &) const;
129 
130 private:
135 };
136 
137 
138 
140 //---------------------------------------------------------------------------
141 
142 
143 template <typename VectorType>
144 inline void
145 MeanValueFilter::Tvmult(VectorType &, const VectorType &) const
146 {
147  Assert(false, ExcNotImplemented());
148 }
149 
150 
151 template <typename VectorType>
152 inline void
153 MeanValueFilter::Tvmult_add(VectorType &, const VectorType &) const
154 {
155  Assert(false, ExcNotImplemented());
156 }
157 
158 
159 DEAL_II_NAMESPACE_CLOSE
160 
161 #endif
const types::global_dof_index invalid_size_type
Definition: types.h:182
types::global_dof_index size_type
Definition: matrix_lib.h:64
void Tvmult_add(VectorType &, const VectorType &) const
Definition: matrix_lib.h:153
unsigned long long int global_dof_index
Definition: types.h:72
#define Assert(cond, exc)
Definition: exceptions.h:1227
void Tvmult(VectorType &, const VectorType &) const
Definition: matrix_lib.h:145
static::ExceptionBase & ExcNotImplemented()
const size_type component
Definition: matrix_lib.h:134