16 #ifndef dealii__mg_base_h 17 #define dealii__mg_base_h 24 #include <deal.II/base/config.h> 25 #include <deal.II/base/subscriptor.h> 26 #include <deal.II/base/smartpointer.h> 27 #include <deal.II/lac/vector.h> 30 DEAL_II_NAMESPACE_OPEN
46 template <
typename VectorType>
58 virtual void vmult (
const unsigned int level,
60 const VectorType &src)
const = 0;
65 virtual void vmult_add (
const unsigned int level,
67 const VectorType &src)
const = 0;
72 virtual void Tvmult (
const unsigned int level,
74 const VectorType &src)
const = 0;
79 virtual void Tvmult_add (
const unsigned int level,
81 const VectorType &src)
const = 0;
102 template <
typename VectorType>
114 virtual void operator() (
const unsigned int level,
116 const VectorType &src)
const = 0;
167 template <
typename VectorType>
186 virtual void prolongate (
const unsigned int to_level,
188 const VectorType &src)
const = 0;
207 const VectorType &src)
const = 0;
218 template <
typename VectorType>
229 virtual void clear() = 0;
234 virtual void smooth (
const unsigned int level,
236 const VectorType &rhs)
const = 0;
241 DEAL_II_NAMESPACE_CLOSE
virtual ~MGTransferBase()
virtual void prolongate(const unsigned int to_level, VectorType &dst, const VectorType &src) const =0
virtual void operator()(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual void Tvmult(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual void vmult(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual ~MGSmootherBase()
virtual void vmult_add(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual void smooth(const unsigned int level, VectorType &u, const VectorType &rhs) const =0
virtual unsigned int get_maxlevel() const =0
virtual void Tvmult_add(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual void restrict_and_add(const unsigned int from_level, VectorType &dst, const VectorType &src) const =0
virtual ~MGCoarseGridBase()
virtual unsigned int get_minlevel() const =0