]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove deprecated class MGDoFHandler.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 12 Jan 2015 01:31:44 +0000 (19:31 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 13 Jan 2015 20:01:30 +0000 (14:01 -0600)
137 files changed:
doc/news/changes.h
examples/step-50/step-50.cc
include/deal.II/dofs/dof_handler.h
include/deal.II/dofs/dof_objects.h
include/deal.II/dofs/dof_renumbering.h
include/deal.II/dofs/dof_tools.h
include/deal.II/fe/fe_values.h
include/deal.II/grid/grid_tools.h
include/deal.II/grid/intergrid_map.h
include/deal.II/grid/tria.h
include/deal.II/grid/tria_iterator.h
include/deal.II/matrix_free/matrix_free.h
include/deal.II/matrix_free/matrix_free.templates.h
include/deal.II/meshworker/local_results.h
include/deal.II/multigrid/mg_dof_handler.h [deleted file]
include/deal.II/multigrid/mg_dof_iterator_selector.h [deleted file]
include/deal.II/multigrid/multigrid.h
include/deal.II/numerics/matrix_tools.h
source/dofs/block_info.cc
source/dofs/dof_renumbering.cc
source/dofs/dof_renumbering.inst.in
source/dofs/dof_tools.cc
source/dofs/dof_tools.inst.in
source/dofs/dof_tools_constraints.cc
source/dofs/dof_tools_constraints.inst.in
source/dofs/dof_tools_sparsity.cc
source/dofs/dof_tools_sparsity.inst.in
source/grid/grid_tools.cc
source/grid/grid_tools.inst.in
source/grid/intergrid_map.cc
source/multigrid/CMakeLists.txt
source/multigrid/mg_dof_handler.cc [deleted file]
source/multigrid/mg_dof_handler.inst.in [deleted file]
source/multigrid/mg_tools.cc
source/multigrid/mg_tools.inst.in
source/multigrid/mg_transfer_block.cc
source/multigrid/mg_transfer_component.cc
source/multigrid/mg_transfer_prebuilt.cc
source/numerics/fe_field_function.cc
source/numerics/vector_tools_boundary.inst.in
tests/benchmarks/old/dof_handler_size.cc
tests/benchmarks/old/dof_handler_timing_01.cc
tests/benchmarks/old/patches/library/2007-05-30
tests/bits/refine_and_coarsen_for_parents_03.cc
tests/bits/step-16.cc
tests/bits/step-16b.cc
tests/deal.II/block_info.cc
tests/deal.II/block_info_02.cc
tests/deal.II/block_list.h
tests/deal.II/block_list_01.cc
tests/deal.II/block_list_02.cc
tests/deal.II/block_list_03.cc
tests/deal.II/block_list_04.cc
tests/deal.II/dof_renumbering.cc
tests/deal.II/dof_renumbering_02.cc
tests/deal.II/dof_renumbering_03.cc
tests/deal.II/dof_renumbering_04.cc
tests/deal.II/dof_renumbering_04a.cc
tests/deal.II/dof_renumbering_05.cc
tests/deal.II/dof_renumbering_06.cc
tests/deal.II/extract_dofs_by_component_02_mg.cc
tests/deal.II/get_finest_common_cells_01.cc
tests/deal.II/get_finest_common_cells_02.cc
tests/deal.II/get_finest_common_cells_03.cc
tests/deal.II/get_finest_common_cells_04.cc
tests/deal.II/have_same_coarse_mesh_01.cc
tests/deal.II/have_same_coarse_mesh_02.cc
tests/deal.II/have_same_coarse_mesh_03.cc
tests/deal.II/have_same_coarse_mesh_04.cc
tests/deal.II/helmholtz.h
tests/deal.II/helmholtz1mg.th
tests/deal.II/mg_dof_handler.cc
tests/fe/transfer.cc
tests/hp/dof_renumbering_04.cc
tests/hp/dof_renumbering_05.cc
tests/hp/dof_renumbering_06.cc
tests/hp/renumber_block_wise_01.cc
tests/hp/renumber_block_wise_01a.cc
tests/hp/renumber_block_wise_01b.cc
tests/hp/renumber_block_wise_02.cc
tests/hp/renumber_component_wise.cc
tests/integrators/assembler_simple_mgmatrix_03.cc
tests/integrators/assembler_simple_mgmatrix_04.cc
tests/integrators/cells_and_faces_01.cc
tests/integrators/functional_01.cc
tests/integrators/mesh_worker_01.cc
tests/integrators/mesh_worker_02.cc
tests/integrators/mesh_worker_03.cc
tests/mpi/flux_edge_01.cc
tests/mpi/mesh_worker_03.cc
tests/mpi/multigrid_adaptive.cc
tests/mpi/multigrid_uniform.cc
tests/mpi/step-39.cc
tests/mpi/torus.cc
tests/multigrid/boundary_01.cc
tests/multigrid/count_01.cc
tests/multigrid/dof_01.cc
tests/multigrid/dof_02.cc
tests/multigrid/dof_03.cc
tests/multigrid/mg_renumbered_01.cc
tests/multigrid/mg_renumbered_02.cc
tests/multigrid/mg_renumbered_03.cc
tests/multigrid/renumbering_01.cc
tests/multigrid/renumbering_02.cc
tests/multigrid/renumbering_03.cc
tests/multigrid/step-16-02.cc
tests/multigrid/step-16-bdry1.cc
tests/multigrid/step-16.cc
tests/multigrid/step-39-02.cc
tests/multigrid/step-39-02a.cc
tests/multigrid/step-39-03.cc
tests/multigrid/step-39.cc
tests/multigrid/transfer_01.cc
tests/multigrid/transfer_02.cc
tests/multigrid/transfer_03.cc
tests/multigrid/transfer_block.cc
tests/multigrid/transfer_block_select.cc
tests/multigrid/transfer_compare_01.cc
tests/multigrid/transfer_prebuilt_01.cc
tests/multigrid/transfer_prebuilt_02.cc
tests/multigrid/transfer_prebuilt_03.cc
tests/multigrid/transfer_select.cc
tests/multigrid/transfer_system_01.cc
tests/multigrid/transfer_system_02.cc
tests/multigrid/transfer_system_03.cc
tests/multigrid/transfer_system_04.cc
tests/multigrid/transfer_system_05.cc
tests/multigrid/transfer_system_adaptive_01.cc
tests/multigrid/transfer_system_adaptive_02.cc
tests/multigrid/transfer_system_adaptive_03.cc
tests/multigrid/transfer_system_adaptive_04.cc
tests/multigrid/transfer_system_adaptive_05.cc
tests/multigrid/transfer_system_adaptive_06.cc
tests/multigrid/transfer_system_adaptive_07.cc
tests/multigrid/transfer_system_adaptive_08.cc
tests/multigrid/transfer_system_adaptive_09.cc
tests/trilinos/mg_transfer_prebuilt_01.cc

index 880aafa1b63a10068b05967f6108fb9adf96a9dc..2feac5d68214b46d48ab7a49df007646f6aa99fc 100644 (file)
@@ -140,7 +140,30 @@ inconvenience this causes.
   - TrilinosWrappers::*Vector*::compress with an Epetra_CombineMode
     argument
   <br>
-  (Wolfgang Bangerth, 2014/12/29-2015/01/09)
+  This release also removes the deprecated class MGDoFHandler. The
+  functionality of this class had previously been incorporated into
+  the DoFHandler class. Unlike the changes above, if you were still
+  using this class, you will need to do the following changes to
+  your code:
+  - Where you called <code>mg_dof_handler.distribute_dofs()</code>
+    you now also need to explicitly call
+    <code>mg_dof_handler.distribute_mg_dofs()</code>.
+  - If you called <code>mg_dof_handler.begin(level)</code>, you
+    will now have to write this as
+    <code>mg_dof_handler.begin_mg(level)</code> to make clear that
+    you are not just interested in an iterator to a cell on a given
+    level, but in fact to a cell that can access the degrees of
+    freedom on a particular level of a multigrid hierarchy.
+  - The type previously referred to as
+    <code>MGDoFHandler::cell_iterator</code> now corresponds to
+    <code>MGDoFHandler::level_cell_iterator</code>.
+  - Where you previously called DoFRenumbering::component_wise
+    for the entire MGDoFHandler object, you now need to call
+    this function for the DoFHandler object, and then call the
+    same function with the <code>level</code> argument for each
+    of the levels of the triangulation individually.
+  <br>
+  (Wolfgang Bangerth, 2014/12/29-2015/01/11)
   </li>
 
   <li> Removed: The config.h file no longer exports HAVE_* definitions.
index e4fc0ba5de038272608f13c2a8a4fb854d514d1d..c91a37cf0a2afe377b054aca6694db961a52dc64 100644 (file)
@@ -93,7 +93,6 @@
 // The rest of the include files deals with
 // the mechanics of multigrid as a linear
 // operator (solver or preconditioner).
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_constrained_dofs.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
index e2bd6a6da01696d9ce59a75e3c120afdb69f4ba4..2f1b392e26deb750f429c5a14dfef08fa982c37b 100644 (file)
@@ -344,8 +344,6 @@ public:
    * multigrid. The active DoFs need to be distributed using distribute_dofs()
    * before calling this function and the @p fe needs to be identical to the
    * finite element passed to distribute_dofs().
-   *
-   * This replaces the functionality of the old MGDoFHandler.
    */
   virtual void distribute_mg_dofs (const FiniteElement<dim, spacedim> &fe);
 
@@ -727,7 +725,8 @@ public:
    *
    * At the end of distribute_dofs(), the number of degrees of freedom in each
    * block is counted, and stored in a BlockInfo object, which can be accessed
-   * here. In an MGDoFHandler, the same is done on each level. Additionally,
+   * here. If you have previously called distribute_mg_dofs(),
+   * the same is done on each level of the multigrid hierarchy. Additionally,
    * the block structure on each cell can be generated in this object by
    * calling initialize_local_block_info().
    */
index 2adab75f921b772f42eb2d2f05b48abc87b1fcb1..7fd4b1420c3ab4196992c45ba6ba0e251fd02a2a 100644 (file)
@@ -142,8 +142,8 @@ namespace internal
                      const unsigned int version);
 
       /**
-       * Make the DoFHandler and MGDoFHandler classes a friend, so that they
-       * can resize arrays as necessary.
+       * Declare the classes that store levels and faces of DoFs
+       * friends so that they can resize arrays.
        */
       template <int> friend class DoFLevel;
       template <int> friend class DoFFaces;
index 999ab64690f82a8b6e77e5e1f37516d6344946e4..c7c1836b0f6882998b66de47986438a3233599f4 100644 (file)
@@ -22,7 +22,6 @@
 #include <deal.II/base/point.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <vector>
 
@@ -594,10 +593,6 @@ namespace DoFRenumbering
    *
    * For finite elements with only one component, or a single non-primitive
    * base element, this function is the identity operation.
-   *
-   * @note A similar function, which renumbered all levels existed for
-   * MGDoFHandler. This function was deleted. Thus, you have to call the level
-   * function for each level now.
    */
   template <int dim, int spacedim>
   void
@@ -618,7 +613,7 @@ namespace DoFRenumbering
   /**
    * Sort the degrees of freedom by component. It does the same thing as the
    * above function, only that it does this for one single level of a multi-
-   * level discretization. The non-multigrid part of the MGDoFHandler is not
+   * level discretization. The non-multigrid part of the the DoFHandler is not
    * touched.
    */
   template <class DH>
@@ -627,17 +622,6 @@ namespace DoFRenumbering
                   const unsigned int level,
                   const std::vector<unsigned int> &target_component = std::vector<unsigned int>());
 
-
-  /**
-   * Sort the degrees of freedom by component. It does the same thing as the
-   * previous functions, but more: it renumbers not only every level of the
-   * multigrid part, but also the global, i.e. non-multigrid components.
-   */
-  template <int dim>
-  void
-  component_wise (MGDoFHandler<dim>               &dof_handler,
-                  const std::vector<unsigned int> &target_component = std::vector<unsigned int>());
-
   /**
    * Computes the renumbering vector needed by the component_wise() functions.
    * Does not perform the renumbering on the DoFHandler dofs but returns the
@@ -692,27 +676,6 @@ namespace DoFRenumbering
   void
   block_wise (hp::DoFHandler<dim> &dof_handler);
 
-  /**
-   * Sort the degrees of freedom by block. It does the same thing as the above
-   * function, only that it does this for one single level of a multi-level
-   * discretization. The non-multigrid part of the MGDoFHandler is not
-   * touched.
-   */
-  template <int dim>
-  void
-  block_wise (MGDoFHandler<dim>  &dof_handler,
-              const unsigned int  level);
-
-
-  /**
-   * Sort the degrees of freedom by block. It does the same thing as the
-   * previous functions, but more: it renumbers not only every level of the
-   * multigrid part, but also the global, i.e. non-multigrid components.
-   */
-  template <int dim>
-  void
-  block_wise (MGDoFHandler<dim> &dof_handler);
-
   /**
    * Computes the renumbering vector needed by the block_wise() functions.
    * Does not perform the renumbering on the DoFHandler dofs but returns the
@@ -960,9 +923,10 @@ namespace DoFRenumbering
                                    const std::vector<bool>   &selected_dofs);
 
   /**
-   * Computes the renumbering vector on each level needed by the
+   * This function computes the renumbering vector on each level needed by the
    * sort_selected_dofs_back() function. Does not perform the renumbering on
-   * the MGDoFHandler dofs but returns the renumbering vector.
+   * the DoFHandler dofs but only computes the renumbering and returns
+   * the renumbering vector.
    *
    * @pre The @p selected_dofs array must have as many elements as the @p
    * dof_handler has degrees of freedom on the given level.
index a545b4c5fab63f301b3cf9694d6f6545d807d6fa..259d1e472146b62abd92fbafea3fd5101fce8d01 100644 (file)
@@ -47,7 +47,6 @@ namespace hp
   template <int dim, int spacedim> class DoFHandler;
   template <int dim, int spacedim> class MappingCollection;
 }
-template <int dim, int spacedim> class MGDoFHandler;
 class ConstraintMatrix;
 template <class GridClass> class InterGridMap;
 template <int dim, int spacedim> class Mapping;
index 37278865a61c201149c41d4d982b57cd999dc231..5addb77fcc6d10b6a391729e813787d40a59aa70 100644 (file)
@@ -35,7 +35,6 @@
 #include <deal.II/fe/fe_update_flags.h>
 #include <deal.II/fe/fe_values_extractors.h>
 #include <deal.II/fe/mapping.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <algorithm>
 #include <memory>
index fc342de97ce7e7b1f806727196031a8f6a8c946e..5946c65fedb421a38d2157880b7024c58dad801e 100644 (file)
@@ -707,7 +707,7 @@ namespace GridTools
 
   /**
    * Given two mesh containers (i.e. objects of type Triangulation,
-   * DoFHandler, hp::DoFHandler, or MGDoFHandler) that are based on the same
+   * DoFHandler, or hp::DoFHandler) that are based on the same
    * coarse mesh, this function figures out a set of cells that are matched
    * between the two meshes and where at most one of the meshes is more
    * refined on this cell. In other words, it finds the smallest cells that
@@ -756,7 +756,7 @@ namespace GridTools
 
   /**
    * The same function as above, but working on arguments of type DoFHandler,
-   * hp::DoFHandler, or MGDoFHandler. This function is provided to allow
+   * or hp::DoFHandler. This function is provided to allow
    * calling have_same_coarse_mesh for all types of containers representing
    * triangulations or the classes built on triangulations.
    *
index e8f52b897a92bf8a9b7c9e7320467add1b0403eb..948487c8852398dcc0e849c799687571dd0692e5 100644 (file)
@@ -68,12 +68,12 @@ DEAL_II_NAMESPACE_OPEN
  *
  * The implementation of this class is such that not only cell iterators into
  * triangulations can be mapped, but also iterators into objects of type
- * DoFHandler, hp::DoFHandler and MGDoFHandler. The extension to other classes
+ * DoFHandler or hp::DoFHandler. The extension to other classes
  * offering iterator functions and some minor additional requirements is
  * simple.
  *
  * Note that this class could in principle be based on the C++
- * <tt>map<Key,Value></tt> data type. Instead, it uses another data format
+ * <tt>std::map<Key,Value></tt> data type. Instead, it uses another data format
  * which is more effective both in terms of computing time for access as well
  * as with regard to memory consumpion.
  *
@@ -107,8 +107,7 @@ DEAL_II_NAMESPACE_OPEN
  *
  * Note that the template parameters to this class have to be given as
  * <tt>InterGridMap<DoFHandler<2> ></tt>, which here is DoFHandler (and could
- * equally well be Triangulation, PersistentTriangulation, hp::DoFHandler or
- * MGDoFHandler).
+ * equally well be Triangulation, PersistentTriangulation, or hp::DoFHandler).
  *
  * @ingroup grid
  * @author Wolfgang Bangerth, 1999
index 54c013541949ab21639b0a00c3fe37c936c18ac8..d8abc8c85d133c653fa96221fc56ddfaefe50eea 100644 (file)
@@ -76,7 +76,6 @@ namespace hp
 {
   template <int dim, int spacedim> class DoFHandler;
 }
-template <int dim, int spacedim> class MGDoFHandler;
 
 
 /*------------------------------------------------------------------------*/
