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
source
multigrid
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
15
#include <
deal.II/lac/block_vector.h
>
16
#include <
deal.II/lac/la_parallel_block_vector.h
>
17
#include <
deal.II/lac/la_parallel_vector.h
>
18
#include <
deal.II/lac/petsc_block_vector.h
>
19
#include <
deal.II/lac/trilinos_epetra_vector.h
>
20
#include <
deal.II/lac/trilinos_parallel_block_vector.h
>
21
#include <
deal.II/lac/trilinos_tpetra_vector.h
>
22
#include <
deal.II/lac/trilinos_vector.h
>
23
#include <
deal.II/lac/vector.h
>
24
25
#include <
deal.II/multigrid/mg_base.h
>
26
27
28
DEAL_II_NAMESPACE_OPEN
29
30
31
template
<
typename
VectorType>
32
void
33
MGSmootherBase<VectorType>::apply
(
const
unsigned
int
level
,
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
43
template
<
typename
VectorType>
44
void
45
MGTransferBase<VectorType>::prolongate_and_add
(
const
unsigned
int
to_level,
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
62
DEAL_II_NAMESPACE_CLOSE
block_vector.h
MGSmootherBase::apply
virtual void apply(const unsigned int level, VectorType &u, const VectorType &rhs) const
Definition
mg_base.cc:33
MGTransferBase::prolongate_and_add
virtual void prolongate_and_add(const unsigned int to_level, VectorType &dst, const VectorType &src) const
Definition
mg_base.cc:45
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:503
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:504
level
unsigned int level
Definition
grid_out.cc:4626
la_parallel_block_vector.h
la_parallel_vector.h
mg_base.h
petsc_block_vector.h
trilinos_epetra_vector.h
trilinos_parallel_block_vector.h
trilinos_tpetra_vector.h
trilinos_vector.h
vector.h
Generated by
1.11.0