Loading [MathJax]/extensions/TeX/AMSsymbols.js
Reference documentation for deal.II version 9.0.0
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
e
f
i
l
n
o
p
r
s
t
u
v
z
+
Typedefs
b
g
m
p
s
v
Enumerations
+
Enumerator
a
c
d
e
g
h
i
l
m
n
o
p
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
l
m
n
o
p
r
s
t
v
w
+
Enumerations
a
b
c
d
e
f
i
m
o
p
r
s
t
u
v
w
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Related Functions
:
a
b
c
d
f
i
l
m
o
p
r
s
t
u
v
Related Pages
+
Files
File List
+
File Members
+
All
d
e
f
i
o
s
t
u
+
Functions
d
e
f
i
o
s
t
u
Enumerations
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
deal.II
sundials
copy.h
1
//-----------------------------------------------------------
2
//
3
// Copyright (C) 2017 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 at
12
// the top level of the deal.II distribution.
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 <nvector/nvector_serial.h>
27
28
#include <deal.II/lac/vector.h>
29
#include <deal.II/lac/block_vector.h>
30
31
#ifdef DEAL_II_WITH_TRILINOS
32
#include <deal.II/lac/trilinos_vector.h>
33
#include <deal.II/lac/trilinos_parallel_block_vector.h>
34
#endif
35
36
#ifdef DEAL_II_WITH_PETSC
37
#include <deal.II/lac/petsc_parallel_vector.h>
38
#include <deal.II/lac/petsc_parallel_block_vector.h>
39
#endif
40
41
DEAL_II_NAMESPACE_OPEN
42
namespace
SUNDIALS
43
{
44
namespace
internal
45
{
46
// The following internal functions are used by SUNDIALS wrappers to copy
47
// to and from deal.II vector types.
48
#ifdef DEAL_II_WITH_MPI
49
50
#ifdef DEAL_II_WITH_TRILINOS
51
void
copy(
TrilinosWrappers::MPI::Vector
&dst,
const
N_Vector &src);
52
void
copy(N_Vector &dst,
const
TrilinosWrappers::MPI::Vector
&src);
53
void
copy(
TrilinosWrappers::MPI::BlockVector
&dst,
const
N_Vector &src);
54
void
copy(N_Vector &dst,
const
TrilinosWrappers::MPI::BlockVector
&src);
55
#endif // DEAL_II_WITH_TRILINOS
56
57
#ifdef DEAL_II_WITH_PETSC
58
#ifndef PETSC_USE_COMPLEX
59
void
copy(
PETScWrappers::MPI::Vector
&dst,
const
N_Vector &src);
60
void
copy(N_Vector &dst,
const
PETScWrappers::MPI::Vector
&src);
61
void
copy(
PETScWrappers::MPI::BlockVector
&dst,
const
N_Vector &src);
62
void
copy(N_Vector &dst,
const
PETScWrappers::MPI::BlockVector
&src);
63
#endif // PETSC_USE_COMPLEX
64
#endif // DEAL_II_WITH_PETSC
65
66
#endif
67
68
void
copy(
BlockVector<double>
&dst,
const
N_Vector &src);
69
void
copy(N_Vector &dst,
const
BlockVector<double>
&src);
70
71
void
copy(
Vector<double>
&dst,
const
N_Vector &src);
72
void
copy(N_Vector &dst,
const
Vector<double>
&src);
73
}
74
}
75
DEAL_II_NAMESPACE_CLOSE
76
77
#endif // DEAL_II_WITH_SUNDIALS
78
#endif // dealii_sundials_copy_h
79
80
81
SUNDIALS
Definition:
arkode.h:58
PETScWrappers::MPI::BlockVector
Definition:
petsc_parallel_block_vector.h:62
Vector< double >
TrilinosWrappers::MPI::Vector
Definition:
trilinos_vector.h:397
TrilinosWrappers::MPI::BlockVector
Definition:
trilinos_parallel_block_vector.h:70
BlockVector
Definition:
block_linear_operator.h:38
internal
Definition:
aligned_vector.h:327
PETScWrappers::MPI::Vector
Definition:
petsc_parallel_vector.h:158
Generated by
1.8.14