include/deal.II/dofs/dof_faces.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: dof_faces.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 2006, 2007, 2008, 2010, 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 //---------------------------------------------------------------------------
00012 #ifndef __deal2__dof_faces_h
00013 #define __deal2__dof_faces_h
00014 
00015 
00016 #include <deal.II/base/config.h>
00017 #include <deal.II/base/exceptions.h>
00018 #include <deal.II/dofs/dof_objects.h>
00019 #include <vector>
00020 
00021 DEAL_II_NAMESPACE_OPEN
00022 
00023 template <int, int> class DoFHandler;
00024 template <int, int> class MGDoFHandler;
00025 
00026 namespace internal
00027 {
00033   namespace DoFHandler
00034   {
00035 
00061     template<int dim>
00062     class DoFFaces
00063     {
00069       private:
00070         DoFFaces();
00071     };
00072 
00079     template<>
00080     class DoFFaces<1>
00081     {
00082       public:
00088         std::size_t memory_consumption () const;
00089 
00094         template <class Archive>
00095         void serialize(Archive & ar,
00096                        const unsigned int version);
00097     };
00098 
00104     template<>
00105     class DoFFaces<2>
00106     {
00107       public:
00112         internal::DoFHandler::DoFObjects<1> lines;
00113 
00119         std::size_t memory_consumption () const;
00120 
00125         template <class Archive>
00126         void serialize(Archive & ar,
00127                        const unsigned int version);
00128     };
00129 
00135     template<>
00136     class DoFFaces<3>
00137     {
00138       public:
00143         internal::DoFHandler::DoFObjects<1> lines;
00144 
00149         internal::DoFHandler::DoFObjects<2> quads;
00150 
00156         std::size_t memory_consumption () const;
00157 
00162         template <class Archive>
00163         void serialize(Archive & ar,
00164                        const unsigned int version);
00165     };
00166 
00167 
00168 
00169     template <class Archive>
00170     void DoFFaces<1>::serialize (Archive &,
00171                                  const unsigned int)
00172     {}
00173 
00174 
00175     template <class Archive>
00176     void DoFFaces<2>::serialize (Archive &ar,
00177                                  const unsigned int)
00178     {
00179       ar & lines;
00180     }
00181 
00182 
00183     template <class Archive>
00184     void DoFFaces<3>::serialize (Archive &ar,
00185                                  const unsigned int)
00186     {
00187       ar & lines & quads;
00188     }
00189 
00190   }
00191 }
00192 
00193 DEAL_II_NAMESPACE_CLOSE
00194 
00195 #endif
00196 
 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