]> https://gitweb.dealii.org/ - dealii.git/commitdiff
instantiations for MGDoFHandler added
authorBaerbel Jannsen <baerbel.janssen@gmail.com>
Fri, 8 Jan 2010 15:08:34 +0000 (15:08 +0000)
committerBaerbel Jannsen <baerbel.janssen@gmail.com>
Fri, 8 Jan 2010 15:08:34 +0000 (15:08 +0000)
git-svn-id: https://svn.dealii.org/trunk@20335 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/dofs/dof_renumbering.cc
deal.II/deal.II/source/grid/grid_tools.cc
deal.II/deal.II/source/multigrid/mg_dof_accessor.cc
deal.II/deal.II/source/multigrid/mg_dof_handler.cc
deal.II/deal.II/source/multigrid/mg_dof_tools.cc

index 7809a142c0e7dab8e1d4e3d40303f2c8cbd9b1fc..5316c36a22eb2b49b649abac096f98d882104216 100644 (file)
@@ -1602,6 +1602,21 @@ namespace DoFRenumbering
    const bool,
    const std::vector<unsigned int>&);
 
+  template
+  void Cuthill_McKee<MGDoFHandler<deal_II_dimension> >
+  (MGDoFHandler<deal_II_dimension>&,
+   const bool,
+   const bool,
+   const std::vector<unsigned int>&);
+
+  template
+  void
+  compute_Cuthill_McKee<MGDoFHandler<deal_II_dimension> >
+  (std::vector<unsigned int>&,
+   const MGDoFHandler<deal_II_dimension>&,
+   const bool,
+   const bool,
+   const std::vector<unsigned int>&);
 
   template
   void component_wise<deal_II_dimension>
index b41710a43b193c209d7c7e6d65d39f979affafdd..f4d50cd28175a7017b6f319d242f936f4fd832b7 100644 (file)
@@ -1958,6 +1958,12 @@ template
     get_finest_common_cells (const hp::DoFHandler<deal_II_dimension,deal_II_dimension+1> &mesh_1,
                             const hp::DoFHandler<deal_II_dimension,deal_II_dimension+1> &mesh_2);
 
+template
+    std::list<std::pair<MGDoFHandler<deal_II_dimension,deal_II_dimension+1>::cell_iterator, MGDoFHandler<deal_II_dimension,deal_II_dimension+1>::cell_iterator> >
+    GridTools::
+    get_finest_common_cells (const MGDoFHandler<deal_II_dimension,deal_II_dimension+1> &mesh_1,
+                            const MGDoFHandler<deal_II_dimension,deal_II_dimension+1> &mesh_2);
+
 #endif
 
 DEAL_II_NAMESPACE_CLOSE
index 91f0ab289847cd71a668c6ea10a04fcdbb5ee44b..a18bb29f7b29ee1f1e68328956046ab76ad96e5b 100644 (file)
@@ -58,7 +58,7 @@ template <int structdim, int dim, int spacedim>
 void
 MGDoFAccessor<structdim, dim, spacedim>::set_mg_dof_handler (MGDoFHandler<dim,spacedim> *dh)
 {
-  typedef DoFAccessor<dim,DoFHandler<dim> > BaseClass;
+  typedef DoFAccessor<dim,DoFHandler<dim, spacedim> > BaseClass;
   Assert (dh != 0, typename BaseClass::ExcInvalidObject());
   mg_dof_handler = dh;
 }
@@ -180,7 +180,7 @@ template <int structdim, int dim, int spacedim>
 void
 MGDoFAccessor<structdim, dim, spacedim>::copy_from (const MGDoFAccessor &a)
 {
-  DoFAccessor<structdim, DoFHandler<dim> >::copy_from (a);
+  DoFAccessor<structdim, DoFHandler<dim, spacedim> >::copy_from (a);
   this->set_mg_dof_handler (a.mg_dof_handler);
 }
 
