include/deal.II/hp/dof_levels.h

00001 //----------------------------  hp_dof_levels.h  ------------------------
00002 //    @f$Id: dof_levels.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2003, 2006, 2008, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //----------------------------  hp_dof_levels.h  ------------------------
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   } // namespace hp
00231 
00232 } // namespace internal
00233 
00234 DEAL_II_NAMESPACE_CLOSE
00235 
00236 #endif
00237 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Tue May 22 2012 12:06:07 by doxygen 1.7.3