Reference documentation for deal.II version 9.1.0-pre
dof_faces.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2006 - 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_dof_faces_h
17 #define dealii_dof_faces_h
18 
19 
20 #include <deal.II/base/config.h>
21 
22 #include <deal.II/base/exceptions.h>
23 
24 #include <deal.II/dofs/dof_objects.h>
25 
26 #include <vector>
27 
28 DEAL_II_NAMESPACE_OPEN
29 
30 namespace internal
31 {
38  namespace DoFHandlerImplementation
39  {
69  template <int dim>
70  class DoFFaces
71  {
72  public:
77  DoFFaces() = delete;
78  };
79 
86  template <>
87  class DoFFaces<1>
88  {
89  public:
94  std::size_t
95  memory_consumption() const;
96 
101  template <class Archive>
102  void
103  serialize(Archive &ar, const unsigned int version);
104  };
105 
112  template <>
113  class DoFFaces<2>
114  {
115  public:
120 
125  std::size_t
126  memory_consumption() const;
127 
132  template <class Archive>
133  void
134  serialize(Archive &ar, const unsigned int version);
135  };
136 
143  template <>
144  class DoFFaces<3>
145  {
146  public:
151 
156 
161  std::size_t
162  memory_consumption() const;
163 
168  template <class Archive>
169  void
170  serialize(Archive &ar, const unsigned int version);
171  };
172 
173 
174 
175  template <class Archive>
176  void
177  DoFFaces<1>::serialize(Archive &, const unsigned int)
178  {}
179 
180 
181  template <class Archive>
182  void
183  DoFFaces<2>::serialize(Archive &ar, const unsigned int)
184  {
185  ar &lines;
186  }
187 
188 
189  template <class Archive>
190  void
191  DoFFaces<3>::serialize(Archive &ar, const unsigned int)
192  {
193  ar &lines &quads;
194  }
195 
196  } // namespace DoFHandlerImplementation
197 } // namespace internal
198 
199 DEAL_II_NAMESPACE_CLOSE
200 
201 #endif
internal::DoFHandlerImplementation::DoFObjects< 2 > quads
Definition: dof_faces.h:155
internal::DoFHandlerImplementation::DoFObjects< 1 > lines
Definition: dof_faces.h:150
internal::DoFHandlerImplementation::DoFObjects< 1 > lines
Definition: dof_faces.h:119