Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
mg_base.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 1999 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
23#include <deal.II/lac/vector.h>
24
26
27
29
30
31template <typename VectorType>
32void
34 VectorType &u,
35 const VectorType &rhs) const
36{
37 u = typename VectorType::value_type(0.);
38 smooth(level, u, rhs);
39}
40
41
42
43template <typename VectorType>
44void
46 VectorType &dst,
47 const VectorType &src) const
48{
49 VectorType temp;
50 temp.reinit(dst, true);
51
52 this->prolongate(to_level, temp, src);
53
54 dst += temp;
55}
56
57
58// Explicit instantiations
59
60#include "mg_base.inst"
61
virtual void apply(const unsigned int level, VectorType &u, const VectorType &rhs) const
Definition mg_base.cc:33
virtual void prolongate_and_add(const unsigned int to_level, VectorType &dst, const VectorType &src) const
Definition mg_base.cc:45
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:503
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:504
unsigned int level
Definition grid_out.cc:4626