index 79578f7f4852a0bca0c144e9166c1ed5349fff72..c8fae28017eb3dc1b6b1358b14f4c5246873141d 100644 (file)
@@ -161,11 +161,12 @@ template <typename> class TriaActiveIterator;
  * but you may write your own version (non-virtual, since we use templates) to
  * add functionality.
  *
- * The accessors provided by the library are distributed in three groups,
- * determined by whether they access the data of Triangulation, DoFHandler or
- * MGDoFHandler. They are derived from TriaAccessor, DoFAccessor and
- * MGDoFAccessor, respectively. In each group, there is an accessor to cells,
- * which have more functionality.
+ * The accessors provided by the library consists of two groups,
+ * determined by whether they access the data of Triangulation objects or
+ * DoFHandler/hp::DoFHandler objects. They are derived from TriaAccessor and
+ * DoFAccessor, respectively. Each group also has specialized accessors for
+ * cells (as opposed to faces and lines) that offer more functionality such as
+ * accessing neighbors.
  *
  * @attention It seems impossible to preserve constness of a triangulation
  * through iterator usage. Thus, if you declare pointers to a <tt>const</tt>
index 50cf0506af561493664a09c5f0616e44bd543d42..c0222571ac5d3045e8d6b7b82003ccad02c3ab65 100644 (file)
@@ -30,7 +30,6 @@
 #include <deal.II/lac/block_vector_base.h>
 #include <deal.II/lac/constraint_matrix.h>
 #include <deal.II/dofs/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/hp/q_collection.h>
 #include <deal.II/matrix_free/helper_functions.h>
@@ -1583,38 +1582,6 @@ reinit(const Mapping<dim>                         &mapping,
 
 
 
-namespace internal
-{
-  namespace MatrixFree
-  {
-    // resolve DoFHandler types
-
-    // MGDoFHandler is deprecated in deal.II but might still be present in
-    // user code, so we need to resolve its type (fortunately, it is derived
-    // from DoFHandler, so we can static_cast it to a DoFHandler<dim>)
-    template <typename DH>
-    inline
-    std::vector<const dealii::DoFHandler<DH::dimension> *>
-    resolve_dof_handler (const std::vector<const DH *> &dof_handler)
-    {
-      std::vector<const dealii::DoFHandler<DH::dimension> *> conversion(dof_handler.size());
-      for (unsigned int i=0; i<dof_handler.size(); ++i)
-        conversion[i] = static_cast<const dealii::DoFHandler<DH::dimension> *>(dof_handler[i]);
-      return conversion;
-    }
-
-    template <int dim>
-    inline
-    std::vector<const dealii::hp::DoFHandler<dim> *>
-    resolve_dof_handler (const std::vector<const dealii::hp::DoFHandler<dim> *> &dof_handler)
-    {
-      return dof_handler;
-    }
-  }
-}
-
-
-
 template <int dim, typename Number>
 template <typename DH, typename Quad>
 void MatrixFree<dim,Number>::
@@ -1630,7 +1597,7 @@ reinit(const Mapping<dim>                         &mapping,
   for (unsigned int q=0; q<quad.size(); ++q)
     quad_hp.push_back (hp::QCollection<1>(quad[q]));
   internal_reinit (mapping,
-                   internal::MatrixFree::resolve_dof_handler(dof_handler),
+                   dof_handler,
                    constraint, locally_owned_set, quad_hp, additional_data);
 }
 
index 45944812cf96bcc2accba161d800cd884e46c933..eafe233f0f76828481dac768238b1c0e1105629e 100644 (file)
@@ -573,7 +573,7 @@ void MatrixFree<dim,Number>::initialize_indices
                                              constraint_values,
                                              cell_at_boundary);
             }
-          // ok, now we are requested to use a level in a MGDoFHandler
+          // ok, now we are requested to use a level in a MG DoFHandler
           else if (dof_handlers.active_dof_handler == DoFHandlers::usual &&
                    dof_handlers.level != numbers::invalid_unsigned_int)
             {
index 94538f915c8424ea59de5b40507928f8f2be65e6..880f54e552bc8a6ef373ea129324ed562fefed08 100644 (file)
@@ -28,7 +28,7 @@ DEAL_II_NAMESPACE_OPEN
 
 class BlockIndices;
 template<int,int> class DoFHandler;
-template<int,int> class MGDoFHandler;
+
 
 /**
  * A collection of functions and classes for the mesh loops that are an
diff --git a/include/deal.II/multigrid/mg_dof_handler.h b/include/deal.II/multigrid/mg_dof_handler.h
deleted file mode 100644 (file)
index b0970bc..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1998 - 2013 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE at
-// the top level of the deal.II distribution.
-//
-// ---------------------------------------------------------------------
-
-#ifndef __deal2__mg_dof_handler_h
-#define __deal2__mg_dof_handler_h
-
-//TODO: MgDoFHandler should be marked deprecated, but is used everywhere...
-//#warning MGDoFHandler is deprecated
-
-#include <deal.II/base/config.h>
-#include <deal.II/dofs/dof_handler.h>
-//#include <deal.II/multigrid/mg_dof_iterator_selector.h>
-
-DEAL_II_NAMESPACE_OPEN
-
-
-namespace internal
-{
-  namespace MGDoFHandler
-  {
-    struct Implementation;
-  }
-}
-
-
-/*!@addtogroup mg */
-/*@{*/
-
-
-/**
- * @deprecated All functionality of this class has been moved to DoFHandler.
- * Thus, this class is only a wrapper left in the library for compatibility
- * reasons.
- *
- * This class manages degrees of freedom for a multilevel hierarchy of grids.
- * It does mostly the same as does the @p DoDHandler class, but it uses a
- * separate enumeration of the degrees of freedom on each level. For example,
- * a vertex has several DoF numbers, one for each level of the triangulation
- * on which it exists.
- *
- * @todo This class has not yet been implemented for the use in the
- * codimension one case (<tt>spacedim != dim </tt>).
- *
- * @ingroup dofs
- * @author Wolfgang Bangerth, 1998, 1999 Markus Bürg, Timo Heister, Guido
- * Kanschat, 2012
- */
-template <int dim, int spacedim=dim>
-class MGDoFHandler : public DoFHandler<dim,spacedim>
-{
-  typedef dealii::internal::DoFHandler::Iterators<DoFHandler<dim,spacedim>, true> IteratorSelector;
-public:
-  typedef typename IteratorSelector::CellAccessor cell_accessor;
-  typedef typename IteratorSelector::FaceAccessor face_accessor;
-
-  typedef typename IteratorSelector::raw_line_iterator raw_line_iterator;
-  typedef typename IteratorSelector::line_iterator line_iterator;
-  typedef typename IteratorSelector::active_line_iterator active_line_iterator;
-
-  typedef typename IteratorSelector::quad_iterator quad_iterator;
-  typedef typename IteratorSelector::active_quad_iterator active_quad_iterator;
-
-  typedef typename IteratorSelector::hex_iterator hex_iterator;
-  typedef typename IteratorSelector::active_hex_iterator active_hex_iterator;
-
-  typedef typename IteratorSelector::cell_iterator cell_iterator;
-  typedef typename IteratorSelector::active_cell_iterator active_cell_iterator;
-
-  typedef typename IteratorSelector::face_iterator face_iterator;
-  typedef typename IteratorSelector::active_face_iterator active_face_iterator;
-
-  /**
-   * Make the dimension and the space_dimension available in function
-   * templates.
-   */
-  static const unsigned int dimension = dim;
-
-  static const unsigned int space_dimension = spacedim;
-
-  /**
-   * Default constructor, which will require a call to initialize() later to
-   * set the Triangulation.
-   */
-  MGDoFHandler ();
-
-  /**
-   * Constructor. Take @p tria as the triangulation to work on.
-   */
-  MGDoFHandler (const Triangulation<dim, spacedim> &tria);
-
-  /**
-   * Destructor
-   */
-  virtual ~MGDoFHandler ();
-
-  /**
-   * Go through the triangulation and distribute the degrees of freedoms
-   * needed for the given finite element according to the given distribution
-   * method. We first call the DoFHandler's function and then distribute the
-   * levelwise numbers.
-   *
-   * A copy of the transferred finite element is stored.
-   */
-  virtual void distribute_dofs (const FiniteElement<dim,spacedim> &);
-
-  /**
-   * @name Cell iterator functions
-   */
-  /*@{*/
-  /**
-   * Iterator to the first used cell on level @p level.
-   */
-  cell_iterator        begin       (const unsigned int level = 0) const;
-
-  /**
-   * Iterator past the end; this iterator serves for comparisons of iterators
-   * with past-the-end or before-the-beginning states.
-   */
-  cell_iterator        end () const;
-
-  /**
-   * Return an iterator which is the first iterator not on level. If @p level
-   * is the last level, then this returns <tt>end()</tt>.
-   */
-  cell_iterator        end (const unsigned int level) const;
-
-  //@}
-
-} DEAL_II_DEPRECATED;
-
-/*@}*/
-
-
-DEAL_II_NAMESPACE_CLOSE
-
-
-#endif
diff --git a/include/deal.II/multigrid/mg_dof_iterator_selector.h b/include/deal.II/multigrid/mg_dof_iterator_selector.h
deleted file mode 100644 (file)
index cf39a9c..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1998 - 2013 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE at
-// the top level of the deal.II distribution.
-//
-// ---------------------------------------------------------------------
-
-#ifndef __deal2__mg_dof_iterator_selector_h
-#define __deal2__mg_dof_iterator_selector_h
-
-
-#include <deal.II/base/config.h>
-
-
-DEAL_II_NAMESPACE_OPEN
-
-template <int structdim, int dim, int spacedim> class MGDoFAccessor;
-template <int dim, int spacedim> class MGDoFCellAccessor;
-template <int, int, int> class InvalidAccessor;
-
-template <typename Accessor> class TriaRawIterator;
-template <typename Accessor> class TriaIterator;
-template <typename Accessor> class TriaActiveIterator;
-
-
-namespace internal
-{
-  namespace MGDoFHandler
-  {
-    template <int dim, int spacedim>
-    class Iterators;
-
-
-    /**
-     * Iterators for MGDofHandler in one dimension. See the
-     * @ref Iterators
-     * module for more information.
-     */
-    template <int spacedim>
-    class Iterators<1,spacedim>
-    {
-    public:
-      typedef dealii::MGDoFCellAccessor<1,spacedim> CellAccessor;
-      typedef dealii::MGDoFAccessor<0,1,spacedim> FaceAccessor;
-
-      typedef TriaRawIterator   <CellAccessor> raw_line_iterator;
-      typedef TriaIterator      <CellAccessor> line_iterator;
-      typedef TriaActiveIterator<CellAccessor> active_line_iterator;
-
-      typedef TriaRawIterator   <InvalidAccessor<2,1,spacedim> > raw_quad_iterator;
-      typedef TriaIterator      <InvalidAccessor<2,1,spacedim> > quad_iterator;
-      typedef TriaActiveIterator<InvalidAccessor<2,1,spacedim> > active_quad_iterator;
-
-      typedef TriaRawIterator   <InvalidAccessor<3,1,spacedim> > raw_hex_iterator;
-      typedef TriaIterator      <InvalidAccessor<3,1,spacedim> > hex_iterator;
-      typedef TriaActiveIterator<InvalidAccessor<3,1,spacedim> > active_hex_iterator;
-
-      typedef raw_line_iterator    raw_cell_iterator;
-      typedef line_iterator        cell_iterator;
-      typedef active_line_iterator active_cell_iterator;
-
-      typedef TriaRawIterator   <FaceAccessor> raw_face_iterator;
-      typedef TriaIterator      <FaceAccessor> face_iterator;
-      typedef TriaActiveIterator<FaceAccessor> active_face_iterator;
-    };
-
-
-
-    /**
-     * Iterators for MGDofHandler in two dimensions. See the
-     * @ref Iterators
-     * module for more information.
-     */
-    template <int spacedim>
-    class Iterators<2,spacedim>
-    {
-    public:
-      typedef dealii::MGDoFCellAccessor<2,spacedim> CellAccessor;
-      typedef dealii::MGDoFAccessor<1,2,spacedim> FaceAccessor;
-
-      typedef TriaRawIterator   <FaceAccessor> raw_line_iterator;
-      typedef TriaIterator      <FaceAccessor> line_iterator;
-      typedef TriaActiveIterator<FaceAccessor> active_line_iterator;
-
-      typedef TriaRawIterator   <CellAccessor> raw_quad_iterator;
-      typedef TriaIterator      <CellAccessor> quad_iterator;
-      typedef TriaActiveIterator<CellAccessor> active_quad_iterator;
-
-      typedef TriaRawIterator   <InvalidAccessor<3,2,spacedim> > raw_hex_iterator;
-      typedef TriaIterator      <InvalidAccessor<3,2,spacedim> > hex_iterator;
-      typedef TriaActiveIterator<InvalidAccessor<3,2,spacedim> > active_hex_iterator;
-
-      typedef raw_quad_iterator    raw_cell_iterator;
-      typedef quad_iterator        cell_iterator;
-      typedef active_quad_iterator active_cell_iterator;
-
-      typedef raw_line_iterator    raw_face_iterator;
-      typedef line_iterator        face_iterator;
-      typedef active_line_iterator active_face_iterator;
-    };
-
-
-
-    /**
-     * Iterators for MGDofHandler in three dimensions. See the
-     * @ref Iterators
-     * module for more information.
-     */
-    template <int spacedim>
-    class Iterators<3,spacedim>
-    {
-    public:
-      typedef dealii::MGDoFCellAccessor<3,spacedim> CellAccessor;
-      typedef dealii::MGDoFAccessor<2,3,spacedim> FaceAccessor;
-
-      typedef TriaRawIterator   <dealii::MGDoFAccessor<1,3,spacedim> >    raw_line_iterator;
-      typedef TriaIterator      <dealii::MGDoFAccessor<1,3,spacedim> >       line_iterator;
-      typedef TriaActiveIterator<dealii::MGDoFAccessor<1,3,spacedim> > active_line_iterator;
-
-      typedef TriaRawIterator   <FaceAccessor> raw_quad_iterator;
-      typedef TriaIterator      <FaceAccessor> quad_iterator;
-      typedef TriaActiveIterator<FaceAccessor> active_quad_iterator;
-
-      typedef TriaRawIterator   <CellAccessor> raw_hex_iterator;
-      typedef TriaIterator      <CellAccessor> hex_iterator;
-      typedef TriaActiveIterator<CellAccessor> active_hex_iterator;
-
-      typedef raw_hex_iterator    raw_cell_iterator;
-      typedef hex_iterator        cell_iterator;
-      typedef active_hex_iterator active_cell_iterator;
-
-      typedef raw_quad_iterator    raw_face_iterator;
-      typedef quad_iterator        face_iterator;
-      typedef active_quad_iterator active_face_iterator;
-    };
-  }
-}
-
-
-DEAL_II_NAMESPACE_CLOSE
-
-#endif
-/*----------------------------   mg_dof_iterator_selector.h     ---------------------------*/
index f4df66f6f3e1b0552daf5f679903d0709b6214e7..e9fe9831f74e784d99599712bef0bec23d01e2b1 100644 (file)
@@ -25,7 +25,6 @@
 #include <deal.II/lac/vector.h>
 #include <deal.II/multigrid/mg_base.h>
 #include <deal.II/base/mg_level_object.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <vector>
 
index 71afd6ae476ad12c51719310340b5c4e2a912ac0..10dd190f90bddf871ff93616e0a7596e9f21cb8d 100644 (file)
@@ -42,7 +42,6 @@ template <typename Number> class BlockVector;
 
 template <int dim, int spacedim> class Mapping;
 template <int dim, int spacedim> class DoFHandler;
-template <int dim, int spacedim> class MGDoFHandler;
 template <int dim, int spacedim> class FEValues;
 
 namespace hp
index d7d883178d173a934e3d7990224990539a6041da..4842e30f825058061dbcf6dc2ab9d3c0b6e126d4 100644 (file)
@@ -16,7 +16,6 @@
 #include <deal.II/dofs/block_info.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/fe/fe.h>
 #include <deal.II/fe/fe_tools.h>
index f1f986a5de06bda77fd6206cd696ca68ec0ce2be..9a6cfff39f1329c696d88c0d5e108f59f682a010 100644 (file)
@@ -550,17 +550,6 @@ namespace DoFRenumbering
     //  component_wise(dof_handler, level, component_order_arg);
   }
 
-  // This function is only for compatibility reasons and will vanish in 8.0
-  template <int dim>
-  void
-  component_wise (MGDoFHandler<dim>        &dof_handler,
-                  const std::vector<unsigned int> &component_order_arg)
-  {
-    DoFHandler<dim> &active_dof = dof_handler;
-    component_wise(active_dof, component_order_arg);
-    for (unsigned int level=0; level<dof_handler.get_tria().n_levels(); ++level)
-      component_wise(dof_handler, level, component_order_arg);
-  }
 
 
   template <int dim>
@@ -961,31 +950,6 @@ namespace DoFRenumbering
 
 
 
