Reference documentation for deal.II version 9.0.0
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 at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_matrix_lib_h
17 #define dealii_matrix_lib_h
18 
19 #include <deal.II/base/subscriptor.h>
20 #include <deal.II/lac/vector_memory.h>
21 #include <deal.II/lac/solver_richardson.h>
22 
23 DEAL_II_NAMESPACE_OPEN
24 
25 template <typename number> class Vector;
26 template <typename number> class BlockVector;
27 template <typename number> class SparseMatrix;
28 
54 class DEAL_II_DEPRECATED MeanValueFilter : public Subscriptor
55 {
56 public:
61 
66 
70  template <typename number>
71  void filter (Vector<number> &v) const;
72 
76  template <typename number>
77  void filter (BlockVector<number> &v) const;
78 
82  template <typename number>
83  void vmult (Vector<number> &dst,
84  const Vector<number> &src) const;
85 
89  template <typename number>
90  void vmult_add (Vector<number> &dst,
91  const Vector<number> &src) const;
92 
97  template <typename number>
98  void vmult (BlockVector<number> &dst,
99  const BlockVector<number> &src) const;
100 
105  template <typename number>
106  void vmult_add (BlockVector<number> &dst,
107  const BlockVector<number> &src) const;
108 
109 
113  template <typename VectorType>
114  void Tvmult(VectorType &, const VectorType &) const;
115 
119  template <typename VectorType>
120  void Tvmult_add(VectorType &, const VectorType &) const;
121 
122 private:
127 };
128 
129 
130 
132 //---------------------------------------------------------------------------
133 
134 
135 template <typename VectorType>
136 inline void
137 MeanValueFilter::Tvmult(VectorType &, const VectorType &) const
138 {
139  Assert(false, ExcNotImplemented());
140 }
141 
142 
143 template <typename VectorType>
144 inline void
145 MeanValueFilter::Tvmult_add(VectorType &, const VectorType &) const
146 {
147  Assert(false, ExcNotImplemented());
148 }
149 
150 
151 DEAL_II_NAMESPACE_CLOSE
152 
153 #endif
void Tvmult_add(VectorType &, const VectorType &) const
Definition: matrix_lib.h:145
const types::global_dof_index invalid_size_type
Definition: types.h:182
unsigned int global_dof_index
Definition: types.h:88
#define Assert(cond, exc)
Definition: exceptions.h:1142
types::global_dof_index size_type
Definition: matrix_lib.h:60
static ::ExceptionBase & ExcNotImplemented()
void Tvmult(VectorType &, const VectorType &) const
Definition: matrix_lib.h:137
const size_type component
Definition: matrix_lib.h:126