Loading [MathJax]/extensions/TeX/newcommand.js
Reference documentation for deal.II version 9.4.1
\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\}}
Toggle main menu visibility
Main Page
Tutorial
Code gallery
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
b
c
d
f
g
h
i
l
m
p
s
v
Enumerations
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
v
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
v
w
Enumerations
b
c
d
e
f
g
i
m
o
p
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Related Functions
:
a
b
c
d
f
g
i
l
m
n
o
p
r
s
t
u
v
Related Pages
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
s
t
u
v
Variables
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
Typedefs
Enumerations
Enumerator
m
u
Macros
a
b
d
e
f
h
i
m
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
include
deal.II
sundials
copy.h
Go to the documentation of this file.
1
//-----------------------------------------------------------
2
//
3
// Copyright (C) 2017 - 2018 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE.md at
12
// the top level directory of deal.II.
13
//
14
//-----------------------------------------------------------
15
16
#ifndef dealii_sundials_copy_h
17
#define dealii_sundials_copy_h
18
19
#include <
deal.II/base/config.h
>
20
#ifdef DEAL_II_WITH_SUNDIALS
21
22
# include <sundials/sundials_nvector.h>
23
# ifdef DEAL_II_WITH_MPI
24
# include <nvector/nvector_parallel.h>
25
# endif
26
# include <
deal.II/lac/block_vector.h
>
27
# include <
deal.II/lac/la_parallel_block_vector.h
>
28
# include <
deal.II/lac/la_parallel_vector.h
>
29
# include <
deal.II/lac/vector.h
>
30
31
# include <nvector/nvector_serial.h>
32
33
# ifdef DEAL_II_WITH_TRILINOS
34
# include <
deal.II/lac/trilinos_parallel_block_vector.h
>
35
# include <
deal.II/lac/trilinos_vector.h
>
36
# endif
37
38
# ifdef DEAL_II_WITH_PETSC
39
# include <
deal.II/lac/petsc_block_vector.h
>
40
# include <
deal.II/lac/petsc_vector.h
>
41
# endif
42
43
DEAL_II_NAMESPACE_OPEN
44
namespace
SUNDIALS
45
{
46
namespace
internal
47
{
48
// The following internal functions are used by SUNDIALS wrappers to copy
49
// to and from deal.II vector types.
50
# ifdef DEAL_II_WITH_MPI
51
52
# ifdef DEAL_II_WITH_TRILINOS
53
void
54
copy
(
TrilinosWrappers::MPI::Vector
&dst,
const
N_Vector &src);
55
void
56
copy
(N_Vector &dst,
const
TrilinosWrappers::MPI::Vector
&src);
57
void
58
copy
(
TrilinosWrappers::MPI::BlockVector
&dst,
const
N_Vector &src);
59
void
60
copy
(N_Vector &dst,
const
TrilinosWrappers::MPI::BlockVector
&src);
61
# endif
// DEAL_II_WITH_TRILINOS
62
63
# ifdef DEAL_II_WITH_PETSC
64
# ifndef PETSC_USE_COMPLEX
65
void
66
copy
(
PETScWrappers::MPI::Vector
&dst,
const
N_Vector &src);
67
void
68
copy
(N_Vector &dst,
const
PETScWrappers::MPI::Vector
&src);
69
void
70
copy
(
PETScWrappers::MPI::BlockVector
&dst,
const
N_Vector &src);
71
void
72
copy
(N_Vector &dst,
const
PETScWrappers::MPI::BlockVector
&src);
73
# endif
// PETSC_USE_COMPLEX
74
# endif
// DEAL_II_WITH_PETSC
75
76
# endif
77
78
void
79
copy
(
BlockVector<double>
&dst,
const
N_Vector &src);
80
void
81
copy
(N_Vector &dst,
const
BlockVector<double>
&src);
82
83
void
84
copy
(
Vector<double>
&dst,
const
N_Vector &src);
85
void
86
copy
(N_Vector &dst,
const
Vector<double>
&src);
87
88
void
89
copy
(
LinearAlgebra::distributed::BlockVector<double>
&dst,
90
const
N_Vector & src);
91
void
92
copy
(N_Vector & dst,
93
const
LinearAlgebra::distributed::BlockVector<double>
&src);
94
95
void
96
copy
(
LinearAlgebra::distributed::Vector<double>
&dst,
const
N_Vector &src);
97
void
98
copy
(N_Vector &dst,
const
LinearAlgebra::distributed::Vector<double>
&src);
99
}
// namespace internal
100
}
// namespace SUNDIALS
101
DEAL_II_NAMESPACE_CLOSE
102
103
#endif
// DEAL_II_WITH_SUNDIALS
104
#endif
// dealii_sundials_copy_h
block_vector.h
BlockVector
Definition:
block_vector.h:71
LinearAlgebra::distributed::BlockVector
Definition:
la_parallel_block_vector.h:86
LinearAlgebra::distributed::Vector
Definition:
la_parallel_vector.h:252
PETScWrappers::MPI::BlockVector
Definition:
petsc_block_vector.h:61
PETScWrappers::MPI::Vector
Definition:
petsc_vector.h:158
TrilinosWrappers::MPI::BlockVector
Definition:
trilinos_parallel_block_vector.h:75
TrilinosWrappers::MPI::Vector
Definition:
trilinos_vector.h:399
Vector
Definition:
vector.h:109
config.h
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition:
config.h:442
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition:
config.h:443
la_parallel_block_vector.h
la_parallel_vector.h
SUNDIALS::internal::copy
void copy(TrilinosWrappers::MPI::Vector &dst, const N_Vector &src)
Definition:
copy.cc:136
SUNDIALS
Definition:
arkode.h:66
internal
Definition:
aligned_vector.h:698
petsc_block_vector.h
petsc_vector.h
trilinos_parallel_block_vector.h
trilinos_vector.h
vector.h
Generated by
1.9.5