16 #ifndef dealii_mg_base_h 17 #define dealii_mg_base_h 46 template <
typename VectorType>
75 Tvmult(
const unsigned int level,
106 template <
typename VectorType>
119 operator()(
const unsigned int level,
170 template <
typename VectorType>
190 prolongate(
const unsigned int to_level,
205 prolongate_and_add(
const unsigned int to_level,
224 restrict_and_add(
const unsigned int from_level,
250 template <
typename VectorType>
270 smooth(
const unsigned int level,
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
auto apply(F &&fn, Tuple &&t) -> decltype(apply_impl(std::forward< F >(fn), std::forward< Tuple >(t), std::make_index_sequence< std::tuple_size< typename std::remove_reference< Tuple >::type >::value >()))
virtual void vmult_add(const unsigned int level, VectorType &dst, const VectorType &src) const =0
#define DEAL_II_NAMESPACE_CLOSE
virtual unsigned int get_maxlevel() const =0
#define DEAL_II_NAMESPACE_OPEN
virtual void Tvmult_add(const unsigned int level, VectorType &dst, const VectorType &src) const =0
virtual ~MGMatrixBase() override=default
virtual unsigned int get_minlevel() const =0