Loading [MathJax]/extensions/TeX/newcommand.js
deal.II version GIT relicensing-2836-g362046b457 2025-03-13 15:40:00+00:00
\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
Topics
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
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
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
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
b
c
d
e
f
g
i
m
o
p
r
s
t
u
v
w
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 Symbols
:
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
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
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
p
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
source
lac
trilinos_tpetra_block_vector.cc
Go to the documentation of this file.
1
// ------------------------------------------------------------------------
2
//
3
// SPDX-License-Identifier: LGPL-2.1-or-later
4
// Copyright (C) 2024 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/trilinos_tpetra_block_vector.templates.h>
16
17
#ifdef DEAL_II_TRILINOS_WITH_TPETRA
18
19
DEAL_II_NAMESPACE_OPEN
20
21
namespace
LinearAlgebra
22
{
23
namespace
TpetraWrappers
24
{
25
// Instantiate these vectors types for specific scalar types.
26
//
27
// While there:
28
// Check that the class we declare here satisfies the
29
// vector-space-vector concept. If we catch it here,
30
// any mistake in the vector class declaration would
31
// show up in uses of this class later on as well.
32
33
# ifdef HAVE_TPETRA_INST_FLOAT
34
# ifdef DEAL_II_HAVE_CXX20
35
static_assert
(
36
concepts::is_vector_space_vector<BlockVector<float, MemorySpace::Host>
>);
37
static_assert
(
concepts::is_vector_space_vector
<
38
BlockVector<float, MemorySpace::Default>
>);
39
# endif
40
template
class
BlockVector<float, MemorySpace::Host>
;
41
template
class
BlockVector<float, MemorySpace::Default>
;
42
# endif
43
# ifdef HAVE_TPETRA_INST_DOUBLE
44
# ifdef DEAL_II_HAVE_CXX20
45
static_assert
(
46
concepts::is_vector_space_vector<BlockVector<double, MemorySpace::Host>
>);
47
static_assert
(
concepts::is_vector_space_vector
<
48
BlockVector<double, MemorySpace::Default>
>);
49
# endif
50
template
class
BlockVector<double, MemorySpace::Host>
;
51
template
class
BlockVector<double, MemorySpace::Default>
;
52
# endif
53
# ifdef DEAL_II_WITH_COMPLEX_VALUES
54
# ifdef HAVE_TPETRA_INST_COMPLEX_FLOAT
55
# ifdef DEAL_II_HAVE_CXX20
56
static_assert
(
concepts::is_vector_space_vector
<
57
BlockVector<std::complex<float>
,
MemorySpace::Host
>>);
58
static_assert
(
concepts::is_vector_space_vector
<
59
BlockVector<std::complex<float>
,
MemorySpace::Default
>>);
60
# endif
61
template
class
BlockVector<std::complex<float>
,
MemorySpace::Host
>;
62
template
class
BlockVector<std::complex<float>
,
MemorySpace::Default
>;
63
# endif
64
# ifdef HAVE_TPETRA_INST_COMPLEX_DOUBLE
65
# ifdef DEAL_II_HAVE_CXX20
66
static_assert
(
concepts::is_vector_space_vector
<
67
BlockVector<std::complex<double>
,
MemorySpace::Host
>>);
68
static_assert
(
concepts::is_vector_space_vector
<
69
BlockVector<std::complex<double>
,
MemorySpace::Default
>>);
70
# endif
71
template
class
BlockVector<std::complex<double>
,
MemorySpace::Host
>;
72
template
class
BlockVector<std::complex<double>
,
MemorySpace::Default
>;
73
# endif
74
# endif
75
}
// namespace TpetraWrappers
76
}
// namespace LinearAlgebra
77
78
DEAL_II_NAMESPACE_CLOSE
79
80
#endif
// DEAL_II_TRILINOS_WITH_TPETRA
BlockVector
Definition
block_vector.h:71
concepts::is_vector_space_vector
Definition
template_constraints.h:985
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:40
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:41
LinearAlgebra
Definition
template_constraints.h:616
MemorySpace::Default
Definition
memory_space.h:44
MemorySpace::Host
Definition
memory_space.h:33
Generated by
1.9.8