-  template <int dim>
-  void
-  block_wise (MGDoFHandler<dim> &dof_handler)
-  {
-    // renumber the non-MG part of
-    // the DoFHandler in parallel to
-    // the MG part. Because
-    // MGDoFHandler::renumber_dofs
-    // uses the user flags we can't
-    // run renumbering on individual
-    // levels in parallel to the
-    // other levels
-    void (*non_mg_part) (DoFHandler<dim> &)
-      = &block_wise<dim>;
-    Threads::Task<>
-    task = Threads::new_task (non_mg_part, dof_handler);
-
-    for (unsigned int level=0; level<dof_handler.get_tria().n_levels(); ++level)
-      block_wise (dof_handler, level);
-
-    task.join();
-  }
-
-
-
   template <int dim, int spacedim, class ITERATOR, class ENDITERATOR>
   types::global_dof_index
   compute_block_wise (std::vector<types::global_dof_index> &new_indices,
index e4a7060fd8e79dc999cb291e0e0c3ba02d916d99..fda48f7efd7f6b8aa0b71b3675681d548f2627e0 100644 (file)
@@ -160,17 +160,6 @@ namespace DoFRenumbering
        unsigned int,
        const std::vector<unsigned int>&);
 
-    template
-      void component_wise
-      (MGDoFHandler<deal_II_dimension>&,
-       const std::vector<unsigned int>&);
-
-    template
-      void component_wise
-      (MGDoFHandler<deal_II_dimension>&,
-       unsigned int,
-       const std::vector<unsigned int>&);
-
     template
       void block_wise<deal_II_dimension>
       (hp::DoFHandler<deal_II_dimension>&);
@@ -236,13 +225,6 @@ namespace DoFRenumbering
        const hp::DoFHandler<deal_II_dimension>&,
        const std::vector<hp::DoFHandler<deal_II_dimension>::active_cell_iterator>&);
 
-    template void
-      downstream<MGDoFHandler<deal_II_dimension> >
-      (MGDoFHandler<deal_II_dimension>&,
-       unsigned int,
-       const Point<deal_II_dimension>&,
-       const bool);
-
     template void
       compute_downstream<hp::DoFHandler<deal_II_dimension> >
       (std::vector<types::global_dof_index>&,std::vector<types::global_dof_index>&,
@@ -296,12 +278,6 @@ namespace DoFRenumbering
       (DoFHandler<deal_II_dimension> &,
        const std::vector<bool> &);
 
-    template
-      void sort_selected_dofs_back<MGDoFHandler<deal_II_dimension> >
-      (MGDoFHandler<deal_II_dimension> &,
-       const std::vector<bool> &,
-       const unsigned int);
-
     template
       void
       compute_sort_selected_dofs_back<DoFHandler<deal_II_dimension> >
@@ -309,14 +285,6 @@ namespace DoFRenumbering
        const DoFHandler<deal_II_dimension> &,
        const std::vector<bool> &);
 
-    template
-      void
-      compute_sort_selected_dofs_back<MGDoFHandler<deal_II_dimension> >
-      (std::vector<types::global_dof_index>&,
-       const MGDoFHandler<deal_II_dimension> &,
-       const std::vector<bool> &,
-       const unsigned int);
-
     template
       void random<hp::DoFHandler<deal_II_dimension> >
       (hp::DoFHandler<deal_II_dimension> &);
@@ -350,14 +318,6 @@ namespace DoFRenumbering
        const unsigned int,
        const bool,
        const std::vector<types::global_dof_index>&);
-
-    template
-      void Cuthill_McKee<MGDoFHandler<deal_II_dimension> >
-      (MGDoFHandler<deal_II_dimension>&,
-       const unsigned int,
-       const bool,
-       const std::vector<types::global_dof_index>&);
-
     \}  // namespace DoFRenumbering
 #endif
   }
index 1a6e7c6582975681c391dd83702edd1f779848b0..c49012d927827cde75882f9a9e6d1ef39517daed 100644 (file)
@@ -40,7 +40,6 @@
 #include <deal.II/hp/fe_values.h>
 #include <deal.II/dofs/dof_tools.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <algorithm>
 #include <numeric>
index e7a596b26d328665e02f81a2e80424292027bf4f..3bfb331ffe893d19bbe2cd52f788621ccfec2f81 100644 (file)
@@ -23,11 +23,7 @@ for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
    template void
    DoFTools::make_cell_patches<DoFHandler<deal_II_dimension>,SP>
    (SP&, const DoFHandler<deal_II_dimension>&, const unsigned int, const std::vector<bool>&, types::global_dof_index);
-
-   template void
-   DoFTools::make_cell_patches<MGDoFHandler<deal_II_dimension>,SP>
-   (SP&, const MGDoFHandler<deal_II_dimension>&, const unsigned int, const std::vector<bool>&, types::global_dof_index);
-}
+  }
 
 
 
@@ -54,19 +50,6 @@ for (deal_II_dimension : DIMENSIONS)
   void DoFTools::make_child_patches(SparsityPattern&, const DoFHandler<deal_II_dimension>&,
   unsigned int, bool, bool);
 
-  template
-  void DoFTools::make_vertex_patches (SparsityPattern&, const MGDoFHandler<deal_II_dimension>&,
-  unsigned int, bool, bool, bool, bool);
-
-  template
-  void DoFTools::make_single_patch (SparsityPattern&, const MGDoFHandler<deal_II_dimension>&,
-  unsigned int, bool);
-
-  template
-  void DoFTools::make_child_patches(SparsityPattern&, const MGDoFHandler<deal_II_dimension>&,
-  unsigned int, bool, bool);
-
-
 // TODO: can cleanup a bit more to fit into the scheme used above
 
 template
@@ -148,18 +131,6 @@ template void DoFTools::extract_level_dofs<DoFHandler<2, deal_II_dimension> >
  std::vector<bool>&);
 #endif
 
-template void DoFTools::extract_level_dofs<MGDoFHandler<deal_II_dimension> >
-(const unsigned int level,
- const MGDoFHandler<deal_II_dimension>&,
- const ComponentMask &,
- std::vector<bool>&);
-
-template void DoFTools::extract_level_dofs<MGDoFHandler<deal_II_dimension> >
-(const unsigned int level,
- const MGDoFHandler<deal_II_dimension>&,
- const BlockMask &,
- std::vector<bool>&);
-
 template
 void
 DoFTools::extract_boundary_dofs<DoFHandler<deal_II_dimension> >
@@ -465,24 +436,6 @@ DoFTools::count_dofs_with_subdomain_association<hp::DoFHandler<1,3> >
 
 
 
-template
-unsigned int
-DoFTools::count_dofs_with_subdomain_association<MGDoFHandler<deal_II_dimension> >
-(const MGDoFHandler<deal_II_dimension> &,
- const types::subdomain_id);
-template
-IndexSet
-DoFTools::dof_indices_with_subdomain_association<MGDoFHandler<deal_II_dimension> >
-(const MGDoFHandler<deal_II_dimension> &,
- const types::subdomain_id);
-template
-void
-DoFTools::count_dofs_with_subdomain_association<MGDoFHandler<deal_II_dimension> >
-(const MGDoFHandler<deal_II_dimension> &,
- const types::subdomain_id,
- std::vector<unsigned int> &);
-
-
 template
 void
 DoFTools::count_dofs_per_component<DoFHandler<deal_II_dimension> > (
@@ -517,14 +470,6 @@ DoFTools::extract_level_dofs<DoFHandler<deal_II_dimension, deal_II_dimension+1>
  const ComponentMask&,
  std::vector<bool>&);
 
-template
-void
-DoFTools::extract_level_dofs<MGDoFHandler<deal_II_dimension, deal_II_dimension+1> >
-(const unsigned int level,
- const MGDoFHandler<deal_II_dimension, deal_II_dimension+1>&,
- const BlockMask&,
- std::vector<bool>&);
-
 #endif
 
 
@@ -549,14 +494,6 @@ DoFTools::extract_level_dofs<DoFHandler<1, 3> >
  const ComponentMask &,
  std::vector<bool>&);
 
-template
-void
-DoFTools::extract_level_dofs<MGDoFHandler<1, 3> >
-(const unsigned int level,
- const MGDoFHandler<1,3>&,
- const BlockMask &,
- std::vector<bool>&);
-
 #endif
 
 
@@ -574,13 +511,6 @@ DoFTools::count_dofs_per_block<hp::DoFHandler<deal_II_dimension> > (
   std::vector<types::global_dof_index>&,
   const std::vector<unsigned int> &);
 
-template
-void
-DoFTools::count_dofs_per_block<MGDoFHandler<deal_II_dimension> > (
-  const MGDoFHandler<deal_II_dimension>&,
-  std::vector<types::global_dof_index>&,
-  const std::vector<unsigned int> &);
-
 template
 void
 DoFTools::map_dof_to_boundary_indices<DoFHandler<deal_II_dimension> >
@@ -687,13 +617,6 @@ DoFTools::count_dofs_per_block<hp::DoFHandler<deal_II_dimension,deal_II_dimensio
   std::vector<types::global_dof_index>&,
   const std::vector<unsigned int> &);
 
-template
-void
-DoFTools::count_dofs_per_block<MGDoFHandler<deal_II_dimension,deal_II_dimension+1> > (
-  const MGDoFHandler<deal_II_dimension,deal_II_dimension+1>&,
-  std::vector<types::global_dof_index>&,
-  const std::vector<unsigned int> &);
-
 #endif
 
 
@@ -720,13 +643,6 @@ DoFTools::count_dofs_per_block<hp::DoFHandler<1,3> > (
   std::vector<types::global_dof_index>&,
   const std::vector<unsigned int> &);
 
-template
-void
-DoFTools::count_dofs_per_block<MGDoFHandler<1,3> > (
-  const MGDoFHandler<1,3>&,
-  std::vector<types::global_dof_index>&,
-  const std::vector<unsigned int> &);
-
 #endif
 
 template
index 615c4d00d433a4573af3179a89a1d63a0921ea27..b4a7f31e8e3a09e49f7221ffbf4c6f1e0ad10b34 100644 (file)
@@ -34,7 +34,6 @@
 #include <deal.II/hp/fe_values.h>
 #include <deal.II/dofs/dof_tools.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <algorithm>
 #include <numeric>
@@ -632,24 +631,6 @@ namespace DoFTools
     }
 
 
-    void
-    make_hp_hanging_node_constraints (const dealii::MGDoFHandler<1> &,
-                                      ConstraintMatrix &)
-    {
-      // nothing to do for regular dof handlers in 1d
-    }
-
-
-
-    void
-    make_oldstyle_hanging_node_constraints (const dealii::MGDoFHandler<1> &,
-                                            ConstraintMatrix &,
-                                            dealii::internal::int2type<1>)
-    {
-      // nothing to do for regular dof handlers in 1d
-    }
-
-
     void
     make_hp_hanging_node_constraints (const dealii::hp::DoFHandler<1> &/*dof_handler*/,
                                       ConstraintMatrix        &/*constraints*/)
index 3017a6d0b0fd93f1c7a60274a63e81aeb3e90d42..a15f54b6b2121cd2f712ea85725b4891bc4960a5 100644 (file)
@@ -82,14 +82,6 @@ for (DH : DOFHANDLERS; deal_II_dimension : DIMENSIONS)
 
 for (deal_II_dimension : DIMENSIONS)
 {
-#if deal_II_dimension != 1
-  template
-  void
-  DoFTools::make_hanging_node_constraints (const MGDoFHandler<deal_II_dimension> &dof_handler,
-                                           ConstraintMatrix &constraints);
-
-#endif
-
 #if deal_II_dimension < 3
 
 template
index 5453d1b4f4178af8e86f33372d20a25b876063c5..d1d24254ceae2e7495aaadc48fca6b6a5be3bf3d 100644 (file)
@@ -41,7 +41,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/numerics/vector_tools.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <algorithm>
 #include <numeric>
index 2f8570c590c00dbadb0239f57941ea5bcf908d0c..e60cebf3fb02784289b835abf631989d13caca9b 100644 (file)
@@ -33,14 +33,6 @@ for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
      const bool,
      const unsigned int);
 
-    template void
-    DoFTools::make_sparsity_pattern<MGDoFHandler<deal_II_dimension,deal_II_dimension>, SP>
-    (const MGDoFHandler<deal_II_dimension,deal_II_dimension> &dof,
-     SP    &sparsity,
-     const ConstraintMatrix &,
-     const bool,
-     const unsigned int);
-
     template void
     DoFTools::make_sparsity_pattern<DoFHandler<deal_II_dimension,deal_II_dimension>, SP>
     (const DoFHandler<deal_II_dimension,deal_II_dimension>&,
@@ -59,15 +51,6 @@ for (SP : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS)
      const bool,
      const unsigned int);
 
