]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Avoid one problem with missing references by moving functions around a bit. This...
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 8 Dec 2008 20:31:32 +0000 (20:31 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 8 Dec 2008 20:31:32 +0000 (20:31 +0000)
git-svn-id: https://svn.dealii.org/trunk@17897 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/dofs/dof_accessor.templates.h
deal.II/deal.II/include/dofs/dof_handler.h
deal.II/deal.II/include/hp/dof_handler.h
deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/hp/dof_handler.cc

index 405128e5a96895b468d747c1e88e17a9743ae3d2..a42e492009891bc7162ae55aeb0419e1c125451e 100644 (file)
@@ -17,7 +17,9 @@
 #include <base/config.h>
 #include <dofs/dof_accessor.h>
 #include <dofs/dof_levels.h>
+#include <dofs/dof_faces.h>
 #include <hp/dof_levels.h>
+#include <hp/dof_faces.h>
 #include <grid/tria_iterator.h>
 #include <grid/tria_iterator.templates.h>
 
@@ -200,6 +202,507 @@ DoFAccessor<structdim, DH>::set_vertex_dof_index (const unsigned int vertex,
 
 
 
+namespace internal
+{
+  namespace DoFAccessor
+  {
+                                    /**
+                                     * A class like the one with same
+                                     * name in tria.cc. See there for
+                                     * more information.
+                                     */
+    struct Implementation
+    {
+                                        /**
+                                         * Implementations of the
+                                         * get_dof_index/set_dof_index functions.
+                                         */
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<1,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>)
+         {
+           return dof_handler.levels[obj_level]->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<1,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>,
+                      const unsigned int              global_index)
+         {
+           dof_handler.levels[obj_level]->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+    
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<2,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           return dof_handler.faces->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<2,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>,
+                      const unsigned int              global_index)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           dof_handler.faces->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+    
+    
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<2,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<2>)
+         {
+           return dof_handler.levels[obj_level]->quads.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<2,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<2>,
+                      const unsigned int              global_index)
+         {
+           dof_handler.levels[obj_level]->quads.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           return dof_handler.faces->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<1>,
+                      const unsigned int              global_index)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           dof_handler.faces->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<2>)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           return dof_handler.faces->quads.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<2>,
+                      const unsigned int              global_index)
+         {
+                                            // faces have no levels
+           Assert (obj_level == 0, ExcInternalError());
+           dof_handler.faces->quads.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<3>)
+         {
+           return dof_handler.levels[obj_level]->hexes.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index);      
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::DoFHandler<3,spacedim>   &dof_handler,
+                      const unsigned int              obj_level,
+                      const unsigned int              obj_index,
+                      const unsigned int              fe_index,
+                      const unsigned int              local_index,
+                      internal::int2type<3>,
+                      const unsigned int              global_index)
+         {
+           dof_handler.levels[obj_level]->hexes.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index);
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<1,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &)
+         {
+           return dof_handler.levels[obj_level]->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<1,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.levels[obj_level]->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &)
+         {
+           return dof_handler.faces->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.faces->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);  
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<2> &)
+         {
+           return dof_handler.levels[obj_level]->quads.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<2,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<2> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.levels[obj_level]->quads.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &)
+         {
+           return dof_handler.faces->lines.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<1> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.faces->lines.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);  
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<2> &)
+         {
+           return dof_handler.faces->quads.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<2> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.faces->quads.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       unsigned int
+       get_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<3> &)
+         {
+           return dof_handler.levels[obj_level]->hexes.
+             get_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            obj_level);
+         }
+
+
+       template <int spacedim>
+       static
+       void
+       set_dof_index (const dealii::hp::DoFHandler<3,spacedim> &dof_handler,
+                      const unsigned int       obj_level,
+                      const unsigned int       obj_index,
+                      const unsigned int       fe_index,
+                      const unsigned int       local_index,
+                      const internal::int2type<3> &,
+                      const unsigned int       global_index)
+         {
+           dof_handler.levels[obj_level]->hexes.
+             set_dof_index (dof_handler,
+                            obj_index,
+                            fe_index,
+                            local_index,
+                            global_index,
+                            obj_level);  
+         }
+    };
+  }
+}
+
+
+
 template <int dim, class DH>
 inline
 unsigned int
