Reference documentation for deal.II version GIT 7b2de2f2f9 2023-09-24 11:00:02+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\}}\)
dof_faces.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2006 - 2023 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_faces_h
17 #define dealii_dof_faces_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
25 
26 #include <vector>
27 
29 
30 namespace internal
31 {
38  namespace DoFHandlerImplementation
39  {
67  template <int dim>
68  class DoFFaces
69  {
70  public:
75  DoFFaces() = delete;
76  };
77 
82  template <>
83  class DoFFaces<1>
84  {
85  public:
90  std::size_t
91  memory_consumption() const;
92 
99  template <class Archive>
100  void
101  serialize(Archive &ar, const unsigned int version);
102  };
103 
108  template <>
109  class DoFFaces<2>
110  {
111  public:
116 
121  std::size_t
122  memory_consumption() const;
123 
129  template <class Archive>
130  void
131  serialize(Archive &ar, const unsigned int version);
132  };
133 
138  template <>
139  class DoFFaces<3>
140  {
141  public:
146 
151 
156  std::size_t
157  memory_consumption() const;
158 
164  template <class Archive>
165  void
166  serialize(Archive &ar, const unsigned int version);
167  };
168 
169 
170 
171  template <class Archive>
172  void
173  DoFFaces<1>::serialize(Archive &, const unsigned int)
174  {}
175 
176 
177  template <class Archive>
178  void
179  DoFFaces<2>::serialize(Archive &ar, const unsigned int)
180  {
181  ar &lines;
182  }
183 
184 
185  template <class Archive>
186  void
187  DoFFaces<3>::serialize(Archive &ar, const unsigned int)
188  {
189  ar &lines &quads;
190  }
191 
192  } // namespace DoFHandlerImplementation
193 } // namespace internal
194 
196 
197 #endif
internal::DoFHandlerImplementation::DoFObjects< 1 > lines
Definition: dof_faces.h:115
internal::DoFHandlerImplementation::DoFObjects< 1 > lines
Definition: dof_faces.h:145
internal::DoFHandlerImplementation::DoFObjects< 2 > quads
Definition: dof_faces.h:150
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:477
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:478
std::enable_if_t< std::is_fundamental_v< T >, std::size_t > memory_consumption(const T &t)