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\}}\)
assemble_flags.h
Go to the documentation of this file.
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 
26 
29 
30 namespace MeshWorker
31 {
42  {
82 
88 
93 
100 
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";
122  s << "|own_faces_once";
124  s << "|own_faces_both";
125  if (u & assemble_ghost_cells)
126  s << "|ghost_cells";
128  s << "|ghost_faces_once";
130  s << "|ghost_faces_both";
131  if (u & assemble_boundary_faces)
132  s << "|boundary_faces";
133  return s;
134  }
135 
136 
146  inline AssembleFlags
148  {
149  return static_cast<AssembleFlags>(static_cast<unsigned int>(f1) |
150  static_cast<unsigned int>(f2));
151  }
152 
153 
154 
161  inline AssembleFlags &
163  {
164  f1 = f1 | f2;
165  return f1;
166  }
167 
168 
179  {
180  return static_cast<AssembleFlags>(static_cast<unsigned int>(f1) &
181  static_cast<unsigned int>(f2));
182  }
183 
184 
191  inline AssembleFlags &
193  {
194  f1 = f1 & f2;
195  return f1;
196  }
197 } // namespace MeshWorker
198 
202 
203 #endif
MeshWorker::assemble_ghost_faces_once
@ assemble_ghost_faces_once
Definition: assemble_flags.h:71
MeshWorker::assemble_own_cells
@ assemble_own_cells
Definition: assemble_flags.h:50
MeshWorker::assemble_nothing
@ 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
@ 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
@ 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
@ 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
@ cells_after_faces
Definition: assemble_flags.h:87
MeshWorker::operator|=
AssembleFlags & operator|=(AssembleFlags &f1, AssembleFlags f2)
Definition: assemble_flags.h:162
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
MeshWorker::assemble_boundary_faces
@ assemble_boundary_faces
Definition: assemble_flags.h:81
MeshWorker::work_on_faces
@ work_on_faces
Definition: assemble_flags.h:97
MeshWorker::assemble_own_interior_faces_both
@ assemble_own_interior_faces_both
Definition: assemble_flags.h:65
MeshWorker::assemble_own_interior_faces_once
@ assemble_own_interior_faces_once
Definition: assemble_flags.h:59
config.h
MeshWorker::assemble_ghost_cells
@ assemble_ghost_cells
Definition: assemble_flags.h:54
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
MeshWorker::AssembleFlags
AssembleFlags
Definition: assemble_flags.h:41