@@ -207,11 +710,12 @@ DoFAccessor<dim,DH>::dof_index (const unsigned int i,
                                const unsigned int fe_index) const
 {
                                   // access the respective DoF 
-  return this->dof_handler
-    ->template get_dof_index<dim> (this->level(),
-                                  this->present_index,
-                                  fe_index,
-                                  i);
+  return internal::DoFAccessor::Implementation::get_dof_index (*this->dof_handler,
+                                                              this->level(),
+                                                              this->present_index,
+                                                              fe_index,
+                                                              i,
+                                                              internal::int2type<dim>());
 }
 
 
@@ -224,12 +728,13 @@ DoFAccessor<dim,DH>::set_dof_index (const unsigned int i,
                                    const unsigned int fe_index) const
 {
                                   // access the respective DoF
-  this->dof_handler
-    ->template set_dof_index<dim> (this->level(),
-                                  this->present_index,
-                                  fe_index,
-                                  i,
-                                  index);
+  internal::DoFAccessor::Implementation::set_dof_index (*this->dof_handler,
+                                                       this->level(),
+                                                       this->present_index,
+                                                       fe_index,
+                                                       i,
+                                                       internal::int2type<dim>(),
+                                                       index);
 }
 
 
index 00ef5ebb07513cffb07af3b75d5b14240f2586c9..ae310aa57c6f605aafe31f5ffcce5cd706ac4180 100644 (file)
@@ -37,6 +37,11 @@ namespace internal
     struct Implementation;
   }
 
+  namespace DoFAccessor
+  {
+    struct Implementation;
+  }
+  
   namespace DoFCellAccessor
   {
     struct Implementation;
@@ -1116,31 +1121,6 @@ class DoFHandler  :  public Subscriptor
                          const unsigned int fe_index,
                          const unsigned int local_index) const;
 
-                                    /**
-                                     *  Return the @p i-th
-                                     *  dof-index. This function
-                                     *  calls the respective function
-                                     *  of DoFObjects.
-                                     */
-    template <int structdim>
-    unsigned int get_dof_index (const unsigned int       obj_level,
-                               const unsigned int       obj_index,
-                               const unsigned int       fe_index,
-                               const unsigned int       local_index) const;
-
-                                    /**
-                                     *  Set the @p i-th
-                                     *  dof-index. This function
-                                     *  calls the respective function
-                                     *  of DoFObjects.
-                                     */
-    template <int structdim>
-    void set_dof_index (const unsigned int       obj_level,
-                       const unsigned int       obj_index,
-                       const unsigned int       fe_index,
-                       const unsigned int       local_index,
-                       const unsigned int       global_index) const;
-    
                                     /**
                                      * Return the number of active
                                      * fe-indices on the given
@@ -1215,6 +1195,7 @@ class DoFHandler  :  public Subscriptor
                                      */
     template <int, class> friend class DoFAccessor;
     template <class> friend class DoFCellAccessor;
+    friend class internal::DoFAccessor::Implementation;
     friend class internal::DoFCellAccessor::Implementation;
 
     friend class internal::DoFHandler::Implementation;    