@@ -625,8 +625,10 @@ get_mg_dof_values (const Vector<float> &values,
 
 
 
+
 #if deal_II_dimension == 1
-template class MGDoFAccessor<1, 1>;
+template class MGDoFAccessor<1, 1, 1>;
+template class MGDoFAccessor<1, 1, 2>;
 
 template class MGDoFCellAccessor<1>;
 
@@ -636,14 +638,21 @@ template class TriaActiveIterator<MGDoFCellAccessor<1> >;
 #endif
 
 #if deal_II_dimension == 2
-template class MGDoFAccessor<1, 2>;
-template class MGDoFAccessor<2, 2>;
+template class MGDoFAccessor<1, 2, 2>;
+template class MGDoFAccessor<2, 2, 2>;
+
+template class MGDoFAccessor<1, 2, 3>;
+template class MGDoFAccessor<2, 2, 3>;
 
 template class MGDoFCellAccessor<2>;
 
-template class TriaRawIterator   <MGDoFAccessor<1, 2> >;
-template class TriaIterator      <MGDoFAccessor<1, 2> >;
-template class TriaActiveIterator<MGDoFAccessor<1, 2> >;
+template class TriaRawIterator   <MGDoFAccessor<1, 2, 2> >;
+template class TriaIterator      <MGDoFAccessor<1, 2, 2> >;
+template class TriaActiveIterator<MGDoFAccessor<1, 2, 2> >;
+
+template class TriaRawIterator   <MGDoFAccessor<1, 2, 3> >;
+template class TriaIterator      <MGDoFAccessor<1, 2, 3> >;
+template class TriaActiveIterator<MGDoFAccessor<1, 2, 3> >;
 
 template class TriaRawIterator   <MGDoFCellAccessor<2> >;
 template class TriaIterator      <MGDoFCellAccessor<2> >;
@@ -652,19 +661,19 @@ template class TriaActiveIterator<MGDoFCellAccessor<2> >;
 
 
 #if deal_II_dimension == 3
-template class MGDoFAccessor<1, 3>;
-template class MGDoFAccessor<2, 3>;
-template class MGDoFAccessor<3, 3>;
+template class MGDoFAccessor<1, 3, 3>;
+template class MGDoFAccessor<2, 3, 3>;
+template class MGDoFAccessor<3, 3, 3>;
 
 template class MGDoFCellAccessor<3>;
 
-template class TriaRawIterator   <MGDoFAccessor<1, 3> >;
-template class TriaIterator      <MGDoFAccessor<1, 3> >;
-template class TriaActiveIterator<MGDoFAccessor<1, 3> >;
+template class TriaRawIterator   <MGDoFAccessor<1, 3, 3> >;
+template class TriaIterator      <MGDoFAccessor<1, 3, 3> >;
+template class TriaActiveIterator<MGDoFAccessor<1, 3, 3> >;
 
-template class TriaRawIterator   <MGDoFAccessor<2, 3> >;
-template class TriaIterator      <MGDoFAccessor<2, 3> >;
-template class TriaActiveIterator<MGDoFAccessor<2, 3> >;
+template class TriaRawIterator   <MGDoFAccessor<2, 3, 3> >;
+template class TriaIterator      <MGDoFAccessor<2, 3, 3> >;
+template class TriaActiveIterator<MGDoFAccessor<2, 3, 3> >;
 
 template class TriaRawIterator   <MGDoFCellAccessor<3> >;
 template class TriaIterator      <MGDoFCellAccessor<3> >;
index eccdbbcf05f3ee36269ded58f432b8ddab235b90..7180299e2f85f3fcf0330e5fa73ffefb9f06f632 100644 (file)
@@ -75,7 +75,7 @@ void MGDoFHandler<dim,spacedim>::MGVertexDoFs::init (const unsigned int cl,
   Assert (indices != 0, ExcNoMemory ());
 
   for (unsigned int i=0; i<n_levels*dofs_per_vertex; ++i)
-    indices[i] = DoFHandler<dim>::invalid_dof_index;
+    indices[i] = DoFHandler<dim, spacedim>::invalid_dof_index;
 }
 
 
@@ -118,7 +118,7 @@ const unsigned int MGDoFHandler<dim,spacedim>::dimension;
 
 template <int dim, int spacedim>
 MGDoFHandler<dim,spacedim>::MGDoFHandler (const Triangulation<dim,spacedim> &tria) :
-               DoFHandler<dim> (tria),
+               DoFHandler<dim,spacedim> (tria),
                mg_faces (NULL)
 {}
 
@@ -134,7 +134,7 @@ template <int dim, int spacedim>
 unsigned int
 MGDoFHandler<dim,spacedim>::memory_consumption() const
 {
-  unsigned int mem = DoFHandler<dim>::memory_consumption();
+  unsigned int mem = DoFHandler<dim,spacedim>::memory_consumption();
   for (unsigned int l=0;l<mg_levels.size();++l)
     mem += mg_levels[l]->memory_consumption();
   
@@ -1409,7 +1409,7 @@ void MGDoFHandler<dim,spacedim>::distribute_dofs (const FiniteElement<dim,spaced
                                         const unsigned int        offset)
 {
                                   // first distribute global dofs
-  DoFHandler<dim>::distribute_dofs (fe);
+  DoFHandler<dim,spacedim>::distribute_dofs (fe);
 
 
                                   // reserve space for the MG dof numbers
@@ -1621,7 +1621,7 @@ MGDoFHandler<dim,spacedim>::clear ()
 
                                   // let base class release its mem
                                   // as well
-  DoFHandler<dim>::clear ();  
+  DoFHandler<dim,spacedim>::clear ();  
 }
 
 
@@ -2126,4 +2126,8 @@ void MGDoFHandler<dim,spacedim>::clear_space ()
 // explicit instantiations
 template class MGDoFHandler<deal_II_dimension>;
 
+#if deal_II_dimension==1 || deal_II_dimension==2
+template class MGDoFHandler<deal_II_dimension,deal_II_dimension+1>;
+#endif
+
 DEAL_II_NAMESPACE_CLOSE
index 316675203b1175335d24667e3f5ac923b20666ff..46c2d251349640038afe28281978009419ee8529 100644 (file)
@@ -1152,7 +1152,7 @@ MGTools::make_boundary_list(
                                    // field to store the indices
   std::vector<unsigned int> face_dofs;
   face_dofs.reserve (DoFTools::max_dofs_per_face(dof));
-  std::fill (face_dofs.begin (), face_dofs.end (), DoFHandler<dim>::invalid_dof_index);
+  std::fill (face_dofs.begin (), face_dofs.end (), DoFHandler<dim,spacedim>::invalid_dof_index);
 
   typename MGDoFHandler<dim,spacedim>::cell_iterator cell = dof.begin(),
                                            endc = dof.end();
@@ -1357,7 +1357,7 @@ extract_inner_interface_dofs (const MGDoFHandler<dim,spacedim> &mg_dof_handler,
 
       for (unsigned int face_nr=0; face_nr<GeometryInfo<dim>::faces_per_cell; ++face_nr)
        {
-         const typename DoFHandler<dim>::face_iterator face = cell->face(face_nr);
+         const typename DoFHandler<dim,spacedim>::face_iterator face = cell->face(face_nr);
          if (!face->at_boundary())
            {
                                               //interior face

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.