Loading [MathJax]/extensions/TeX/newcommand.js
Reference documentation for deal.II version 9.2.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\}}
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
i
l
m
n
o
p
r
s
t
u
v
w
z
Typedefs
a
b
c
g
i
l
m
o
p
s
t
v
Enumerations
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
a
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
h
i
l
m
o
p
r
s
t
u
v
Related Pages
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
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
z
Variables
a
c
d
f
g
i
l
m
p
q
s
t
u
v
Typedefs
Enumerations
Enumerator
m
u
Macros
a
b
d
e
h
i
m
s
t
dealii.org
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
source
lac
petsc_parallel_block_vector.cc
Go to the documentation of this file.
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2004 - 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
#include <
deal.II/lac/petsc_block_vector.h
>
17
18
#ifdef DEAL_II_WITH_PETSC
19
20
DEAL_II_NAMESPACE_OPEN
21
22
namespace
PETScWrappers
23
{
24
namespace
MPI
25
{
26
using
size_type
=
types::global_dof_index
;
27
28
void
29
BlockVector::reinit
(
const
unsigned
int
num_blocks)
30
{
31
std::vector<size_type> block_sizes(num_blocks, 0);
32
this->
block_indices
.
reinit
(block_sizes);
33
if
(this->
components
.size() != this->n_blocks())
34
this->
components
.resize(this->
n_blocks
());
35
36
for
(
unsigned
int
i = 0; i < this->
n_blocks
(); ++i)
37
components
[i].
reinit
(MPI_COMM_SELF, 0, 0);
38
39
collect_sizes
();
40
}
41
}
// namespace MPI
42
43
}
// namespace PETScWrappers
44
45
DEAL_II_NAMESPACE_CLOSE
46
47
#endif // DEAL_II_WITH_PETSC
PETScWrappers::MPI::BlockVector::reinit
void reinit(const unsigned int n_blocks, const MPI_Comm &communicator, const size_type block_size, const size_type local_size, const bool omit_zeroing_entries=false)
Definition:
petsc_block_vector.h:366
PETScWrappers
Definition:
petsc_block_sparse_matrix.h:36
BlockVectorBase< Vector >::collect_sizes
void collect_sizes()
BlockVectorBase< Vector >::components
std::vector< Vector > components
Definition:
block_vector_base.h:956
types::global_dof_index
unsigned int global_dof_index
Definition:
types.h:76
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition:
config.h:358
BlockVectorBase< Vector >::n_blocks
unsigned int n_blocks() const
petsc_block_vector.h
BlockVectorBase< Vector >::block_indices
BlockIndices block_indices
Definition:
block_vector_base.h:962
unsigned int
BlockIndices::reinit
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
Definition:
block_indices.h:260
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition:
config.h:359
Generated by
1.8.17