17 #ifndef __deal2__mg_base_h 18 #define __deal2__mg_base_h 25 #include <deal.II/base/config.h> 26 #include <deal.II/base/subscriptor.h> 27 #include <deal.II/base/smartpointer.h> 28 #include <deal.II/lac/vector.h> 49 template <
class VECTOR>
62 virtual void vmult (
const unsigned int level,
64 const VECTOR &src)
const = 0;
70 virtual void vmult_add (
const unsigned int level,
72 const VECTOR &src)
const = 0;
79 virtual void Tvmult (
const unsigned int level,
81 const VECTOR &src)
const = 0;
88 virtual void Tvmult_add (
const unsigned int level,
90 const VECTOR &src)
const = 0;
101 template <
class VECTOR>
113 virtual void operator() (
const unsigned int level,
115 const VECTOR &src)
const = 0;
166 template <
class VECTOR>
192 virtual void prolongate (
const unsigned int to_level,
194 const VECTOR &src)
const = 0;
223 virtual void restrict_and_add (
const unsigned int from_level,
225 const VECTOR &src)
const = 0;
236 template <
class VECTOR>
247 virtual void clear() = 0;
254 virtual void smooth (
const unsigned int level,
256 const VECTOR &rhs)
const = 0;
261 DEAL_II_NAMESPACE_CLOSE
virtual void Tvmult_add(const unsigned int level, VECTOR &dst, const VECTOR &src) const =0
virtual void vmult_add(const unsigned int level, VECTOR &dst, const VECTOR &src) const =0
virtual void vmult(const unsigned int level, VECTOR &dst, const VECTOR &src) const =0
virtual void Tvmult(const unsigned int level, VECTOR &dst, const VECTOR &src) const =0