00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __deal2__hp_dof_levels_h
00013 #define __deal2__hp_dof_levels_h
00014
00015
00016 #include <deal.II/base/config.h>
00017 #include <deal.II/hp/dof_objects.h>
00018
00019 #include <vector>
00020
00021 DEAL_II_NAMESPACE_OPEN
00022
00023 namespace internal
00024 {
00025 namespace hp
00026 {
00027
00103 template <int N>
00104 class DoFLevel
00105 {
00106 private:
00112 DoFLevel ();
00113 };
00114
00115
00124 template <>
00125 class DoFLevel<0>
00126 {
00127 public:
00142 std::vector<unsigned int> active_fe_indices;
00148 std::size_t memory_consumption () const;
00149 };
00150
00151
00159 template <>
00160 class DoFLevel<1> : public DoFLevel<0>
00161 {
00162 public:
00167 internal::hp::DoFObjects<1> lines;
00168
00174 std::size_t memory_consumption () const;
00175 };
00176
00177
00185 template <>
00186 class DoFLevel<2> : public DoFLevel<0>
00187 {
00188 public:
00193 internal::hp::DoFObjects<2> quads;
00194
00200 std::size_t memory_consumption () const;
00201 };
00202
00203
00204
00212 template <>
00213 class DoFLevel<3> : public DoFLevel<0>
00214 {
00215 public:
00220 internal::hp::DoFObjects<3> hexes;
00221
00227 std::size_t memory_consumption () const;
00228 };
00229
00230 }
00231
00232 }
00233
00234 DEAL_II_NAMESPACE_CLOSE
00235
00236 #endif
00237