index e58a2a488d23aba9e4c06f8dd809a752466dc619..7b50c313d59f3ddb76b1e6a49c625713bab8d535 100644 (file)
@@ -46,6 +46,11 @@ namespace internal
 
 namespace internal
 {
+  namespace DoFAccessor
+  {
+    struct Implementation;
+  }
+
   namespace DoFCellAccessor
   {
     struct Implementation;
@@ -1062,32 +1067,7 @@ namespace hp
                                        */
       bool
       fe_is_active_on_vertex (const unsigned int vertex_index,
-                             const unsigned int fe_index) const;
-      
-                                      /**
-                                       *  Return the @p i-th
-                                       *  dof-index. This function
-                                       *  calls the respective
-                                       *  function of DoFObjects.
-                                       */
-      template <int structdim>
-      unsigned int get_dof_index (const unsigned int       obj_level,
-                                 const unsigned int       obj_index,
-                                 const unsigned int       fe_index,
-                                 const unsigned int       local_index) const;
-      
-                                      /**
-                                       *  Set the @p i-th
-                                       *  dof-index. This function
-                                       *  calls the respective
-                                       *  function of DoFObjects.
-                                       */
-      template <int structdim>
-      void set_dof_index (const unsigned int       obj_level,
-                         const unsigned int       obj_index,
-                         const unsigned int       fe_index,
-                         const unsigned int       local_index,
-                         const unsigned int       global_index) const;
+                             const unsigned int fe_index) const;      
       
                                       /**
                                        * Number of active fe-indices,
@@ -1271,6 +1251,7 @@ namespace hp
                                         */
       template <int, class> friend class dealii::DoFAccessor;
       template <class> friend class dealii::DoFCellAccessor;
+      friend class internal::DoFAccessor::Implementation;
       friend class internal::DoFCellAccessor::Implementation;
 
                                        /**
index 3f7f775f6cc621d913263df265161e3afed31cb1..30ddd82010f99a753ca790e5e03ab7a8fdb88b64 100644 (file)
@@ -625,251 +625,6 @@ namespace internal
              .resize (dof_handler.tria->n_raw_quads() *
                       dof_handler.selected_fe->dofs_per_quad,
                       DoFHandler<3,spacedim>::invalid_dof_index);
-         }
-
-                                        /**
-                                         * Implementations of the
-                                         * get_dof_index/set_dof_index functions.
-                                         */
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<1,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>)
-         {
-           return dof_handler.levels[obj_level]->lines.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<1,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>,
-                      const unsigned int              global_index)
-         {
-           dof_handler.levels[obj_level]->lines.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
-         }
-    
-
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<2,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           return dof_handler.faces->lines.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<2,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>,
-                      const unsigned int              global_index)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           dof_handler.faces->lines.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
-         }
-    
-    
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<2,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<2>)
-         {
-           return dof_handler.levels[obj_level]->quads.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<2,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<2>,
-                      const unsigned int              global_index)
-         {
-           dof_handler.levels[obj_level]->quads.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
-         }
-
-
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           return dof_handler.faces->lines.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<1>,
-                      const unsigned int              global_index)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           dof_handler.faces->lines.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
-         }
-
-
-
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<2>)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           return dof_handler.faces->quads.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<2>,
-                      const unsigned int              global_index)
-         {
-                                            // faces have no levels
-           Assert (obj_level == 0, ExcInternalError());
-           dof_handler.faces->quads.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
-         }
-
-
-
-       template <int spacedim>
-       static
-       unsigned int
-       get_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<3>)
-         {
-           return dof_handler.levels[obj_level]->hexes.
-             get_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index);      
-         }
-
-
-       template <int spacedim>
-       static
-       void
-       set_dof_index (const DoFHandler<3,spacedim>   &dof_handler,
-                      const unsigned int              obj_level,
-                      const unsigned int              obj_index,
-                      const unsigned int              fe_index,
-                      const unsigned int              local_index,
-                      internal::int2type<3>,
-                      const unsigned int              global_index)
-         {
-           dof_handler.levels[obj_level]->hexes.
-             set_dof_index (dof_handler,
-                            obj_index,
-                            fe_index,
-                            local_index,
-                            global_index);
          }
     };
   }
@@ -1936,40 +1691,6 @@ DoFHandler<dim, spacedim>::last_active_hex () const
 //---------------------------------------------------------------------------
 
 
-template <int dim, int spacedim>
-template <int structdim>
-unsigned int
-DoFHandler<dim,spacedim>::get_dof_index (const unsigned int       obj_level,
-                                        const unsigned int       obj_index,
-                                        const unsigned int       fe_index,
-                                        const unsigned int       local_index) const
-{
-  return 
-    internal::DoFHandler::Implementation::get_dof_index (*this,
-                                  obj_level, obj_index,
-                                  fe_index, local_index,
-                                  internal::int2type<structdim>());
-}
-
-
-
-template <int dim, int spacedim>
-template <int structdim>
-void
-DoFHandler<dim,spacedim>::set_dof_index (const unsigned int       obj_level,
-                                        const unsigned int       obj_index,
-                                        const unsigned int       fe_index,
-                                        const unsigned int       local_index,
-                                        const unsigned int       global_index) const
-{
-  internal::DoFHandler::Implementation::set_dof_index (*this,
-                                obj_level, obj_index,
-                                fe_index, local_index,
-                                internal::int2type<structdim>(),
-                                global_index);
-}
-
-
 
 #if deal_II_dimension == 1
 
