]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove deprecated function MGTools::extract_inner_interface_dofs.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 25 Jan 2015 18:22:42 +0000 (12:22 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 25 Jan 2015 18:39:52 +0000 (12:39 -0600)
doc/news/changes.h
include/deal.II/multigrid/mg_tools.h
include/deal.II/multigrid/mg_transfer_component.h
source/multigrid/mg_tools.cc
source/multigrid/mg_tools.inst.in
source/multigrid/mg_transfer_component.cc

index 977ecd63dfe2ce0b7ae3e36ab4fd855494aff5b5..92e96e6ff3f20921b5c97acd02872a1ccccf7049 100644 (file)
@@ -205,6 +205,7 @@ inconvenience this causes.
   - PreconditionBlock::size.
   - MGTools::count_dofs_per_component.
   - MGTools::apply_boundary_values.
+  - MGTools::extract_inner_interface_dofs.
   <br>
   This release also removes the deprecated class MGDoFHandler. The
   functionality of this class had previously been incorporated into
index 85277d5bf2f36d1dfd9237ebac4cbdd4f53aceea..a6a69dfe6ff85d4ebea9a4e158a2f52e22ae0db3 100644 (file)
@@ -213,15 +213,6 @@ namespace MGTools
   extract_inner_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
                                 std::vector<IndexSet>  &interface_dofs);
 
-  /**
-   * As above but with a deprecated data structure. This makes one additional
-   * copy.
-   */
-  template <int dim, int spacedim>
-  void
-  extract_inner_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
-                                std::vector<std::vector<bool> >  &interface_dofs) DEAL_II_DEPRECATED;
-
 
   template <int dim, int spacedim>
   void
index b9d9d1e05b23eb74a954ec86a298c18bb794f9ac..9dfc70f5c00117d6300459f2874f338aff9d7900 100644 (file)
@@ -346,12 +346,12 @@ private:
   unsigned int mg_selected_component;
 
   /**
-   * The degrees of freedom on the the refinement edges. For each level (outer
-   * vector) and each dof index (inner vector), this bool is true if the level
-   * degree of freedom is on the refinement edge towards the lower level
+   * The degrees of freedom on the refinement edges. For each level the index
+   * set denotes which level
+   * degrees of freedom are on the refinement edge towards the lower level,
    * excluding boundary dofs.
    */
-  std::vector<std::vector<bool> > interface_dofs;
+  std::vector<IndexSet> interface_dofs;
 
   /**
    * The constraints of the global system.
index 68b1a2963cefaf4b811587ec8537b8bc90e85b4d..70025fbb6152b5bcb39d62745624ca37f4836010 100644 (file)
@@ -1405,29 +1405,6 @@ namespace MGTools
   }
 
 
-  template <int dim, int spacedim>
-  void
-  extract_inner_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
-                                std::vector<std::vector<bool> >  &interface_dofs)
-  {
-    std::vector<IndexSet> temp;
-    temp.resize(interface_dofs.size());
-    for (unsigned int l=0; l<interface_dofs.size(); ++l)
-      temp[l] = IndexSet(interface_dofs[l].size());
-
-    extract_inner_interface_dofs(mg_dof_handler, temp);
-
-    for (unsigned int l=0; l<interface_dofs.size(); ++l)
-      {
-        Assert (interface_dofs[l].size() == mg_dof_handler.n_dofs(l),
-                ExcDimensionMismatch (interface_dofs[l].size(),
-                                      mg_dof_handler.n_dofs(l)));
-
-        temp[l].fill_binary_vector(interface_dofs[l]);
-      }
-  }
-
-
   template <int dim, int spacedim>
   void
   extract_non_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
index 8a5981891ff757d1453b584fb4bc70997f11031e..329b7ce229ac35ff6bda396fbd787de7cb09b709 100644 (file)
@@ -106,10 +106,6 @@ for (deal_II_dimension : DIMENSIONS)
        void
        extract_inner_interface_dofs (const DoFHandler<deal_II_dimension> &mg_dof_handler,
                                      std::vector<IndexSet>  &interface_dofs);
-      template
-       void
-       extract_inner_interface_dofs (const DoFHandler<deal_II_dimension> &mg_dof_handler,
-                                     std::vector<std::vector<bool> >  &interface_dofs);
 
       template
         void
index af335e224773ccd548811f48eecaeec0857d0e68..185706e5d31b7971a8885da62d4f3e2ca608d955 100644 (file)
@@ -614,7 +614,10 @@ void MGTransferSelect<number>::build_matrices (
 
   interface_dofs.resize(mg_dof.get_tria().n_levels());
   for (unsigned int l=0; l<mg_dof.get_tria().n_levels(); ++l)
-    interface_dofs[l].resize(mg_dof.n_dofs(l));
+    {
+      interface_dofs[l].clear();
+      interface_dofs[l].set_size(mg_dof.n_dofs(l));
+    }
   MGTools::extract_inner_interface_dofs(mg_dof, interface_dofs);
 
   // use a temporary vector to create the
@@ -649,7 +652,7 @@ void MGTransferSelect<number>::build_matrices (
               const unsigned int component
                 = fe.system_to_component_index(i).first;
               if (component_mask[component] &&
-                  !interface_dofs[level][level_dof_indices[i]])
+                  !interface_dofs[level].is_element(level_dof_indices[i]))
                 {
                   const types::global_dof_index level_start
                     = mg_component_start[level][mg_target_component[component]];

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.