-    template void
-    DoFTools::make_sparsity_pattern<MGDoFHandler<deal_II_dimension,deal_II_dimension>, SP>
-    (const MGDoFHandler<deal_II_dimension,deal_II_dimension>&,
-     const Table<2,Coupling>&,
-     SP &,
-     const ConstraintMatrix &,
-     const bool,
-     const unsigned int);
-
     template void
     DoFTools::make_sparsity_pattern<DoFHandler<deal_II_dimension,deal_II_dimension>, SP>
     (const DoFHandler<deal_II_dimension,deal_II_dimension> &dof_row,
index e9f7bf5ee067045f52b391e2261717e4a2ab76ce..75978de290d5f7898ec9949ddc57315bce21991c 100644 (file)
@@ -42,7 +42,6 @@
 #include <deal.II/fe/mapping_q.h>
 #include <deal.II/fe/fe_values.h>
 #include <deal.II/hp/mapping_collection.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/numerics/matrix_tools.h>
 
 #include <boost/random/uniform_real_distribution.hpp>
index 717981f487ab6d1fee6293d23ac4aaedccac0a4f..608e1ed5dd5b44668201a6def4bff566a7f4c759 100644 (file)
 
 
 
-for (deal_II_dimension : DIMENSIONS)
-  {
-  namespace GridTools \{
-  template
-    std::list<std::pair<MGDoFHandler<deal_II_dimension>::cell_iterator, MGDoFHandler<deal_II_dimension>::cell_iterator> >
-    get_finest_common_cells (const MGDoFHandler<deal_II_dimension> &mesh_1,
-                            const MGDoFHandler<deal_II_dimension> &mesh_2);
-  \}
-  }
-
 for (X : TRIANGULATION_AND_DOFHANDLERS; deal_II_dimension : DIMENSIONS ; deal_II_space_dimension : SPACE_DIMENSIONS)
 {
 
@@ -127,22 +117,6 @@ for (deal_II_space_dimension : SPACE_DIMENSIONS)
 }
 
 
-for (deal_II_dimension : DIMENSIONS ; deal_II_space_dimension : SPACE_DIMENSIONS)
-{
-
-#if deal_II_dimension <= deal_II_space_dimension
-  namespace GridTools \{
-  template
-    bool
-    have_same_coarse_mesh (const MGDoFHandler<deal_II_dimension,deal_II_space_dimension> &mesh_1,
-                          const MGDoFHandler<deal_II_dimension,deal_II_space_dimension> &mesh_2);
-
-  \}
-
-  #endif
-}
-
-
 for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension :  SPACE_DIMENSIONS)
   {
 #if deal_II_dimension <= deal_II_space_dimension
index 3dd681126f845fc9f326a4a90be1f3b7a1120e95..d4c260b7d60cc7da809b3bb3edfe52e55448a2ca 100644 (file)
@@ -23,7 +23,6 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/grid/intergrid_map.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 DEAL_II_NAMESPACE_OPEN
 
index 9fa85ba6674b746012cbc9d670a64bd4a374e38e..4ba331d4cddaccb972817ffdeb6314c09fb0534b 100644 (file)
@@ -1,6 +1,6 @@
 ## ---------------------------------------------------------------------
 ##
-## Copyright (C) 2012 - 2013 by the deal.II authors
+## Copyright (C) 2012 - 2013, 2015 by the deal.II authors
 ##
 ## This file is part of the deal.II library.
 ##
@@ -17,7 +17,6 @@ INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 
 SET(_src
   mg_base.cc
-  mg_dof_handler.cc
   mg_tools.cc
   mg_transfer_block.cc
   mg_transfer_component.cc
@@ -27,7 +26,6 @@ SET(_src
 
 SET(_inst
   mg_base.inst.in
-  mg_dof_handler.inst.in
   mg_tools.inst.in
   mg_transfer_block.inst.in
   mg_transfer_component.inst.in
diff --git a/source/multigrid/mg_dof_handler.cc b/source/multigrid/mg_dof_handler.cc
deleted file mode 100644 (file)
index f6bb135..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1998 - 2013 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE at
-// the top level of the deal.II distribution.
-//
-// ---------------------------------------------------------------------
-
-
-#include <deal.II/base/memory_consumption.h>
-#include <deal.II/lac/sparse_matrix.h>
-#include <deal.II/lac/constraint_matrix.h>
-#include <deal.II/dofs/dof_levels.h>
-#include <deal.II/dofs/dof_faces.h>
-#include <deal.II/dofs/dof_accessor.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
-#include <deal.II/grid/tria_levels.h>
-#include <deal.II/grid/tria_accessor.h>
-#include <deal.II/grid/tria_iterator.h>
-#include <deal.II/grid/tria.h>
-#include <deal.II/base/geometry_info.h>
-#include <deal.II/fe/fe.h>
-#include <deal.II/base/exceptions.h>
-
-#include <algorithm>
-
-DEAL_II_NAMESPACE_OPEN
-
-namespace parallel
-{
-  namespace distributed
-  {
-    template <int, int> class Triangulation;
-  }
-}
-
-
-
-/* ------------------------ MGDoFHandler ------------------------------------- */
-
-template <int dim, int spacedim>
-const unsigned int MGDoFHandler<dim,spacedim>::dimension;
-
-
-template <int dim, int spacedim>
-MGDoFHandler<dim,spacedim>::MGDoFHandler ()
-{}
-
-
-
-template <int dim, int spacedim>
-MGDoFHandler<dim,spacedim>::MGDoFHandler (const Triangulation<dim,spacedim> &tria)
-  :
-  DoFHandler<dim,spacedim> (tria)
-{}
-
-
-template <int dim, int spacedim>
-MGDoFHandler<dim,spacedim>::~MGDoFHandler ()
-{}
-
-template <int dim, int spacedim>
-void MGDoFHandler<dim,spacedim>::distribute_dofs (const FiniteElement<dim,spacedim> &fe)
-{
-  // first distribute global dofs
-  DoFHandler<dim,spacedim>::distribute_dofs (fe);
-  DoFHandler<dim,spacedim>::distribute_mg_dofs (fe);
-}
-
-
-
-template <int dim, int spacedim>
-typename MGDoFHandler<dim,spacedim>::cell_iterator
-MGDoFHandler<dim,spacedim>::begin (const unsigned int level) const
-{
-  return DoFHandler<dim,spacedim>::begin_mg(level);
-}
-
-
-template <int dim, int spacedim>
-typename MGDoFHandler<dim,spacedim>::cell_iterator
-MGDoFHandler<dim,spacedim>::end (const unsigned int level) const
-{
-  return DoFHandler<dim,spacedim>::end_mg(level);
-}
-
-
-template <int dim, int spacedim>
-typename MGDoFHandler<dim,spacedim>::cell_iterator
-MGDoFHandler<dim,spacedim>::end () const
-{
-  return DoFHandler<dim,spacedim>::end_mg();
-}
-
-
-// explicit instantiations
-#include "mg_dof_handler.inst"
-
-
-DEAL_II_NAMESPACE_CLOSE
diff --git a/source/multigrid/mg_dof_handler.inst.in b/source/multigrid/mg_dof_handler.inst.in
deleted file mode 100644 (file)
index 1c5b7de..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 1998 - 2013 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE at
-// the top level of the deal.II distribution.
-//
-// ---------------------------------------------------------------------
-
-
-
-for (deal_II_dimension : DIMENSIONS)
-  {
-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
-
-#if deal_II_dimension==3
-template class MGDoFHandler<1,3>;
-#endif
-  }
-
index 544386c0dc032124ca6fa7d0da75a518a2b2732c..3f9c4cf560aad11cf23f314dc5f4145472acfada 100644 (file)
@@ -25,7 +25,6 @@
 #include <deal.II/lac/block_vector.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/tria_iterator.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/multigrid/mg_base.h>
index 4dcf649f1b81ff2c4da8a6f9a2db51e4a901a9ad..398fd14824ace4dcdce2b9e807d4b5c1cc6fced7 100644 (file)
@@ -27,12 +27,6 @@ for (PATTERN : SPARSITY_PATTERNS; deal_II_dimension : DIMENSIONS;
          const DoFHandler<deal_II_dimension, deal_II_space_dimension> &,
          PATTERN &,
          const unsigned int);
-
-      template void
-       make_sparsity_pattern<MGDoFHandler<deal_II_dimension, deal_II_space_dimension>, PATTERN> (
-         const MGDoFHandler<deal_II_dimension, deal_II_space_dimension> &,
-         PATTERN &,
-         const unsigned int);
 #endif
 
 #if deal_II_dimension == deal_II_space_dimension
@@ -96,9 +90,6 @@ for (deal_II_dimension : DIMENSIONS)
       template void count_dofs_per_block (
        const DoFHandler<deal_II_dimension>&, std::vector<std::vector<types::global_dof_index> >&,
        std::vector<unsigned int>);
-      template void count_dofs_per_block (
-       const MGDoFHandler<deal_II_dimension>&, std::vector<std::vector<types::global_dof_index> >&,
-       std::vector<unsigned int>);
 
 #if deal_II_dimension > 1
       template void make_boundary_list(
index 2c54bcfbbb3a47db5ec926cc5a537a7b703d09a9..ffb51138cd06b398ef16e1ed78741b90e5c11328 100644 (file)
@@ -24,7 +24,6 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/multigrid/mg_transfer_block.h>
 #include <deal.II/multigrid/mg_transfer_block.templates.h>
index 4a4d436f923d259ed65c3b0c07f34ab460ef498c..b3b62f29426f27b9802bcb27e318710b4c7165bf 100644 (file)
@@ -26,7 +26,6 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_transfer_component.templates.h>
index 3f5f67c8d37d887bf2d30fd8e955423cffda54b4..5bb9ccc7cca118fb0130d0fa841e15e4a57f953a 100644 (file)
@@ -32,7 +32,6 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/multigrid/mg_transfer.h>
index a428a29b44b01b54c337031f7bbcd5174385ebad..d17b5ff5c638ccc0d28fba11e553eb9c7853b6c7 100644 (file)
@@ -15,7 +15,6 @@
 
 
 #include <deal.II/numerics/fe_field_function.templates.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
index c5375af1f08033cf1203369b667300cc2c3bb377..b74e8e3c2980ff90e418eaf2d0c9db1480edacf7 100644 (file)
 // ---------------------------------------------------------------------
 
 
-for (deal_II_dimension : DIMENSIONS)
-{
-    namespace VectorTools \{
-      template
-        void interpolate_boundary_values (
-          const MGDoFHandler<deal_II_dimension> &,
-          const types::boundary_id,
-          const Function<deal_II_dimension>   &,
-         ConstraintMatrix&,
-          const ComponentMask    &);
-
-      template
-        void interpolate_boundary_values (
-          const MGDoFHandler<deal_II_dimension> &,
-          const types::boundary_id,
-          const Function<deal_II_dimension>   &,
-          std::map<types::global_dof_index,double>       &,
-          const ComponentMask    &);
-    \}
-}
-
-
 for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS; DH : DOFHANDLER_TEMPLATES)
   {
 #if deal_II_dimension <= deal_II_space_dimension
index c9fade2363de031234772b1de1470bc9f91bbc59..dee3fd9a67b3c004d75429eff60fe49548d56ecb 100644 (file)
@@ -99,7 +99,7 @@ void check (bool local)
   check_dofs(dof);
   deallog.pop();
   deallog.push("MGDoF");
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   check_dofs(mgdof);
   deallog.pop();
 }
index 2bb71adbdfd94f9cc7ca56da5d6f85507b071119..2dfada080e7848a9a6726b6041f391ed07cf56b6 100644 (file)
@@ -85,7 +85,7 @@ void check (bool local)
   check_dofs(dof, (local ? 100 : 10));
   deallog.pop();
   deallog.push("MGDoF");
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   check_dofs(mgdof, (local ? 100 : 10));
   deallog.pop();
 }
index cd619e8c49c9696a874868c4813364ebd87230e6..ac5c4fec5aa98652d1019cf573082540c06abe9b 100644 (file)
@@ -27,14 +27,14 @@ Index: deal.II/source/multigrid/mg_dof_handler.cc
 +//TODO: This seems horrible memory fragmentation!
  
  template <int dim>
MGDoFHandler<dim>::MGVertexDoFs::MGVertexDoFs ()
+ DoFHandler<dim>::MGVertexDoFs::MGVertexDoFs ()
 @@ -124,6 +125,25 @@
  }
  
  
 +template <int dim>
 +unsigned int
-+MGDoFHandler<dim>::memory_consumption() const
++DoFHandler<dim>::memory_consumption() const
 +{
 +  unsigned int mem = DoFHandler<dim>::memory_consumption();
 +  for (unsigned int l=0;l<mg_levels.size();++l)
index 6375183a6abcf4611e84e46eaf9c9e09e484424c..4c6abed9b6bdfaea80637f822b17c2e6f5467544 100644 (file)
@@ -23,7 +23,6 @@
 #include <deal.II/base/geometry_info.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/quadrature_lib.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/tria_accessor.h>
@@ -87,9 +86,9 @@ void check ()
   // holds
   tria.refine_global (1);
 
-  MGDoFHandler<dim> dof_handler (tria);
+  DoFHandler<dim> dof_handler (tria);
 
-  for (typename MGDoFHandler<dim>::cell_iterator cell = dof_handler.begin();
+  for (typename DoFHandler<dim>::cell_iterator cell = dof_handler.begin();
        cell != dof_handler.end (); ++cell)
     for (unsigned int child = 0; child < cell->n_children (); ++child)
       Assert (cell->child (child)->parent () == cell,
@@ -104,7 +103,7 @@ void check ()
 
   tria.execute_coarsening_and_refinement ();
 
-  for (typename MGDoFHandler<dim>::cell_iterator cell = dof_handler.begin ();
+  for (typename DoFHandler<dim>::cell_iterator cell = dof_handler.begin ();
        cell != dof_handler.end(); ++cell)
     for (unsigned int child = 0; child < cell->n_children (); ++child)
       Assert (cell->child (child)->parent () == cell,
index 273ac93cd843bcc4a725154cf29b8ca29f3c2d97..c7dc654ac91fed57b62a181605e551d2bd842c22 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2013 by the deal.II authors
+// Copyright (C) 2005 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -45,7 +45,6 @@ std::ofstream logfile("output");
 #include <deal.II/numerics/matrix_tools.h>
 #include <deal.II/numerics/data_out.h>
 #include <deal.II/multigrid/multigrid.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -74,7 +73,7 @@ private:
 
   Triangulation<dim>   triangulation;
   FE_Q<dim>            fe;
-  MGDoFHandler<dim>      mg_dof_handler;
+  DoFHandler<dim>      mg_dof_handler;
 
   SparsityPattern      sparsity_pattern;
   SparseMatrix<double> system_matrix;
@@ -99,6 +98,7 @@ template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
   mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
 
   deallog << "   Number of degrees of freedom: "
           << mg_dof_handler.n_dofs()
@@ -204,7 +204,7 @@ void LaplaceProblem<dim>::assemble_multigrid ()
 
   std::vector<types::global_dof_index> local_dof_indices (dofs_per_cell);
 
-  typename MGDoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
+  typename DoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
                                             endc = mg_dof_handler.end();
   for (; cell!=endc; ++cell)
     {
index 25ba59ddd7515bbf4bd92ce37f247617558f0871..374c750fe7bbd03622330edffb11303907323f08 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2014 by the deal.II authors
+// Copyright (C) 2005 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -17,7 +17,7 @@
 
 // a un-hp-ified version of hp/step-16
 // this version uses the new unified DoFHAndler instead
-// of the MGDoFHandler in the test step-16.cc
+// of the DoFHandler in the test step-16.cc
 
 
 #include "../tests.h"
@@ -47,7 +47,6 @@ std::ofstream logfile("output");
 #include <deal.II/numerics/matrix_tools.h>
 #include <deal.II/numerics/data_out.h>
 #include <deal.II/multigrid/multigrid.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -207,7 +206,7 @@ void LaplaceProblem<dim>::assemble_multigrid ()
 
   std::vector<types::global_dof_index> local_dof_indices (dofs_per_cell);
 
-  typename MGDoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
+  typename DoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
                                             endc = mg_dof_handler.end();
   for (; cell!=endc; ++cell)
     {
index 639b38837eec9ef8a3384ee3e600827a0eb7da59..3a7245ba9d72547516b9c0d1d9f37604b3e52102 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -16,7 +16,7 @@
 
 #include "../tests.h"
 #include <deal.II/dofs/block_info.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
+#include <deal.II/dofs/dof_handler.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/grid_generator.h>
 #include <deal.II/fe/fe_q.h>
@@ -28,8 +28,9 @@ template <int dim>
 void test_grid(const Triangulation<dim> &tr,
                const FiniteElement<dim> &fe)
 {
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   BlockInfo bi;
   bi.initialize(mgdof);
   bi.initialize_local(mgdof);
index 55e1ecfc0ebcff7fc6351298f143be6ec5bf75bf..d5ab507270b02fd30191ffccba61865cb9feb279 100644 (file)
 
 
 // same as block_info, but here we use the new DoFHandler instead
-// of the MGDoFHandler
+// of the DoFHandler
 
 #include "../tests.h"
 #include <deal.II/dofs/block_info.h>
 #include <deal.II/dofs/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/grid_generator.h>
 #include <deal.II/fe/fe_q.h>
index 37456d2bca61d3d093343f8915a6c702933049d4..1010ed0158dcb4923785e8945f4a3d750e636411 100644 (file)
@@ -16,7 +16,6 @@
 #include "../tests.h"
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/grid_generator.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <dofs/dof_tools.h>
index 621823966a6e06e4e6f050d528afe9767828ca32..138bc516d081aac42eabe3cc06fa98897d612864 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -22,9 +22,9 @@ test_block_list(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
 {
   deallog << fe.get_name() << std::endl;
 
-  MGDoFHandler<dim> dof;
+  DoFHandler<dim> dof;
   dof.initialize(tr, fe);
-
+  dof.distribute_mg_dofs (fe);
 
   const unsigned int level = tr.n_levels()-1;
 
index 843111a7cb7eb6396d2a3d38aaaec9fc23b9ae16..1f12560ebeafbcc7bbea08393051f25bef986e84 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -22,8 +22,9 @@ test_block_list(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
 {
   deallog << fe.get_name() << std::endl;
 
-  MGDoFHandler<dim> dof;
+  DoFHandler<dim> dof;
   dof.initialize(tr, fe);
+  dof.distribute_mg_dofs (fe);
 
   const unsigned int level = tr.n_levels()-1;
 
index 7f225268f581c4b5f1c7debef9265b70e6a749cf..0d3536392d3128e7b7eb5f99a6a3dd6cea446e84 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -22,8 +22,9 @@ test_block_list(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
 {
   deallog << fe.get_name() << std::endl;
 
-  MGDoFHandler<dim> dof;
+  DoFHandler<dim> dof;
   dof.initialize(tr, fe);
+  dof.distribute_mg_dofs (fe);
 
   const unsigned int level = tr.n_levels()-1;
 
index 9eb7143048cc25b49da7648ccaabc25a34765f98..ce2f91347b519d7b7d2b0f210f3b92bdce0bff21 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2009 - 2013 by the deal.II authors
+// Copyright (C) 2009 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -22,8 +22,9 @@ test_block_list(const Triangulation<dim> &tr, const FiniteElement<dim> &fe)
 {
   deallog << fe.get_name() << std::endl;
 
-  MGDoFHandler<dim> dof;
+  DoFHandler<dim> dof;
   dof.initialize(tr, fe);
+  dof.distribute_mg_dofs (fe);
 
   const unsigned int level = tr.n_levels()-1;
 
index 706eff679c814dffd78aa44e374a9bfd3a545520..d0008326be9bfe6a777d88fa202af4f3fd0d56d4 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -29,7 +29,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
@@ -59,10 +58,10 @@ print_dofs (const DoFHandler<dim> &dof)
 
 template <int dim>
 void
-print_dofs (const MGDoFHandler<dim> &dof, unsigned int level)
+print_dofs (const DoFHandler<dim> &dof, unsigned int level)
 {
   std::vector<types::global_dof_index> v (dof.get_fe().dofs_per_cell);
-  for (typename MGDoFHandler<dim>::cell_iterator cell=dof.begin(level);
+  for (typename DoFHandler<dim>::cell_iterator cell=dof.begin(level);
        cell != dof.end(level); ++cell)
     {
       deallog << "Cell " << cell << " -- ";
@@ -76,7 +75,7 @@ print_dofs (const MGDoFHandler<dim> &dof, unsigned int level)
 
 template <int dim>
 void
-check_renumbering(MGDoFHandler<dim> &mgdof, bool discontinuous)
+check_renumbering(DoFHandler<dim> &mgdof, bool discontinuous)
 {
   const FiniteElement<dim> &element = mgdof.get_fe();
   DoFHandler<dim> &dof = mgdof;
@@ -162,15 +161,17 @@ check ()
   if (dim==1)
     tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
 
   FESystem<dim> e1 (FE_Q<dim>(2), 2, FE_DGQ<dim>(1), 1);
   mgdof.distribute_dofs(e1);
+  mgdof.distribute_mg_dofs(e1);
   check_renumbering(mgdof, false);
   mgdof.clear();
 
   FESystem<dim> e2 (FE_DGP<dim>(2), 2, FE_DGQ<dim>(1), 1);
   mgdof.distribute_dofs(e2);
+  mgdof.distribute_mg_dofs(e2);
   check_renumbering(mgdof, true);
   mgdof.clear();
 }
index 8d3571581fa182dba68d0309dd620112ad5e9a2d..5c81630ddeb5314d7527e7d4b47c2a39f1a047ac 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
@@ -73,7 +72,7 @@ print_dofs (const DoFHandler<dim> &dof)
 
 template <int dim>
 void
-print_dofs (const MGDoFHandler<dim> &dof, unsigned int level)
+print_dofs (const DoFHandler<dim> &dof, unsigned int level)
 {
   const FiniteElement<dim> &fe = dof.get_fe();
   std::vector<types::global_dof_index> v (fe.dofs_per_cell);
@@ -85,7 +84,7 @@ print_dofs (const MGDoFHandler<dim> &dof, unsigned int level)
       fevalues = std_cxx11::shared_ptr<FEValues<dim> >(new FEValues<dim>(fe, quad, update_q_points));
     }
 
-  for (typename MGDoFHandler<dim>::cell_iterator cell=dof.begin(level);
+  for (typename DoFHandler<dim>::cell_iterator cell=dof.begin(level);
        cell != dof.end(level); ++cell)
     {
       Point<dim> p = cell->center();
@@ -105,7 +104,7 @@ print_dofs (const MGDoFHandler<dim> &dof, unsigned int level)
 
 template <int dim>
 void
-check_renumbering(MGDoFHandler<dim> &mgdof)
+check_renumbering(DoFHandler<dim> &mgdof)
 {
   const FiniteElement<dim> &element = mgdof.get_fe();
   DoFHandler<dim> &dof = mgdof;
@@ -156,21 +155,24 @@ check ()
   tr.execute_coarsening_and_refinement ();
   tr.refine_global(3-dim);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
 
   FE_Q<dim> q2(2);
   FE_DGQ<dim> dgq1(1);
   FESystem<dim> system (q2, 2, dgq1, 1);
 
   mgdof.distribute_dofs(q2);
+  mgdof.distribute_mg_dofs(q2);
   check_renumbering(mgdof);
   mgdof.clear();
 
   mgdof.distribute_dofs(dgq1);
+  mgdof.distribute_mg_dofs(dgq1);
   check_renumbering(mgdof);
   mgdof.clear();
 
   mgdof.distribute_dofs(system);
+  mgdof.distribute_mg_dofs(system);
   check_renumbering(mgdof);
   mgdof.clear();
 }
index b1c0c7246dcc350ce2e5ae6addf1c92ea359881e..fd6db726c77e79dbb571a0ffb5223cda42250a94 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 3fa76b3dc6e246e900937b095ed52b0168f338b2..3039be2b08400afa2e660622c161218d19004d15 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 34cb093fbeaaf58ad7244816b9c69585ed4e2029..d57a0006a2ce63faa82f3b87cfe925de3be4c231 100644 (file)
@@ -28,7 +28,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index b6cc9f2ec206c8de933745079127476d23d2ed76..79433f1b05d8e29858b2547085e07985afc49bb8 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 820ecef6addedeeb0e4d97229e717a40f0603fac..bfd337bf9cbc90b228ea1e03468e18bda7bc0733 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 226df7cb9d940089de7e1d47e15a9e7013d06526..64e8f75c0f721016f543946edd3edc789abc4392 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -35,7 +35,6 @@
 #include <deal.II/fe/fe_nedelec.h>
 #include <deal.II/fe/fe_system.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 
@@ -54,8 +53,9 @@ check ()
 
   FESystem<dim> element (FE_Q<dim>(2), 1,
                          FE_Nedelec<dim>(0), 1);
-  MGDoFHandler<dim> dof(tr);
+  DoFHandler<dim> dof(tr);
   dof.distribute_dofs(element);
+  dof.distribute_mg_dofs(element);
 
   // try all possible block
   // masks, which we encode as bit
index 7b304327ca66987ebefe81203358c2b9f82ffe7a..30ced5239fdf59d8292a1d5565f0fc8192c2a0e5 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/grid/tria_accessor.h>
 
 #include <fstream>
index 11806def8256a88985884617fc8c0a63588d1b54..96d6de0f8f90e1290177810c0e6748eb68dd40d5 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
index c1b5c6097cac65ca58f66a57f49c2d1e911e1718..d1f04a0193ec965b3be9feeb3cc8d68048941d0e 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
index 0e8c7abd68f503d435cb4f50657404fd77078316..96d6de0f8f90e1290177810c0e6748eb68dd40d5 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
@@ -50,12 +49,12 @@ void test()
   tria[1].last_active()->set_refine_flag();
   tria[1].execute_coarsening_and_refinement ();
 
-  MGDoFHandler<dim> dh0 (tria[0]);
-  MGDoFHandler<dim> dh1 (tria[1]);
+  DoFHandler<dim> dh0 (tria[0]);
+  DoFHandler<dim> dh1 (tria[1]);
 
   typedef
-  std::list<std::pair<typename MGDoFHandler<dim>::cell_iterator,
-      typename MGDoFHandler<dim>::cell_iterator> >
+  std::list<std::pair<typename DoFHandler<dim>::cell_iterator,
+      typename DoFHandler<dim>::cell_iterator> >
       CellList;
 
   const CellList cell_list
index 72d5b06b599730244cdcfa6aac5c27a0693302ac..1cd43fa124c04082c75eb706b0e1f0f73cce8864 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 
index a7d867316df8ffeb397da2676b554bbde0b767fb..f9dbb1369bdc77365d42c1d564258f43df34fd58 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 
index 15956eb1f0c0d612f0fa5b6965ff974af74cff08..ab3f1551c67a88fa532b208203347d38b1ebd613 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 
index 892eaa8ee35de9a1a4a2445e63ce83147072429c..f9dbb1369bdc77365d42c1d564258f43df34fd58 100644 (file)
@@ -21,7 +21,6 @@
 #include <deal.II/grid/grid_tools.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/hp/dof_handler.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 
@@ -49,11 +48,11 @@ void test()
 
   tria[2].refine_global (3);
 
-  MGDoFHandler<dim> dh0 (tria[0]);
-  MGDoFHandler<dim> dh1 (tria[1]);
-  MGDoFHandler<dim> dh2 (tria[2]);
+  DoFHandler<dim> dh0 (tria[0]);
+  DoFHandler<dim> dh1 (tria[1]);
+  DoFHandler<dim> dh2 (tria[2]);
 
-  MGDoFHandler<dim> *dof_handler[3] = { &dh0, &dh1, &dh2 };
+  DoFHandler<dim> *dof_handler[3] = { &dh0, &dh1, &dh2 };
 
   for (unsigned int i=0; i<3; ++i)
     for (unsigned int j=0; j<3; ++j)
index 7fb81968ac837468b9a30656084c21a731beae53..d35cf8b080e852be9e72f1e587e09a3d579d17b9 100644 (file)
@@ -17,7 +17,7 @@ public:
 
   template<int dim, class MATRIX>
   void build_mgmatrix(MGLevelObject<MATRIX> &A,
-                      const MGDoFHandler<dim> &dof,
+                      const DoFHandler<dim> &dof,
                       const Quadrature<dim> &quadrature);
 };
 
index 995b23bedb3adf1e8f3ebca48d14a98164808001..de421c71aa409b3b6a2472798e385fe61b24ef05 100644 (file)
@@ -2,7 +2,7 @@
 template<int dim, class MATRIX>
 void
 Helmholtz::build_mgmatrix(MGLevelObject<MATRIX>& A,
-                         const MGDoFHandler<dim>& dof,
+                         const DoFHandler<dim>& dof,
                          const Quadrature<dim>& quadrature)
 {
   const unsigned int fe_dofs = dof.get_fe().n_dofs_per_cell();
@@ -19,7 +19,7 @@ Helmholtz::build_mgmatrix(MGLevelObject<MATRIX>& A,
 ////////////////////////////////////////////////////
     
     DoFHandler<dim>::cell_iterator dc = dof.DoFHandler<dim>::begin();
-    for (MGDoFHandler<dim>::cell_iterator c = dof.begin()
+    for (DoFHandler<dim>::cell_iterator c = dof.begin()
                                     ; c != dof.end() ; ++c, ++dc)
     {
       elmat.clear();
index d7b567448b5ada9aefe4deaa32d0c35aa66b8617..6a7b556fd0f31ae30003842c9052bc0565e20e41 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2005 - 2013 by the deal.II authors
+// Copyright (C) 2005 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -15,7 +15,7 @@
 
 
 
-/* Author: Ralf Hartmann, 2005; the MGDoFHandler class had troubles
+/* Author: Ralf Hartmann, 2005; the DoFHandler class had troubles
    when the triangulation had unused vertices before, make sure that
    this is now fixed. */
 
@@ -26,7 +26,7 @@
 #include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/grid_out.h>
 #include <deal.II/fe/fe_dgq.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
+#include <deal.II/dofs/dof_handler.h>
 
 #include <fstream>
 
@@ -45,7 +45,7 @@ int main ()
   GridGenerator::hyper_cube(tria);
 
   FE_DGQ<dim> fe(1);
-  MGDoFHandler<dim> dof_handler(tria);
+  DoFHandler<dim> dof_handler(tria);
 
   tria.begin_active()->set_refine_flag();
   tria.execute_coarsening_and_refinement();
index 15ea92699da5534a67b3dd647603cd7a57158b91..81f0443dc794e274e0cdb53102d38d2fde43e49b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 1998 - 2013 by the deal.II authors
+// Copyright (C) 1998 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -28,7 +28,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/multigrid/mg_transfer.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <vector>
 #include <fstream>
@@ -46,8 +45,9 @@ print_matrix(Triangulation<dim> &tr,
              const FiniteElement<dim> &finel,
              const char * /*name*/)
 {
-  MGDoFHandler<dim> dof(tr);
+  DoFHandler<dim> dof(tr);
   dof.distribute_dofs(finel);
+  dof.distribute_mg_dofs(finel);
 
   MGTransferPrebuilt<Vector<double> > transfer;
   transfer.build_matrices(dof);
index c3fdd277f03d9f623c84347a35201730197bf1ab..c0ab3152ddd0cfce1a5d8e8bc882cc80c2c2c35a 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index e47900553251a1d7df4ee2d2f0b2df06b505ea90..dc531ebc791dd2cb09c3f1f6d3c5c90ec1dd26b0 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 5d70911d0ca5c1f5dd460ed3b960a6b0e65e62c6..1d7bbcb07b602ea8c98b71a30eaaee7ba30a7b9a 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 46eaab918c8ab818dac3f31034b0c0a25d2558e6..7ecedd10a80e066063752eb541468f40bacb0313 100644 (file)
@@ -31,7 +31,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 4da4817f0d049ca7d35da26dfa232e086ef79c54..e3e3bee6956e43ed351718c89844c510d74f88f2 100644 (file)
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index 48ab59fadcff7961cc1ed7944f86b74f1bc8e4a4..2c551b471dfbdce48610c4527b83115b8c5f3dfb 100644 (file)
@@ -34,7 +34,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
index c11c07ee2061a246abb6cc5929994700540ecf66..1da457acfd73fb691bf27170ef86ebf43f01a120 100644 (file)
@@ -31,7 +31,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
index aae2f037e17bc26492ee61d4c23436198cb6bcee..38deafd83b0961ce0094363701a925d3d0a8dc07 100644 (file)
@@ -29,7 +29,6 @@
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
index a2d9d246a308f29085f2f80d870c02507c2d3833..ce02b28f5ae11af06de25acdb501e10206f005a0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2012 - 2013 by the deal.II authors
+// Copyright (C) 2012 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -26,7 +26,6 @@
 #include <deal.II/lac/block_indices.h>
 #include <deal.II/grid/tria.h>
 #include <deal.II/grid/grid_generator.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/dofs/dof_renumbering.h>
 #include <deal.II/meshworker/local_results.h>
@@ -67,16 +66,18 @@ void test(FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(1);
 
-  MGDoFHandler<dim> dof(tr);
+  DoFHandler<dim> dof(tr);
   dof.distribute_dofs(fe);
+  dof.distribute_mg_dofs(fe);
   dof.initialize_local_block_info();
-  DoFRenumbering::component_wise(dof);
+  for (unsigned int level=0; level<tr.n_levels(); ++level)
+    DoFRenumbering::component_wise(dof, level);
 
   deallog << "DoFs " << dof.n_dofs() << std::endl;
 
-  typename MGDoFHandler<dim>::cell_iterator cell = dof.begin_active();
-  typename MGDoFHandler<dim>::face_iterator face = cell->face(1);
-  typename MGDoFHandler<dim>::cell_iterator neighbor = cell->neighbor(1);
+  typename DoFHandler<dim>::level_cell_iterator cell = dof.begin_active();
+  typename DoFHandler<dim>::face_iterator face = cell->face(1);
+  typename DoFHandler<dim>::level_cell_iterator neighbor = cell->neighbor(1);
 
   MGLevelObject<SparsityPattern> sparsity(0, tr.n_levels()-1);
   MGLevelObject<SparseMatrix<double> > matrix(0, tr.n_levels()-1);
index c84a6ebf86e17846feafaa44dbb3492ad09683a1..a6110da855f93f5d0170bf28edff44d7a47b866e 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2012 - 2013 by the deal.II authors
+// Copyright (C) 2012 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -158,8 +158,9 @@ void test(FiniteElement<dim> &fe)
   
   LaplaceMatrix<dim> matrix_integrator;
   
-  MGDoFHandler<dim> dof(tr);
+  DoFHandler<dim> dof(tr);
   dof.distribute_dofs(fe);
+  dof.distribute_mg_dofs(fe);
   mg::SparseMatrixCollection<double> mg;
   mg.resize(0,tr.n_levels()-1);
   mg.reinit(dof);
index 96e654f4f606a227a181d457d93f2bcbb83cf46b..4c4199e6dc4fcd22a31ebed3943d6d267b7191a0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -85,7 +85,7 @@ Local<dim>::face(MeshWorker::DoFInfo<dim>  &info1, MeshWorker::DoFInfo<dim> &inf
 
 template <int dim>
 void
-test_mesh(MGDoFHandler<dim> &mgdofs)
+test_mesh(DoFHandler<dim> &mgdofs)
 {
   const DoFHandler<dim> &dofs = mgdofs;
 
@@ -139,7 +139,7 @@ test_mesh(MGDoFHandler<dim> &mgdofs)
 
   MeshWorker::DoFInfo<dim> mg_dof_info(mgdofs);
   MeshWorker::loop<dim, dim, MeshWorker::DoFInfo<dim>, EmptyInfoBox>
-  (mgdofs.begin(), mgdofs.end(),
+  (mgdofs.begin_mg(), mgdofs.end_mg(),
    mg_dof_info, info_box,
    std_cxx11::bind (&Local<dim>::cell, local, std_cxx11::_1, std_cxx11::_2),
    std_cxx11::bind (&Local<dim>::bdry, local, std_cxx11::_1, std_cxx11::_2),
@@ -163,23 +163,26 @@ void
 test(const FiniteElement<dim> &fe)
 {
   Triangulation<dim> tr;
-  MGDoFHandler<dim> dofs(tr);
+  DoFHandler<dim> dofs(tr);
   GridGenerator::hyper_cube(tr);
   tr.refine_global(1);
   deallog.push("1");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
   tr.begin(1)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
   deallog.push("2");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
   tr.begin(2)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
   deallog.push("3");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
 }
index 2f6be91ba35c682b40402ddc829b7618954dfd4c..dc5bccfaac5bdb8af300a7464aa7aa4a64f9b41e 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -84,7 +84,7 @@ Local<dim>::face(MeshWorker::DoFInfo<dim>  &info1, MeshWorker::DoFInfo<dim> &inf
 
 template <int dim>
 void
-test_mesh(MGDoFHandler<dim> &mgdofs)
+test_mesh(DoFHandler<dim> &mgdofs)
 {
   const DoFHandler<dim> &dofs = mgdofs;
 
@@ -115,7 +115,7 @@ test_mesh(MGDoFHandler<dim> &mgdofs)
   assembler.initialize(n_functionals);
   MeshWorker::DoFInfo<dim> mg_dof_info(mgdofs);
   MeshWorker::loop<dim, dim, MeshWorker::DoFInfo<dim>, EmptyInfoBox>
-  (mgdofs.begin(), mgdofs.end(),
+  (mgdofs.begin_mg(), mgdofs.end_mg(),
    mg_dof_info, info_box,
    std_cxx11::bind (&Local<dim>::cell, local, std_cxx11::_1, std_cxx11::_2),
    std_cxx11::bind (&Local<dim>::bdry, local, std_cxx11::_1, std_cxx11::_2),
@@ -134,23 +134,26 @@ void
 test(const FiniteElement<dim> &fe)
 {
   Triangulation<dim> tr;
-  MGDoFHandler<dim> dofs(tr);
+  DoFHandler<dim> dofs(tr);
   GridGenerator::hyper_cube(tr);
   tr.refine_global(1);
   deallog.push("1");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
   tr.begin(1)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
   deallog.push("2");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
   tr.begin(2)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
   deallog.push("3");
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   test_mesh(dofs);
   deallog.pop();
 }
index bc3504acc14d9d6400bdbb39a48ce7ca80919faf..bc2ff3b64ce4ab330f4f45e03abec3025288830a 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -112,7 +112,7 @@ Local<dim>::face(MeshWorker::DoFInfo<dim> & , MeshWorker::DoFInfo<dim> &,
 
 template <int dim>
 void
-test_simple(MGDoFHandler<dim> &mgdofs)
+test_simple(DoFHandler<dim> &mgdofs)
 {
   SparsityPattern pattern;
   SparseMatrix<double> matrix;
@@ -187,8 +187,9 @@ test(const FiniteElement<dim> &fe)
        cell != tr.end(); ++cell, ++cn)
     cell->set_user_index(cn);
 
-  MGDoFHandler<dim> dofs(tr);
+  DoFHandler<dim> dofs(tr);
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   deallog << "DoFHandler " << dofs.n_dofs() << " levels";
   for (unsigned int l=0; l<tr.n_levels(); ++l)
     deallog << ' ' << l << ':' << dofs.n_dofs(l);
index 07e22377cb7da2ebc50511263de429961eca8403..a10a8bf07228128c48cb5d165d4fb3b012746dac 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -164,7 +164,7 @@ assemble(const DoFHandler<dim> &dof_handler, SparseMatrix<double> &matrix)
 
 template <int dim>
 void
-assemble(const MGDoFHandler<dim> &dof_handler,
+assemble(const DoFHandler<dim> &dof_handler,
          MGLevelObject<SparseMatrix<double> > matrix,
          MGLevelObject<SparseMatrix<double> > dg_up,
          MGLevelObject<SparseMatrix<double> > dg_down)
@@ -199,7 +199,7 @@ assemble(const MGDoFHandler<dim> &dof_handler,
 
 template <int dim>
 void
-test_simple(MGDoFHandler<dim> &mgdofs)
+test_simple(DoFHandler<dim> &mgdofs)
 {
   SparsityPattern pattern;
   SparseMatrix<double> matrix;
@@ -278,8 +278,9 @@ test(const FiniteElement<dim> &fe)
        cell != tr.end(); ++cell, ++cn)
     cell->set_user_index(cn);
 
-  MGDoFHandler<dim> dofs(tr);
+  DoFHandler<dim> dofs(tr);
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   deallog << "DoFHandler " << dofs.n_dofs() << " levels";
   for (unsigned int l=0; l<tr.n_levels(); ++l)
     deallog << ' ' << l << ':' << dofs.n_dofs(l);
index 4c5b6dcfa13e0fb3d7670b11484b48702c0c66ca..d2719e5aae6ad989083e3985f9c9147a95a09127 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -177,7 +177,7 @@ assemble(const DoFHandler<dim> &dof_handler, SparseMatrix<double> &matrix)
 
 template <int dim>
 void
-assemble(const MGDoFHandler<dim> &dof_handler,
+assemble(const DoFHandler<dim> &dof_handler,
          MGLevelObject<SparseMatrix<double> > matrix,
          MGLevelObject<SparseMatrix<double> > dg_up,
          MGLevelObject<SparseMatrix<double> > dg_down)
@@ -212,7 +212,7 @@ assemble(const MGDoFHandler<dim> &dof_handler,
 
 template <int dim>
 void
-test_simple(MGDoFHandler<dim> &mgdofs)
+test_simple(DoFHandler<dim> &mgdofs)
 {
   SparsityPattern pattern;
   SparseMatrix<double> matrix;
@@ -292,8 +292,9 @@ test(const FiniteElement<dim> &fe)
        cell != tr.end(); ++cell, ++cn)
     cell->set_user_index(cn);
 
-  MGDoFHandler<dim> dofs(tr);
+  DoFHandler<dim> dofs(tr);
   dofs.distribute_dofs(fe);
+  dofs.distribute_mg_dofs(fe);
   deallog << "DoFHandler " << dofs.n_dofs() << " levels";
   for (unsigned int l=0; l<tr.n_levels(); ++l)
     deallog << ' ' << l << ':' << dofs.n_dofs(l);
index 09f001dedbfade7eb5f690909c7055b6fa068823..f469041364a7a22c1ba8c2e3584cf37f4bd960c4 100644 (file)
@@ -34,7 +34,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
index 3c739c5f01178eb8376867c245dc6cf24541e525..ed417410069f90c4eebb2a0d0fa41f6ed912473c 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
index 8a85487ab55470b559f7442b78e969f972a64067..35dc720d6960cabc8b383ce6d0306cddb281ede0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2008 - 2013 by the deal.II authors
+// Copyright (C) 2008 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -55,7 +55,6 @@
 #include <deal.II/lac/trilinos_sparse_matrix.h>
 #include <deal.II/lac/trilinos_precondition.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_constrained_dofs.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
index dc91a90fb2590157849a347f14273c35aaa50d73..92704986aee950ec66d2e913c2415e5ad6da4fd0 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2008 - 2013 by the deal.II authors
+// Copyright (C) 2008 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -55,7 +55,6 @@
 #include <deal.II/lac/trilinos_sparse_matrix.h>
 #include <deal.II/lac/trilinos_precondition.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_constrained_dofs.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
index f1374e30dec98555ef28808d5c4ef2d681f5dfa3..ad2b3e5603e3452e598233e1319be6a667ac706e 100644 (file)
@@ -35,7 +35,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
index 50f2e5f4531875a162d13b0c86ee1ffdc84bc160..4449e97dcd3488d8d9223e40b9c54379b4a1c0f5 100644 (file)
@@ -35,7 +35,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
index 85704a631f9840fe519c607047b56ee1fed300ef..d1335b186298e8429ba31cfd4b9f59c74585f6e2 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2006 - 2013 by the deal.II authors
+// Copyright (C) 2006 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
 #include <deal.II/dofs/dof_accessor.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 
 #include <fstream>
@@ -66,8 +65,9 @@ void check_fe(FiniteElement<dim> &fe)
   typename FunctionMap<dim>::type fmap;
   fmap.insert(std::make_pair(0, &zero));
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   std::vector<std::set<types::global_dof_index> > boundary_indices(tr.n_levels());
   MGTools::make_boundary_list(mgdof, fmap, boundary_indices);
index a213230b32d5d4abf28b07b4c79593586229deb6..2ba3ebb15a7a2ae1fdd6b665ad8cb0829c58f0c3 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2006 - 2013 by the deal.II authors
+// Copyright (C) 2006 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -28,7 +28,6 @@
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 
 #include <fstream>
@@ -61,8 +60,9 @@ void check_fe(FiniteElement<dim> &fe)
   tr.execute_coarsening_and_refinement ();
   tr.refine_global(1);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   std::vector<std::vector<types::global_dof_index> > count(tr.n_levels());
   MGTools::count_dofs_per_component(mgdof, count, false);
index 229b7a3aa1076f0cd9f1ab2babb2952355fe2237..de463a89674507c94542a3e736b93bb857598563 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2006 - 2013 by the deal.II authors
+// Copyright (C) 2006 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
 #include <deal.II/dofs/dof_accessor.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 
 #include <fstream>
@@ -43,10 +42,10 @@ using namespace std;
 
 
 template <int dim>
-void dofs(const MGDoFHandler<dim> &dof)
+void dofs(const DoFHandler<dim> &dof)
 {
-  typename MGDoFHandler<dim>::cell_iterator cell;
-  const typename MGDoFHandler<dim>::cell_iterator end = dof.end();
+  typename DoFHandler<dim>::cell_iterator cell;
+  const typename DoFHandler<dim>::cell_iterator end = dof.end();
 
   std::vector<types::global_dof_index> indices;
 
@@ -78,8 +77,9 @@ void check_fe(FiniteElement<dim> &fe)
   typename FunctionMap<dim>::type fmap;
   fmap.insert(std::make_pair(0, &zero));
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   dofs(mgdof);
 }
 
index 62c83319e0b39dfc9bfadbc03f2f1bd0732a4912..fdb0091a7691b973dfe7a5374cfc8588f684de01 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2006 - 2013 by the deal.II authors
+// Copyright (C) 2006 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
 #include <deal.II/dofs/dof_accessor.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_tools.h>
 
 #include <fstream>
@@ -43,10 +42,10 @@ using namespace std;
 
 
 template <int dim>
-void dofs(const MGDoFHandler<dim> &dof)
+void dofs(const DoFHandler<dim> &dof)
 {
-  typename MGDoFHandler<dim>::cell_iterator cell;
-  const typename MGDoFHandler<dim>::cell_iterator end = dof.end();
+  typename DoFHandler<dim>::cell_iterator cell;
+  const typename DoFHandler<dim>::cell_iterator end = dof.end();
 
   std::vector<types::global_dof_index> indices;
 
@@ -57,7 +56,7 @@ void dofs(const MGDoFHandler<dim> &dof)
       deallog << "Level " << cell->level() << std::endl;
       for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
         {
-          typename MGDoFHandler<dim>::face_iterator face = cell->face(f);
+          typename DoFHandler<dim>::face_iterator face = cell->face(f);
           face->get_mg_dof_indices(cell->level(), indices);
 
           for (unsigned int i=0; i<GeometryInfo<dim>::vertices_per_face; ++i)
@@ -83,8 +82,9 @@ void check_fe(FiniteElement<dim> &fe)
   typename FunctionMap<dim>::type fmap;
   fmap.insert(std::make_pair(0, &zero));
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   dofs(mgdof);
 }
 
index bb21bc007d43fcb9df54034ab85b0a57c043f3e8..19f4e0350786561fa3c0fd1d1c286c1376348ca7 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2006 - 2014 by the deal.II authors
+// Copyright (C) 2006 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -22,8 +22,8 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_handler.h>
 #include <deal.II/fe/fe_q.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <fstream>
 #include <iomanip>
@@ -57,6 +57,7 @@ void check()
             << std::endl;
 
 
+    dof.distribute_dofs(fe);
     dof.distribute_mg_dofs(fe);
     deallog << "check " << dim << " level  distribute "
             << dof.has_active_dofs() << ' '
index d40d305e9cc28b2d33b538dcbf18c63901b47eb5..cecbf5d1292e524ccf0eb837f8ed1c1a6a7731f6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2010 - 2013 by the deal.II authors
+// Copyright (C) 2010 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -49,7 +49,6 @@
 #include <deal.II/numerics/data_out.h>
 
 #include <deal.II/multigrid/multigrid.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -65,7 +64,7 @@ using namespace dealii;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -77,13 +76,13 @@ reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
 }
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  Vector<double> &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell = dof.begin_active();
        cell != dof.end(); ++cell)
     {
@@ -96,13 +95,13 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  MGLevelObject<Vector<double> > &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<unsigned int> dof_indices(dofs_per_cell);
-  typename MGDoFHandler<dim>::cell_iterator
+  typename DoFHandler<dim>::cell_iterator
   cell = dof.begin(0);
   cell->get_mg_dof_indices(dof_indices);
   for (unsigned int i=0; i<dofs_per_cell; ++i)
@@ -111,7 +110,7 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void print_diff (const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
+void print_diff (const DoFHandler<dim> &dof_1, const DoFHandler<dim> &dof_2,
                  const Vector<double> &u, const Vector<double> &v)
 {
   Vector<double> diff;
@@ -119,7 +118,7 @@ void print_diff (const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
   const unsigned int dofs_per_cell = dof_1.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices_1(dofs_per_cell);
   std::vector<types::global_dof_index> dof_indices_2(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell_1 = dof_1.begin_active(), cell_2 = dof_2.begin_active();
        cell_1 != dof_1.end(); ++cell_1, ++cell_2)
     {
@@ -133,7 +132,7 @@ void print_diff (const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
 }
 
 template <int dim>
-void print(const MGDoFHandler<dim> &dof, std::vector<std::vector<bool> > &interface_dofs)
+void print(const DoFHandler<dim> &dof, std::vector<std::vector<bool> > &interface_dofs)
 {
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<unsigned int> dof_indices(dofs_per_cell);
@@ -141,7 +140,7 @@ void print(const MGDoFHandler<dim> &dof, std::vector<std::vector<bool> > &interf
     {
       deallog << std::endl;
       deallog << "Level " << l << std::endl;
-      for (typename MGDoFHandler<dim>::cell_iterator
+      for (typename DoFHandler<dim>::cell_iterator
            cell = dof.begin(l);
            cell != dof.end(l); ++cell)
         {
@@ -169,8 +168,8 @@ private:
 
   Triangulation<dim>   triangulation;
   FESystem<dim>            fe;
-  MGDoFHandler<dim>    mg_dof_handler;
-  MGDoFHandler<dim>    mg_dof_handler_renumbered;
+  DoFHandler<dim>    mg_dof_handler;
+  DoFHandler<dim>    mg_dof_handler_renumbered;
 
   MGLevelObject<SparsityPattern> mg_sparsity_renumbered;
   MGLevelObject<SparseMatrix<double> > mg_matrices_renumbered;
@@ -200,8 +199,10 @@ LaplaceProblem<dim>::LaplaceProblem (const unsigned int deg) :
 template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
-  mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
   mg_dof_handler_renumbered.distribute_dofs (fe);
+  mg_dof_handler_renumbered.distribute_mg_dofs (fe);
 
   std::vector<unsigned int> block_component (2*dim,0);
   for (unsigned int c=dim; c<2*dim; ++c)
@@ -300,7 +301,7 @@ void LaplaceProblem<dim>::test_renumber ()
   const unsigned int dofs_per_cell =
     mg_dof_handler_renumbered.get_fe().dofs_per_cell;
   std::vector<unsigned int> dof_indices(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::cell_iterator
+  for (typename DoFHandler<dim>::cell_iterator
        cell = mg_dof_handler_renumbered.begin();
        cell != mg_dof_handler_renumbered.end(); ++cell)
     {
index d35e88a4aa1cd0c196770de813d59e9557a26da3..21c484caf888d16d5b879aafd3cfea55ca0d7261 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 by the deal.II authors
+// Copyright (C) 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -51,7 +51,6 @@
 #include <deal.II/meshworker/output.h>
 
 #include <deal.II/multigrid/multigrid.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -68,7 +67,7 @@ using namespace dealii;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -80,12 +79,12 @@ reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
 }
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  Vector<double> &u)
 {
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell = dof.begin_active();
        cell != dof.end(); ++cell)
     {
@@ -100,13 +99,13 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  MGLevelObject<Vector<double> > &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  typename MGDoFHandler<dim>::cell_iterator
+  typename DoFHandler<dim>::cell_iterator
   cell = dof.begin(0);
   cell->get_mg_dof_indices(dof_indices);
   for (unsigned int i=0; i<dofs_per_cell; ++i)
@@ -115,14 +114,14 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void diff (Vector<double> &diff, const MGDoFHandler<dim> &dof,
+void diff (Vector<double> &diff, const DoFHandler<dim> &dof,
            const Vector<double> &v, const unsigned int level)
 {
   diff.reinit (v);
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<unsigned int> mg_dof_indices(dofs_per_cell);
   const unsigned int n_comp = dof.get_fe().n_components();
-  for (typename MGDoFHandler<dim>::cell_iterator
+  for (typename DoFHandler<dim>::cell_iterator
        cell= dof.begin(level);
        cell != dof.end(level); ++cell)
     {
@@ -184,14 +183,14 @@ public:
 private:
   void setup_system ();
   void test_boundary ();
-  void output_gpl(const MGDoFHandler<dim> &dof,
+  void output_gpl(const DoFHandler<dim> &dof,
                   MGLevelObject<Vector<double> > &v);
   void refine_local ();
 
   Triangulation<dim>   triangulation;
   const MappingQ1<dim> mapping;
   FESystem<dim>        fe;
-  MGDoFHandler<dim>    mg_dof_handler_renumbered;
+  DoFHandler<dim>    mg_dof_handler_renumbered;
 
   const unsigned int degree;
   std::vector<std::set<types::global_dof_index> >
@@ -213,6 +212,7 @@ template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
   mg_dof_handler_renumbered.distribute_dofs (fe);
+  mg_dof_handler_renumbered.distribute_mg_dofs (fe);
 
   const unsigned int nlevels = triangulation.n_levels();
 
@@ -236,7 +236,7 @@ void LaplaceProblem<dim>::setup_system ()
 
 template <int dim>
 void
-LaplaceProblem<dim>::output_gpl(const MGDoFHandler<dim> &dof,
+LaplaceProblem<dim>::output_gpl(const DoFHandler<dim> &dof,
                                 MGLevelObject<Vector<double> > &v)
 {
   MeshWorker::IntegrationInfoBox<dim> info_box;
@@ -262,7 +262,7 @@ LaplaceProblem<dim>::output_gpl(const MGDoFHandler<dim> &dof,
     {
       OutputCreator<dim> matrix_integrator;
       MeshWorker::loop<dim, dim, MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim> > (
-        dof.begin(l), dof.end(l),
+        dof.begin_mg(l), dof.end_mg(l),
         dof_info, info_box,
         std_cxx11::bind(&OutputCreator<dim>::cell, &matrix_integrator, std_cxx11::_1, std_cxx11::_2),
         0,
index e67f2c8238891bd88c1e7eefda7b250bd84be7ad..2b6f8d1e2b8c3b3b4dcb3b12a8f370b72602187b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 by the deal.II authors
+// Copyright (C) 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -51,7 +51,6 @@
 #include <deal.II/meshworker/output.h>
 
 #include <deal.II/multigrid/multigrid.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -68,7 +67,7 @@ using namespace dealii;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -80,12 +79,12 @@ reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
 }
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  Vector<double> &u)
 {
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell = dof.begin_active();
        cell != dof.end(); ++cell)
     {
@@ -101,13 +100,13 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  MGLevelObject<Vector<double> > &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  typename MGDoFHandler<dim>::cell_iterator
+  typename DoFHandler<dim>::cell_iterator
   cell = dof.begin(0);
   cell->get_mg_dof_indices(dof_indices);
   for (unsigned int i=0; i<dofs_per_cell; ++i)
@@ -116,14 +115,14 @@ void initialize (const MGDoFHandler<dim> &dof,
 
 
 template <int dim>
-void diff (Vector<double> &diff, const MGDoFHandler<dim> &dof,
+void diff (Vector<double> &diff, const DoFHandler<dim> &dof,
            const Vector<double> &v, const unsigned int level)
 {
   diff.reinit (v);
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> mg_dof_indices(dofs_per_cell);
   const unsigned int n_comp = dof.get_fe().n_components();
-  for (typename MGDoFHandler<dim>::cell_iterator
+  for (typename DoFHandler<dim>::cell_iterator
        cell= dof.begin(level);
        cell != dof.end(level); ++cell)
     {
@@ -142,14 +141,14 @@ void diff (Vector<double> &diff, const MGDoFHandler<dim> &dof,
 }
 
 template <int dim>
-void diff (Vector<double> &diff, const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
+void diff (Vector<double> &diff, const DoFHandler<dim> &dof_1, const DoFHandler<dim> &dof_2,
            const Vector<double> &u, const Vector<double> &v, const unsigned int level)
 {
   diff.reinit (u);
   const unsigned int dofs_per_cell = dof_1.get_fe().dofs_per_cell;
   std::vector<unsigned int> dof_indices_1(dofs_per_cell);
   std::vector<unsigned int> dof_indices_2(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::cell_iterator
+  for (typename DoFHandler<dim>::cell_iterator
        cell_1 = dof_1.begin(level), cell_2 = dof_2.begin(level);
        cell_1 != dof_1.end(level); ++cell_1, ++cell_2)
     {
@@ -161,7 +160,7 @@ void diff (Vector<double> &diff, const MGDoFHandler<dim> &dof_1, const MGDoFHand
 }
 
 template <int dim>
-void print(const MGDoFHandler<dim> &dof, std::vector<std::vector<bool> > &interface_dofs)
+void print(const DoFHandler<dim> &dof, std::vector<std::vector<bool> > &interface_dofs)
 {
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
@@ -169,7 +168,7 @@ void print(const MGDoFHandler<dim> &dof, std::vector<std::vector<bool> > &interf
     {
       deallog << std::endl;
       deallog << "Level " << l << std::endl;
-      for (typename MGDoFHandler<dim>::cell_iterator
+      for (typename DoFHandler<dim>::cell_iterator
            cell = dof.begin(l);
            cell != dof.end(l); ++cell)
         {
@@ -223,15 +222,15 @@ public:
 private:
   void setup_system ();
   void test ();
-  void output_gpl(const MGDoFHandler<dim> &dof,
+  void output_gpl(const DoFHandler<dim> &dof,
                   MGLevelObject<Vector<double> > &v);
   void refine_local ();
 
   Triangulation<dim>   triangulation;
   const MappingQ1<dim>      mapping;
   FESystem<dim>            fe;
-  MGDoFHandler<dim>    mg_dof_handler;
-  MGDoFHandler<dim>    mg_dof_handler_renumbered;
+  DoFHandler<dim>    mg_dof_handler;
+  DoFHandler<dim>    mg_dof_handler_renumbered;
 
   const unsigned int degree;
   std::vector<std::set<unsigned int> >
@@ -253,8 +252,10 @@ LaplaceProblem<dim>::LaplaceProblem (const unsigned int deg) :
 template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
-  mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
   mg_dof_handler_renumbered.distribute_dofs (fe);
+  mg_dof_handler_renumbered.distribute_mg_dofs (fe);
 
   const unsigned int nlevels = triangulation.n_levels();
 
@@ -284,7 +285,7 @@ void LaplaceProblem<dim>::setup_system ()
 
 template <int dim>
 void
-LaplaceProblem<dim>::output_gpl(const MGDoFHandler<dim> &dof,
+LaplaceProblem<dim>::output_gpl(const DoFHandler<dim> &dof,
                                 MGLevelObject<Vector<double> > &v)
 {
   MeshWorker::IntegrationInfoBox<dim> info_box;
@@ -309,7 +310,7 @@ LaplaceProblem<dim>::output_gpl(const MGDoFHandler<dim> &dof,
     {
       OutputCreator<dim> matrix_integrator;
       MeshWorker::loop<dim, dim, MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim> > (
-        dof.begin(l), dof.end(l),
+        dof.begin_mg(l), dof.end_mg(l),
         dof_info, info_box,
         std_cxx11::bind(&OutputCreator<dim>::cell, &matrix_integrator, std_cxx11::_1, std_cxx11::_2),
         0,
index 75a0798c88c4a389db4ebae3b1ecbd3faa9bb5ee..a34c86fccd97146e063356dd13160ebaa58ba01b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -15,7 +15,7 @@
 
 
 // check the new DoFRenumbering::component_wise function that handles
-// MGDoFHandlers and renumbers all MG and non-MG dofs
+// DoFHandlers and renumbers all MG and non-MG dofs
 
 #include "../tests.h"
 #include <deal.II/base/logstream.h>
@@ -28,7 +28,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
@@ -50,13 +49,17 @@ void check()
   tr.begin_active()->set_refine_flag();
   tr.execute_coarsening_and_refinement ();
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   DoFRenumbering::component_wise (mgdof);
+  for (unsigned int l=0; l<tr.n_levels(); ++l)
+    DoFRenumbering::component_wise (mgdof, l);
+    
 
-  typename MGDoFHandler<dim>::cell_iterator
-  cell = mgdof.begin(),
-  endc = mgdof.end();
+  typename DoFHandler<dim>::level_cell_iterator
+  cell = mgdof.begin_mg(),
+  endc = mgdof.end_mg();
   std::vector<types::global_dof_index> local_dof_indices (fe.dofs_per_cell);
   std::vector<types::global_dof_index> mg_dof_indices (fe.dofs_per_cell);
   for (; cell!=endc; ++cell)
index 330b3e36a8f797a13b90175c132c157a0cb83dda..8879423b30d0ad2a5ac560c361aaeb89deb010ec 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -15,7 +15,7 @@
 
 
 // Until version 1.50 of mg_dof_handler.cc, the
-// MGDoFHandler::renumbering function could not handle coarsened grids
+// DoFHandler::renumbering function could not handle coarsened grids
 // (unused cells). Check that this works now.
 
 #include "../tests.h"
@@ -29,7 +29,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
@@ -53,8 +52,9 @@ void check()
     cell->set_coarsen_flag();
   tria.execute_coarsening_and_refinement ();
 
-  MGDoFHandler<dim> mg_dof_handler(tria);
+  DoFHandler<dim> mg_dof_handler(tria);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
   Point<dim> a;
   a(0)=1;
   for (unsigned int level=0; level<tria.n_levels(); ++level)
index 1e2cfe54bfd35f38b3cd889bbe03920e88bbb630..b0033ee21ee55cc973a645d019dbf0d064cf1e20 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -15,9 +15,9 @@
 
 
 // Until version 1.50 of mg_dof_handler.cc, the
-// MGDoFHandler::distribute_dofs function in 1d and 3d could not
+// DoFHandler::distribute_dofs function in 1d and 3d could not
 // handle coarsened grids (unused vertices). Also, the
-// MGDoFHandler::renumbering function could not handle coarsened grids
+// DoFHandler::renumbering function could not handle coarsened grids
 // (unused vertices, unused faces). Check that all this works now.
 
 #include "../tests.h"
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 
 #include <fstream>
@@ -55,8 +54,9 @@ void check()
     cell->set_coarsen_flag();
   tria.execute_coarsening_and_refinement ();
 
-  MGDoFHandler<dim> mg_dof_handler(tria);
+  DoFHandler<dim> mg_dof_handler(tria);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
   for (unsigned int level=0; level<tria.n_levels(); ++level)
     {
       const types::global_dof_index n_dofs=mg_dof_handler.n_dofs(level);
index f1eb544fd61a775f7f0a78ff5102710986195f69..9396ea02649f1a0911a6d146e7ea7fea3fb77b68 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2003 - 2013 by the deal.II authors
+// Copyright (C) 2003 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -50,7 +50,6 @@
 #include <deal.II/numerics/data_out.h>
 #include <deal.II/numerics/error_estimator.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -136,7 +135,7 @@ private:
 
   Triangulation<dim>   triangulation;
   FE_Q<dim>            fe;
-  MGDoFHandler<dim>    mg_dof_handler;
+  DoFHandler<dim>    mg_dof_handler;
 
   SparsityPattern      sparsity_pattern;
   SparseMatrix<double> system_matrix;
@@ -219,7 +218,8 @@ LaplaceProblem<dim>::LaplaceProblem (const unsigned int degree)
 template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
-  mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
   deallog << "Number of degrees of freedom: "
           << mg_dof_handler.n_dofs();
 
@@ -304,7 +304,7 @@ void LaplaceProblem<dim>::assemble_system ()
   const Coefficient<dim> coefficient;
   std::vector<double>    coefficient_values (n_q_points);
 
-  typename MGDoFHandler<dim>::active_cell_iterator
+  typename DoFHandler<dim>::active_cell_iterator
   cell = mg_dof_handler.begin_active(),
   endc = mg_dof_handler.end();
   for (; cell!=endc; ++cell)
@@ -360,7 +360,7 @@ void LaplaceProblem<dim>::assemble_multigrid (const bool& use_mw)
     assembler.initialize_interfaces(mg_interface_in, mg_interface_out);
 
     MeshWorker::integration_loop<dim, dim> (
-        mg_dof_handler.begin(), mg_dof_handler.end(),
+        mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
         dof_info, info_box, matrix_integrator, assembler);
 
     const unsigned int nlevels = triangulation.n_levels();
@@ -407,8 +407,8 @@ void LaplaceProblem<dim>::assemble_multigrid (const bool& use_mw)
       boundary_interface_constraints[level].close ();
     }
 
-    typename MGDoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
-             endc = mg_dof_handler.end();
+    typename DoFHandler<dim>::level_cell_iterator cell = mg_dof_handler.begin_mg(),
+             endc = mg_dof_handler.end_mg();
 
     for (; cell!=endc; ++cell)
     {
index 362060b79b736b70bbcae0e4b01b88bede81b9a1..5b6738905cd7f3f7bf4b9323656c4781de9c059d 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2003 - 2013 by the deal.II authors
+// Copyright (C) 2003 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -51,7 +51,6 @@
 #include <deal.II/numerics/data_out.h>
 #include <deal.II/numerics/error_estimator.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -137,7 +136,7 @@ private:
 
   Triangulation<dim>   triangulation;
   FE_Q<dim>            fe;
-  MGDoFHandler<dim>    mg_dof_handler;
+  DoFHandler<dim>    mg_dof_handler;
 
   SparsityPattern      sparsity_pattern;
   SparseMatrix<double> system_matrix;
@@ -220,7 +219,8 @@ LaplaceProblem<dim>::LaplaceProblem (const unsigned int degree)
 template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
-  mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
   deallog << "Number of degrees of freedom: "
           << mg_dof_handler.n_dofs();
 
@@ -305,7 +305,7 @@ void LaplaceProblem<dim>::assemble_system ()
   const Coefficient<dim> coefficient;
   std::vector<double>    coefficient_values (n_q_points);
 
-  typename MGDoFHandler<dim>::active_cell_iterator
+  typename DoFHandler<dim>::active_cell_iterator
   cell = mg_dof_handler.begin_active(),
   endc = mg_dof_handler.end();
   for (; cell!=endc; ++cell)
@@ -361,7 +361,7 @@ void LaplaceProblem<dim>::assemble_multigrid (const bool& use_mw)
     assembler.initialize_interfaces(mg_interface_in, mg_interface_out);
 
     MeshWorker::integration_loop<dim, dim> (
-        mg_dof_handler.begin(), mg_dof_handler.end(),
+        mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
         dof_info, info_box, matrix_integrator, assembler);
 
     const unsigned int nlevels = triangulation.n_levels();
@@ -408,8 +408,8 @@ void LaplaceProblem<dim>::assemble_multigrid (const bool& use_mw)
       boundary_interface_constraints[level].close ();
     }
 
-    typename MGDoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
-             endc = mg_dof_handler.end();
+    typename DoFHandler<dim>::level_cell_iterator cell = mg_dof_handler.begin_mg(),
+             endc = mg_dof_handler.end_mg();
 
     for (; cell!=endc; ++cell)
     {
index 7443afc242eba22e7761484a1cb2fb228a531438..58f62c727c51fb84be74694714e1a837848be49e 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2003 - 2013 by the deal.II authors
+// Copyright (C) 2003 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -47,7 +47,6 @@
 #include <deal.II/numerics/data_out.h>
 #include <deal.II/numerics/error_estimator.h>
 
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/multigrid.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -77,7 +76,7 @@ private:
 
   Triangulation<dim>   triangulation;
   FE_Q<dim>            fe;
-  MGDoFHandler<dim>    mg_dof_handler;
+  DoFHandler<dim>    mg_dof_handler;
 
   SparsityPattern      sparsity_pattern;
   SparseMatrix<double> system_matrix;
@@ -157,7 +156,8 @@ LaplaceProblem<dim>::LaplaceProblem (const unsigned int degree)
 template <int dim>
 void LaplaceProblem<dim>::setup_system ()
 {
-  mg_dof_handler.distribute_dofs (fe);
+  mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs (fe);
   deallog << "Number of degrees of freedom: "
           << mg_dof_handler.n_dofs();
 
@@ -239,7 +239,7 @@ void LaplaceProblem<dim>::assemble_system ()
   const Coefficient<dim> coefficient;
   std::vector<double>    coefficient_values (n_q_points);
 
-  typename MGDoFHandler<dim>::active_cell_iterator
+  typename DoFHandler<dim>::active_cell_iterator
   cell = mg_dof_handler.begin_active(),
   endc = mg_dof_handler.end();
   for (; cell!=endc; ++cell)
@@ -311,7 +311,7 @@ void LaplaceProblem<dim>::assemble_multigrid ()
       boundary_interface_constraints[level].close ();
     }
 
-  typename MGDoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
+  typename DoFHandler<dim>::cell_iterator cell = mg_dof_handler.begin(),
                                             endc = mg_dof_handler.end();
 
   for (; cell!=endc; ++cell)
@@ -416,7 +416,7 @@ void LaplaceProblem<dim>::assemble_multigrid ()
 // problem under consideration. In that case,
 // we can use the MGTransferPrebuilt class
 // that, given the constraints on the global
-// level and an MGDoFHandler object computes
+// level and an DoFHandler object computes
 // the matrices corresponding to these
 // transfer operators.
 //
@@ -492,7 +492,7 @@ void LaplaceProblem<dim>::solve ()
 // exception of two minor differences: The
 // KellyErrorEstimator::estimate function
 // wants an argument of type DoFHandler, not
-// MGDoFHandler, and so we have to cast from
+// DoFHandler, and so we have to cast from
 // derived to base class; and we generate
 // output in VTK format, to use the more
 // modern visualization programs available
index f967ba8571debf094f40a3efc8a36ffcf60a44a0..afc3ea726e9a60944d4b00c0aa25b8491373b3bb 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 by the deal.II authors
+// Copyright (C) 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
@@ -359,7 +358,7 @@ namespace Step39
     Triangulation<dim>        triangulation;
     const MappingQ1<dim>      mapping;
     const FiniteElement<dim> &fe;
-    MGDoFHandler<dim>         mg_dof_handler;
+    DoFHandler<dim>         mg_dof_handler;
     DoFHandler<dim>          &dof_handler;
 
     SparsityPattern      sparsity;
@@ -396,6 +395,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::setup_system()
   {
     dof_handler.distribute_dofs(fe);
+    dof_handler.distribute_mg_dofs(fe);
     types::global_dof_index n_dofs = dof_handler.n_dofs();
     solution.reinit(n_dofs);
     right_hand_side.reinit(n_dofs);
@@ -479,7 +479,7 @@ namespace Step39
 
     MatrixIntegrator<dim> integrator;
     MeshWorker::integration_loop<dim, dim> (
-      mg_dof_handler.begin(), mg_dof_handler.end(),
+      mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
       dof_info, info_box,
       integrator, assembler);
 
index 299cd19903dc2518f173999c33e1a4d2b2cf7772..0cb57b99006c2c696f1252f7d5f894b43c6ccabc 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 by the deal.II authors
+// Copyright (C) 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
@@ -360,7 +359,7 @@ namespace Step39
     Triangulation<dim>        triangulation;
     const MappingQ1<dim>      mapping;
     const FiniteElement<dim> &fe;
-    MGDoFHandler<dim>         mg_dof_handler;
+    DoFHandler<dim>         mg_dof_handler;
     DoFHandler<dim>          &dof_handler;
       MGConstrainedDoFs mg_constraints;
       
@@ -398,6 +397,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::setup_system()
   {
     dof_handler.distribute_dofs(fe);
+    dof_handler.distribute_mg_dofs(fe);
     unsigned int n_dofs = dof_handler.n_dofs();
     solution.reinit(n_dofs);
     right_hand_side.reinit(n_dofs);
@@ -485,7 +485,7 @@ namespace Step39
 
     MatrixIntegrator<dim> integrator;
     MeshWorker::integration_loop<dim, dim> (
-      mg_dof_handler.begin(), mg_dof_handler.end(),
+      mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
       dof_info, info_box,
       integrator, assembler);
 
index 028bce9d8582ed244160881443a963ef365005de..0d089733f5884c8f9ad1aa2cd185133cb3bb3f39 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2013 by the deal.II authors
+// Copyright (C) 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -37,7 +37,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_system.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
@@ -365,7 +364,7 @@ namespace Step39
     Triangulation<dim>        triangulation;
     const MappingQ1<dim>      mapping;
     const FiniteElement<dim> &fe;
-    MGDoFHandler<dim>         mg_dof_handler;
+    DoFHandler<dim>         mg_dof_handler;
     DoFHandler<dim>          &dof_handler;
 
     SparsityPattern      sparsity;
@@ -402,6 +401,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::setup_system()
   {
     dof_handler.distribute_dofs(fe);
+    dof_handler.distribute_mg_dofs(fe);
     types::global_dof_index n_dofs = dof_handler.n_dofs();
     solution.reinit(n_dofs);
     right_hand_side.reinit(n_dofs);
@@ -485,7 +485,7 @@ namespace Step39
 
     MatrixIntegrator<dim> integrator;
     MeshWorker::integration_loop<dim, dim> (
-      mg_dof_handler.begin(), mg_dof_handler.end(),
+      mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
       dof_info, info_box,
       integrator, assembler);
 
index 0b6d4a62650066b38ec6e6d3894c98d2b1ff9f0f..463606982d5609c04bf30a2f18c412fd33eb593c 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2010 - 2013 by the deal.II authors
+// Copyright (C) 2010 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -32,7 +32,6 @@
 #include <deal.II/fe/fe_dgp.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 
 #include <deal.II/meshworker/dof_info.h>
 #include <deal.II/meshworker/integration_info.h>
@@ -360,7 +359,7 @@ namespace Step39
     Triangulation<dim>        triangulation;
     const MappingQ1<dim>      mapping;
     const FiniteElement<dim> &fe;
-    MGDoFHandler<dim>         mg_dof_handler;
+    DoFHandler<dim>         mg_dof_handler;
     DoFHandler<dim>          &dof_handler;
 
     SparsityPattern      sparsity;
@@ -396,6 +395,7 @@ namespace Step39
   InteriorPenaltyProblem<dim>::setup_system()
   {
     dof_handler.distribute_dofs(fe);
+    dof_handler.distribute_mg_dofs(fe);
     unsigned int n_dofs = dof_handler.n_dofs();
     solution.reinit(n_dofs);
     right_hand_side.reinit(n_dofs);
@@ -475,7 +475,7 @@ namespace Step39
 
     MatrixIntegrator<dim> integrator;
     MeshWorker::integration_loop<dim, dim> (
-      mg_dof_handler.begin(), mg_dof_handler.end(),
+      mg_dof_handler.begin_mg(), mg_dof_handler.end_mg(),
       dof_info, info_box,
       integrator, assembler);
   }
index 470b73ea93d28d47936c4f5fe24b6b40631b2f50..1534e8a8cf4e81f06c8388e5f8fbdca08acb4191 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -43,7 +42,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -65,8 +64,9 @@ void check_simple(const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   MGTransferPrebuilt<Vector<double> > transfer;
   transfer.build_matrices(mgdof);
index 7b877ec1a7e379c0c5d047a547eae940be2b739a..7b102f13dd211b16c86d3efac557cbe5aa42235f 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -34,7 +34,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -47,7 +46,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -95,8 +94,9 @@ void check_simple(const FiniteElement<dim> &fe)
   refine_mesh(tr);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   MGTransferPrebuilt<Vector<double> > transfer;
   transfer.build_matrices(mgdof);
index f81e164eae50e19b01a57a469acf13369f84b1b4..f2ccccd2dfc5d1b237da8961d8ef30b878bf6d9a 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -35,7 +35,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -49,7 +48,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -96,13 +95,13 @@ void refine_mesh (Triangulation<dim> &triangulation)
 }
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  Vector<double> &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell = dof.begin_active();
        cell != dof.end(); ++cell)
     {
@@ -113,13 +112,13 @@ void initialize (const MGDoFHandler<dim> &dof,
 }
 
 template <int dim>
-void initialize (const MGDoFHandler<dim> &dof,
+void initialize (const DoFHandler<dim> &dof,
                  MGLevelObject<Vector<double> > &u)
 {
   unsigned int counter=0;
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices(dofs_per_cell);
-  typename MGDoFHandler<dim>::cell_iterator
+  typename DoFHandler<dim>::cell_iterator
   cell = dof.begin(0);
   cell->get_mg_dof_indices(dof_indices);
   for (unsigned int i=0; i<dofs_per_cell; ++i)
@@ -127,7 +126,7 @@ void initialize (const MGDoFHandler<dim> &dof,
 }
 
 template <int dim>
-void print (const MGDoFHandler<dim> &dof,
+void print (const DoFHandler<dim> &dof,
             MGLevelObject<Vector<double> > &u)
 {
   const unsigned int dofs_per_cell = dof.get_fe().dofs_per_cell;
@@ -136,7 +135,7 @@ void print (const MGDoFHandler<dim> &dof,
     {
       deallog << std::endl;
       deallog << "Level " << l << std::endl;
-      for (typename MGDoFHandler<dim>::cell_iterator
+      for (typename DoFHandler<dim>::cell_iterator
            cell = dof.begin(l);
            cell != dof.end(l); ++cell)
         {
@@ -148,7 +147,7 @@ void print (const MGDoFHandler<dim> &dof,
 }
 
 template <int dim>
-void print_diff (const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
+void print_diff (const DoFHandler<dim> &dof_1, const DoFHandler<dim> &dof_2,
                  const Vector<double> &u, const Vector<double> &v)
 {
   Vector<double> diff;
@@ -156,7 +155,7 @@ void print_diff (const MGDoFHandler<dim> &dof_1, const MGDoFHandler<dim> &dof_2,
   const unsigned int dofs_per_cell = dof_1.get_fe().dofs_per_cell;
   std::vector<types::global_dof_index> dof_indices_1(dofs_per_cell);
   std::vector<types::global_dof_index> dof_indices_2(dofs_per_cell);
-  for (typename MGDoFHandler<dim>::active_cell_iterator
+  for (typename DoFHandler<dim>::active_cell_iterator
        cell_1 = dof_1.begin_active(), cell_2 = dof_2.begin_active();
        cell_1 != dof_1.end(); ++cell_1, ++cell_2)
     {
@@ -185,11 +184,13 @@ void check_simple(const FiniteElement<dim> &fe)
   refine_mesh(tr);
 
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
-  MGDoFHandler<dim> mgdof_renumbered(tr);
+  DoFHandler<dim> mgdof_renumbered(tr);
   mgdof_renumbered.distribute_dofs(fe);
+  mgdof_renumbered.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_component (4,0);
   block_component[2] = 1;
index cafd85b759ae036f6a7d076fff5a033fc996ad43..198d9d49183f2f3d0ab04b38d1cc98bb2b78bca4 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -29,7 +29,6 @@
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer_block.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -44,7 +43,7 @@ using namespace std;
 template <int dim, typename number, int spacedim>
 void
 reinit_vector_by_blocks (
-  const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+  const dealii::DoFHandler<dim,spacedim> &mg_dof,
   MGLevelObject<BlockVector<number> > &v,
   const std::vector<bool> &sel,
   std::vector<std::vector<types::global_dof_index> > &ndofs)
@@ -96,9 +95,10 @@ void check_block(const FiniteElement<dim> &fe,
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   DoFHandler<dim> &dof=mgdof;
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   DoFRenumbering::component_wise(mgdof);
   vector<types::global_dof_index> ndofs(fe.n_blocks());
   DoFTools::count_dofs_per_block(mgdof, ndofs);
index 6ff513eb605dc8a9e7c44c2247a3c557fded931e..166d76f33a77723808292385e7af946286db3ac9 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -29,7 +29,6 @@
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer_block.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -44,7 +43,7 @@ using namespace std;
 template <int dim, typename number, int spacedim>
 void
 reinit_vector_by_blocks (
-  const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+  const dealii::DoFHandler<dim,spacedim> &mg_dof,
   MGLevelObject<dealii::Vector<number> > &v,
   const unsigned int selected_block,
   std::vector<std::vector<types::global_dof_index> > &ndofs)
@@ -82,9 +81,10 @@ void check_select(const FiniteElement<dim> &fe, unsigned int selected)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   DoFHandler<dim> &dof=mgdof;
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   DoFRenumbering::component_wise(mgdof);
   vector<types::global_dof_index> ndofs(fe.n_blocks());
   DoFTools::count_dofs_per_block(mgdof, ndofs);
index 91ee1d43630c61c45af23eda5b84b6ad5f6e14be..0eed3fe3d7e03c394dbfa97f29520d6272737533 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_block.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -47,7 +46,7 @@ using namespace std;
 template <int dim, typename number, int spacedim>
 void
 reinit_vector_by_blocks (
-  const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+  const dealii::DoFHandler<dim,spacedim> &mg_dof,
   MGLevelObject<dealii::Vector<number> > &v,
   const unsigned int selected_block,
   std::vector<std::vector<types::global_dof_index> > &ndofs)
@@ -78,7 +77,7 @@ reinit_vector_by_blocks (
 template <int dim, typename number, int spacedim>
 void
 reinit_vector_by_blocks (
-  const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+  const dealii::DoFHandler<dim,spacedim> &mg_dof,
   MGLevelObject<BlockVector<number> > &v,
   const std::vector<bool> &sel,
   std::vector<std::vector<types::global_dof_index> > &ndofs)
@@ -128,9 +127,10 @@ void check_block(const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   DoFHandler<dim> &dof=mgdof;
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   // Make sure all orderings are the
   // same
index 923bbe45e251d5d73d75e496cf3ee7505e9e9695..a7fcb0af5fd41893e1eca84c57939d6aa7b81be4 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -54,8 +53,9 @@ void check_simple(const FiniteElement<dim> &fe)
   tr.begin(2)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   MGTransferPrebuilt<Vector<double> > transfer;
   transfer.build_matrices(mgdof);
index 5985a2aba1e4f9e500435e6a87598d2d15f8462f..ffe3c142e8769666ad7c32c0c72850cdd2fede71 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/multigrid/mg_constrained_dofs.h>
@@ -55,8 +54,9 @@ void check_simple(const FiniteElement<dim> &fe)
   tr.begin(2)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   ConstraintMatrix     hanging_node_constraints;
   DoFTools::make_hanging_node_constraints (mgdof, hanging_node_constraints);
index 0040a0381dca099ea24fe69f4520ab06ff3d7a2a..0011c4de425fc6658d7604b42a079b2284dcc759 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 #include <deal.II/multigrid/mg_constrained_dofs.h>
@@ -56,8 +55,9 @@ void check_simple(const FiniteElement<dim> &fe)
   tr.begin(2)->set_refine_flag();
   tr.execute_coarsening_and_refinement();
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   ConstraintMatrix     hanging_node_constraints;
   DoFTools::make_hanging_node_constraints (mgdof, hanging_node_constraints);
index 7a9c2b2b910cb6af4f293c0a4cce741ce3395ac3..e0fcd455a8a0fc42b92d88f7668f1071833567c6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -28,7 +28,6 @@
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -55,9 +54,10 @@ void check_select(const FiniteElement<dim> &fe,
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   DoFHandler<dim> &dof=mgdof;
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
   DoFRenumbering::component_wise(static_cast<DoFHandler<dim>&>(mgdof),
                                  target_component);
   vector<types::global_dof_index> ndofs(*std::max_element (target_component.begin(),
index f216b0cf1611573af41a9da81288d1a3b7410e52..883c84390e6ebf10cce9ce6576289a4ce97f0bc9 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -40,7 +39,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -95,8 +94,9 @@ void check (const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   DoFRenumbering::component_wise (mg_dof_handler);
   for (unsigned int level=0; level<tr.n_levels(); ++level)
index 1f14d11ae43c03f2c77e487436435b45b1951dcb..f1f14152a79b1b71b13839262f824bcd6df8bd44 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -41,7 +40,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -96,8 +95,9 @@ void check (const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   DoFRenumbering::component_wise (mg_dof_handler);
   for (unsigned int level=0; level<tr.n_levels(); ++level)
index 3c1cdc98c8e5eb1d516d35b24a64ccc5ae9b9aba..9f5d8a15a07ab42c54e901c84f902a86f443b433 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -41,7 +40,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -96,8 +95,9 @@ void check (const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   DoFRenumbering::component_wise (mg_dof_handler);
   for (unsigned int level=0; level<tr.n_levels(); ++level)
index 7d635ec9184f7beb1e1bbbc1e5cd15edc1cd3e64..76453bab0eaff2c63312dc58e132f1b42106c784 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -41,7 +40,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -96,8 +95,9 @@ void check (const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_component(3,0);
   block_component[2]=1;
index a2798ae552f93a179826daf8c503ada181cffa65..928c4f5b1fb0a7fbd4753adce4432920e5e8157b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -27,7 +27,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -49,8 +48,9 @@ void check (const FiniteElement<dim> &fe, const unsigned int selected_block)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_component(5,0);
   block_component[2]=1;
index 4a7e7c1ca457a08dc5701853ee62a401ac5607a3..157f223c1815ab4669977bea50b15ad04df3fed6 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -43,7 +42,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -131,8 +130,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index 8b80d97261f76643758b0ee0757653f2d34a4749..aa676c627b43674541b3416cd80d7ed4cdd82b3d 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -43,7 +42,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -131,8 +130,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index 6fe5b984a515486799e662ac7ac0546eb7e91d46..8c4a46f18dce25e92ae194dba150d8b661e4c110 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -44,7 +43,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -132,8 +131,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index bbb08e6ffcc1b5acf18c67e6a8bd41b4843e7b2b..a709567fe9e808a872b223b623920a5876c96ef1 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -29,7 +29,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -43,7 +42,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -131,8 +130,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index ec2578f85314e88d793754f4adb9e1a82154c2a0..dc8e42fa431a2b08b6b6937c744b0dd6950f5ae1 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -44,7 +43,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -132,8 +131,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index b943b92b1eb40b5f5d895b10ab8319ec624a789a..026b3ee658dd61136cc194e269529167a2f51c52 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -29,7 +29,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -43,7 +42,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -131,8 +130,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   deallog << "Global  dofs: " << mg_dof_handler.n_dofs() << std::endl;
   for (unsigned int l=0; l<tr.n_levels(); ++l)
index 21054181397f2df545da72c89cb6aa92ce80e1b3..11670a7f29359819ebf5e0ba2adc3f1ee2ef887c 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -31,7 +31,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -45,7 +44,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -133,8 +132,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_selected(3,0);
   block_selected[2] = 1;
index 2fe84064b58c96b3723dd35ce7b850865df362b5..ad4e7e4a898ff898dec1e002346be09e3453635b 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -44,7 +43,7 @@ using namespace std;
 
 template <int dim, typename number, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<dealii::Vector<number> > &v)
 {
   for (unsigned int level=v.min_level();
@@ -132,8 +131,9 @@ void check (const FiniteElement<dim> &fe)
                                              subdivisions, bottom_left, top_right, true);
   refine_mesh(tr);
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_selected(3,0);
   block_selected[2] = 1;
index 891bdce57a25ea952868550190d3788c96a3e93f..1ccf4964eea5d493b022019187ff9692b3ad06d4 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2013 by the deal.II authors
+// Copyright (C) 2000 - 2013, 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -30,7 +30,6 @@
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_transfer_component.h>
 #include <deal.II/multigrid/mg_tools.h>
@@ -92,8 +91,9 @@ void check (const FiniteElement<dim> &fe, const unsigned int selected_block)
 //   grid_out.write_eps (tr, grid_output);
 
 
-  MGDoFHandler<dim> mg_dof_handler(tr);
+  DoFHandler<dim> mg_dof_handler(tr);
   mg_dof_handler.distribute_dofs(fe);
+  mg_dof_handler.distribute_mg_dofs(fe);
 
   std::vector<unsigned int> block_component(5,0);
   block_component[2]=1;
index 6a53a7dd65204d41c092817c9d7457c760cebfa5..393a0e7278839c2eb8fde24c11bf39062263676f 100644 (file)
@@ -27,7 +27,6 @@
 #include <deal.II/fe/fe_raviart_thomas.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_system.h>
-#include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_transfer.h>
 #include <deal.II/multigrid/mg_tools.h>
 
@@ -40,7 +39,7 @@ using namespace std;
 
 template <int dim, int spacedim>
 void
-reinit_vector (const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
+reinit_vector (const dealii::DoFHandler<dim,spacedim> &mg_dof,
                MGLevelObject<TrilinosWrappers::MPI::Vector> &v)
 {
   const dealii::parallel::distributed::Triangulation<dim,spacedim> *tria =
@@ -69,8 +68,9 @@ void check_simple(const FiniteElement<dim> &fe)
   GridGenerator::hyper_cube(tr);
   tr.refine_global(2);
 
-  MGDoFHandler<dim> mgdof(tr);
+  DoFHandler<dim> mgdof(tr);
   mgdof.distribute_dofs(fe);
+  mgdof.distribute_mg_dofs(fe);
 
   MGTransferPrebuilt<TrilinosWrappers::MPI::Vector> transfer;
   transfer.build_matrices(mgdof);

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.