@@ -2339,31 +2060,4 @@ template class DoFHandler<deal_II_dimension,deal_II_dimension+1>;
 #endif
 
 
-template
-unsigned int
-DoFHandler<deal_II_dimension,deal_II_dimension>::
-get_dof_index<deal_II_dimension> (const unsigned int, const unsigned int,
-                                 const unsigned int, const unsigned int) const;
-template
-void
-DoFHandler<deal_II_dimension,deal_II_dimension>::
-set_dof_index<deal_II_dimension> (const unsigned int, const unsigned int,
-                                 const unsigned int, const unsigned int,
-                                 const unsigned int) const;
-
-#if deal_II_dimension != 3
-
-template
-unsigned int
-DoFHandler<deal_II_dimension,deal_II_dimension+1>::
-get_dof_index<deal_II_dimension> (const unsigned int, const unsigned int,
-                                 const unsigned int, const unsigned int) const;
-template
-void
-DoFHandler<deal_II_dimension,deal_II_dimension+1>::
-set_dof_index<deal_II_dimension> (const unsigned int, const unsigned int,
-                                 const unsigned int, const unsigned int,
-                                 const unsigned int) const;
-#endif
-
 DEAL_II_NAMESPACE_CLOSE
index fd47b71073ccf2d55ecb677928d1bb3c653066a5..bea2b2087de0ac057a816b24894be57288fd0d05 100644 (file)
@@ -2648,41 +2648,6 @@ namespace hp
 
 //------------------------------------------------------------------
 #if deal_II_dimension == 1 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<1>::get_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->levels[obj_level]->lines.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<1>::set_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->levels[obj_level]->lines.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  }
-
 
   template <>
   template <>
@@ -2725,42 +2690,6 @@ namespace hp
 
 
 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<1,2>::get_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->levels[obj_level]->lines.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<1,2>::set_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->levels[obj_level]->lines.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  }
-
-
   template <>
   template <>
   bool
@@ -2804,43 +2733,6 @@ namespace hp
 
 
 #if deal_II_dimension == 2
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<2>::get_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->faces->lines.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<2>::set_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->faces->lines.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool
@@ -2881,43 +2773,6 @@ namespace hp
 
   
 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<2>::get_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->levels[obj_level]->quads.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<2>::set_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->levels[obj_level]->quads.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool
@@ -2958,43 +2813,6 @@ namespace hp
   }
 
 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<2,3>::get_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->faces->lines.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<2,3>::set_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->faces->lines.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool
@@ -3035,43 +2853,6 @@ namespace hp
 
   
 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<2,3>::get_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->levels[obj_level]->quads.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<2,3>::set_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->levels[obj_level]->quads.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool
@@ -3115,43 +2896,6 @@ namespace hp
 #endif
 
 #if deal_II_dimension == 3
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<3>::get_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->faces->lines.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<3>::set_dof_index<1> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->faces->lines.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool
@@ -3193,80 +2937,6 @@ namespace hp
 
 
 
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<3>::get_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->faces->quads.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  unsigned int
-  DoFHandler<3>::get_dof_index<3> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index) const
-  {
-    return this->levels[obj_level]->hexes.
-      get_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    obj_level);
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<3>::set_dof_index<2> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->faces->quads.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
-  template <>
-  template <>
-  void
-  DoFHandler<3>::set_dof_index<3> (const unsigned int       obj_level,
-                                  const unsigned int       obj_index,
-                                  const unsigned int       fe_index,
-                                  const unsigned int       local_index,
-                                  const unsigned int       global_index) const
-  {
-    this->levels[obj_level]->hexes.
-      set_dof_index (*this,
-                    obj_index,
-                    fe_index,
-                    local_index,
-                    global_index,
-                    obj_level);
-  
-  }
-
-
   template <>
   template <>
   bool

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.