Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
deal.II
meshworker
assemble_flags.h
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_mesh_worker_assemble_flags_h
17
#define dealii_mesh_worker_assemble_flags_h
18
19
20
#include <deal.II/base/config.h>
21
22
#include <vector>
23
24
25
DEAL_II_NAMESPACE_OPEN
26
29
30
namespace
MeshWorker
31
{
41
enum
AssembleFlags
42
{
46
assemble_nothing
= 0,
50
assemble_own_cells
= 0x0001,
54
assemble_ghost_cells
= 0x0002,
59
assemble_own_interior_faces_once
= 0x0004,
65
assemble_own_interior_faces_both
= 0x0008,
71
assemble_ghost_faces_once
= 0x0010,
77
assemble_ghost_faces_both
= 0x0020,
81
assemble_boundary_faces
= 0x0040,
82
87
cells_after_faces
= 0x0080,
88
92
work_on_cells
=
assemble_own_cells
|
assemble_ghost_cells
,
93
97
work_on_faces
=
assemble_own_interior_faces_once
|
98
assemble_own_interior_faces_both
|
99
assemble_ghost_faces_once
|
assemble_ghost_faces_both
,
100
105
work_on_boundary
=
assemble_boundary_faces
,
106
};
107
108
114
template
<
class
StreamType>
115
inline
StreamType &
116
operator<<
(StreamType &s,
AssembleFlags
u)
117
{
118
s <<
" AssembleFlags"
;
119
if
(u &
assemble_own_cells
)
120
s <<
"|own_cells"
;
121
if
(u &
assemble_own_interior_faces_once
)
122
s <<
"|own_faces_once"
;
123
if
(u &
assemble_own_interior_faces_both
)
124
s <<
"|own_faces_both"
;
125
if
(u &
assemble_ghost_cells
)
126
s <<
"|ghost_cells"
;
127
if
(u &
assemble_ghost_faces_once
)
128
s <<
"|ghost_faces_once"
;
129
if
(u &
assemble_ghost_faces_both
)
130
s <<
"|ghost_faces_both"
;
131
if
(u &
assemble_boundary_faces
)
132
s <<
"|boundary_faces"
;
133
return
s;
134
}
135
136
146
inline
AssembleFlags
147
operator|
(
AssembleFlags
f1,
AssembleFlags
f2)
148
{
149
return
static_cast<AssembleFlags>(static_cast<unsigned int>(f1) |
150
static_cast<unsigned int>(f2));
151
}
152
153
154
161
inline
AssembleFlags
&
162
operator|=
(
AssembleFlags
&f1,
AssembleFlags
f2)
163
{
164
f1 = f1 | f2;
165
return
f1;
166
}
167
168
178
inline
AssembleFlags
operator&
(
AssembleFlags
f1,
AssembleFlags
f2)
179
{
180
return
static_cast<AssembleFlags>(static_cast<unsigned int>(f1) &
181
static_cast<unsigned int>(f2));
182
}
183
184
191
inline
AssembleFlags
&
192
operator&=
(
AssembleFlags
&f1,
AssembleFlags
f2)
193
{
194
f1 = f1 & f2;
195
return
f1;
196
}
197
}
// namespace MeshWorker
198
201
DEAL_II_NAMESPACE_CLOSE
202
203
#endif
MeshWorker::assemble_ghost_faces_once
Definition:
assemble_flags.h:71
MeshWorker::assemble_own_cells
Definition:
assemble_flags.h:50
MeshWorker::assemble_nothing
Definition:
assemble_flags.h:46
MeshWorker
Definition:
assemble_flags.h:30
MeshWorker::operator&
AssembleFlags operator&(AssembleFlags f1, AssembleFlags f2)
Definition:
assemble_flags.h:178
MeshWorker::work_on_cells
Definition:
assemble_flags.h:92
MeshWorker::operator&=
AssembleFlags & operator&=(AssembleFlags &f1, AssembleFlags f2)
Definition:
assemble_flags.h:192
MeshWorker::work_on_boundary
Definition:
assemble_flags.h:105
MeshWorker::operator|
AssembleFlags operator|(AssembleFlags f1, AssembleFlags f2)
Definition:
assemble_flags.h:147
MeshWorker::assemble_ghost_faces_both
Definition:
assemble_flags.h:77
MeshWorker::operator<<
StreamType & operator<<(StreamType &s, AssembleFlags u)
Definition:
assemble_flags.h:116
MeshWorker::cells_after_faces
Definition:
assemble_flags.h:87
MeshWorker::operator|=
AssembleFlags & operator|=(AssembleFlags &f1, AssembleFlags f2)
Definition:
assemble_flags.h:162
MeshWorker::assemble_boundary_faces
Definition:
assemble_flags.h:81
MeshWorker::work_on_faces
Definition:
assemble_flags.h:97
MeshWorker::assemble_own_interior_faces_both
Definition:
assemble_flags.h:65
MeshWorker::assemble_own_interior_faces_once
Definition:
assemble_flags.h:59
MeshWorker::assemble_ghost_cells
Definition:
assemble_flags.h:54
MeshWorker::AssembleFlags
AssembleFlags
Definition:
assemble_flags.h:41
Generated by
1.8.16