Loading [MathJax]/extensions/TeX/newcommand.js
Reference documentation for deal.II version 9.3.3
\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
i
l
m
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
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
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
i
k
l
m
n
o
p
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
include
deal.II
dofs
dof_iterator_selector.h
Go to the documentation of this file.
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 1998 - 2020 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_dof_iterators_h
17
#define dealii_dof_iterators_h
18
19
#include <
deal.II/base/config.h
>
20
21
22
DEAL_II_NAMESPACE_OPEN
23
24
// Forward declarations
25
#ifndef DOXYGEN
26
template
<
int
,
int
,
int
>
27
class
DoFInvalidAccessor
;
28
29
template
<
int
structdim,
int
dim,
int
spacedim,
bool
lda>
30
class
DoFAccessor
;
31
template
<
int
dim,
int
spacedim,
bool
lda>
32
class
DoFCellAccessor
;
33
34
template
<
int
dim,
int
spacedim>
35
class
DoFHandler
;
36
37
template
<
typename
Accessor>
38
class
TriaRawIterator
;
39
template
<
typename
Accessor>
40
class
TriaIterator
;
41
template
<
typename
Accessor>
42
class
TriaActiveIterator
;
43
#endif
44
45
namespace
internal
46
{
47
namespace
DoFHandlerImplementation
48
{
49
template
<
int
dim,
int
spacedim,
bool
lda = false>
50
struct
Iterators
;
51
52
62
template
<
int
spacedim,
bool
lda>
63
struct
Iterators
<1, spacedim, lda>
64
{
65
using
CellAccessor
=
::DoFCellAccessor<1, spacedim, lda>
;
66
using
FaceAccessor
=
::DoFAccessor<0, 1, spacedim, lda>
;
67
68
using
raw_line_iterator
=
TriaRawIterator<CellAccessor>
;
69
using
line_iterator
=
TriaIterator<CellAccessor>
;
70
using
active_line_iterator
=
TriaActiveIterator<CellAccessor>
;
71
72
using
raw_quad_iterator
=
73
TriaRawIterator<DoFInvalidAccessor<2, 1, spacedim>
>;
74
using
quad_iterator
=
TriaIterator<DoFInvalidAccessor<2, 1, spacedim>
>;
75
using
active_quad_iterator
=
76
TriaActiveIterator<DoFInvalidAccessor<2, 1, spacedim>
>;
77
78
using
raw_hex_iterator
=
79
TriaRawIterator<DoFInvalidAccessor<3, 1, spacedim>
>;
80
using
hex_iterator
=
TriaIterator<DoFInvalidAccessor<3, 1, spacedim>
>;
81
using
active_hex_iterator
=
82
TriaActiveIterator<DoFInvalidAccessor<3, 1, spacedim>
>;
83
84
using
raw_cell_iterator
=
raw_line_iterator
;
85
using
cell_iterator
=
line_iterator
;
86
using
active_cell_iterator
=
active_line_iterator
;
87
88
using
raw_face_iterator
=
TriaRawIterator<FaceAccessor>
;
89
using
face_iterator
=
TriaIterator<FaceAccessor>
;
90
using
active_face_iterator
=
TriaActiveIterator<FaceAccessor>
;
91
};
92
93
94
104
template
<
int
spacedim,
bool
lda>
105
struct
Iterators
<2, spacedim, lda>
106
{
107
using
CellAccessor
=
::DoFCellAccessor<2, spacedim, lda>
;
108
using
FaceAccessor
=
::DoFAccessor<1, 2, spacedim, lda>
;
109
110
using
raw_line_iterator
=
TriaRawIterator<FaceAccessor>
;
111
using
line_iterator
=
TriaIterator<FaceAccessor>
;
112
using
active_line_iterator
=
TriaActiveIterator<FaceAccessor>
;
113
114
using
raw_quad_iterator
=
TriaRawIterator<CellAccessor>
;
115
using
quad_iterator
=
TriaIterator<CellAccessor>
;
116
using
active_quad_iterator
=
TriaActiveIterator<CellAccessor>
;
117
118
using
raw_hex_iterator
=
119
TriaRawIterator<DoFInvalidAccessor<3, 2, spacedim>
>;
120
using
hex_iterator
=
TriaIterator<DoFInvalidAccessor<3, 2, spacedim>
>;
121
using
active_hex_iterator
=
122
TriaActiveIterator<DoFInvalidAccessor<3, 2, spacedim>
>;
123
124
using
raw_cell_iterator
=
raw_quad_iterator
;
125
using
cell_iterator
=
quad_iterator
;
126
using
active_cell_iterator
=
active_quad_iterator
;
127
128
using
raw_face_iterator
=
raw_line_iterator
;
129
using
face_iterator
=
line_iterator
;
130
using
active_face_iterator
=
active_line_iterator
;
131
};
132
133
134
144
template
<
int
spacedim,
bool
lda>
145
struct
Iterators
<3, spacedim, lda>
146
{
147
using
CellAccessor
=
::DoFCellAccessor<3, spacedim, lda>
;
148
using
FaceAccessor
=
::DoFAccessor<2, 3, spacedim, lda>
;
149
150
using
raw_line_iterator
=
151
TriaRawIterator<::DoFAccessor<1, 3, spacedim, lda>
>;
152
using
line_iterator
=
153
TriaIterator<::DoFAccessor<1, 3, spacedim, lda>
>;
154
using
active_line_iterator
=
155
TriaActiveIterator<::DoFAccessor<1, 3, spacedim, lda>
>;
156
157
using
raw_quad_iterator
=
TriaRawIterator<FaceAccessor>
;
158
using
quad_iterator
=
TriaIterator<FaceAccessor>
;
159
using
active_quad_iterator
=
TriaActiveIterator<FaceAccessor>
;
160
161
using
raw_hex_iterator
=
TriaRawIterator<CellAccessor>
;
162
using
hex_iterator
=
TriaIterator<CellAccessor>
;
163
using
active_hex_iterator
=
TriaActiveIterator<CellAccessor>
;
164
165
using
raw_cell_iterator
=
raw_hex_iterator
;
166
using
cell_iterator
=
hex_iterator
;
167
using
active_cell_iterator
=
active_hex_iterator
;
168
169
using
raw_face_iterator
=
raw_quad_iterator
;
170
using
face_iterator
=
quad_iterator
;
171
using
active_face_iterator
=
active_quad_iterator
;
172
};
173
}
// namespace DoFHandlerImplementation
174
}
// namespace internal
175
176
DEAL_II_NAMESPACE_CLOSE
177
178
#endif
// dealii_dof_iterator_selector_h
DoFAccessor
Definition:
dof_accessor.h:213
DoFCellAccessor
Definition:
dof_accessor.h:1373
DoFHandler
Definition:
dof_handler.h:315
DoFInvalidAccessor
Definition:
dof_accessor.h:1294
TriaActiveIterator
Definition:
tria_iterator.h:759
TriaIterator
Definition:
tria_iterator.h:578
TriaRawIterator
Definition:
tria_iterator.h:230
config.h
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition:
config.h:402
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition:
config.h:403
internal
Definition:
aligned_vector.h:490
internal::DoFHandlerImplementation::Iterators
Definition:
dof_iterator_selector.h:50
Generated by
1.9.4