]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Prefer basic DoFHandler over deprecated hp::DoFHandler. 11171/head
authorMarc Fehling <mafehling.git@gmail.com>
Fri, 13 Nov 2020 02:40:20 +0000 (19:40 -0700)
committerMarc Fehling <mafehling.git@gmail.com>
Mon, 16 Nov 2020 03:20:54 +0000 (20:20 -0700)
include/deal.II/distributed/error_predictor.h
include/deal.II/dofs/dof_accessor.h
include/deal.II/dofs/dof_accessor.templates.h
include/deal.II/grid/tria.h
source/distributed/error_predictor.cc
source/dofs/dof_accessor_get.cc
source/dofs/dof_accessor_set.cc
source/hp/refinement.cc
tests/hp/get_interpolated_dof_values_01.debug.output
tests/hp/set_dof_values_by_interpolation_01.debug.output

index 6858dcab6a02e491d8f846481087e96ca302ad6c..ad2ad9d855dd65dcdae88ab4eb039b4243083e7e 100644 (file)
@@ -30,6 +30,9 @@ DEAL_II_NAMESPACE_OPEN
 
 // forward declarations
 #ifndef DOXYGEN
+template <int dim, int spacedim>
+class DoFHandler;
+
 template <typename Number>
 class Vector;
 
@@ -41,12 +44,6 @@ namespace parallel
     class Triangulation;
   }
 } // namespace parallel
-
-namespace hp
-{
-  template <int dim, int spacedim>
-  class DoFHandler;
-}
 #endif
 
 
@@ -129,12 +126,12 @@ namespace parallel
       /**
        * Constructor.
        *
-       * @param[in] dof The hp::DoFHandler on which all operations will
+       * @param[in] dof The DoFHandler on which all operations will
        *   happen. At the time when this constructor is called, the
        *   DoFHandler still points to the triangulation before the
        *   refinement in question happens.
        */
-      ErrorPredictor(const hp::DoFHandler<dim, spacedim> &dof);
+      ErrorPredictor(const DoFHandler<dim, spacedim> &dof);
 
       /**
        * Prepare the current object for coarsening and refinement.
@@ -191,7 +188,7 @@ namespace parallel
       /**
        * Pointer to the degree of freedom handler to work with.
        */
-      SmartPointer<const hp::DoFHandler<dim, spacedim>,
+      SmartPointer<const DoFHandler<dim, spacedim>,
                    ErrorPredictor<dim, spacedim>>
         dof_handler;
 
index 75b130f0f91c752e33788d261c9659c3032cdc2c..ad0ce0b61b6f9c96eb2f51c314811bfb78e5713d 100644 (file)
@@ -736,8 +736,6 @@ private:
   // functions.
   template <int, int>
   friend class DoFHandler;
-  template <int, int>
-  friend class hp::DoFHandler;
 
   friend struct dealii::internal::DoFHandlerImplementation::Policy::
     Implementation;
@@ -1208,8 +1206,6 @@ protected:
   // functions.
   template <int, int>
   friend class DoFHandler;
-  template <int, int>
-  friend class hp::DoFHandler;
 
   friend struct dealii::internal::DoFHandlerImplementation::Policy::
     Implementation;
index 54a5023b9fedd7a309438e91acf686a08c3d1b61..315152b8b83b2ab405c28ae7dfaa138be6c030a5 100644 (file)
@@ -88,9 +88,7 @@ inline DoFAccessor<structdim, dim, spacedim, level_dof_access>::DoFAccessor(
   Assert(false,
          ExcMessage(
            "You are trying to assign iterators that are incompatible. "
-           "Reasons for incompatibility are that they point to different "
-           "types of DoFHandlers (e.g., dealii::DoFHandler and "
-           "dealii::hp::DoFHandler) or that they refer to objects of "
+           "The reason for incompatibility is that they refer to objects of "
            "different dimensionality (e.g., assigning a line iterator "
            "to a quad iterator)."));
 }
@@ -548,7 +546,7 @@ namespace internal
       {
         Assert(dof_handler.hp_capability_enabled == false,
                ExcMessage(
-                 "hp::DoFHandler does not implement multilevel DoFs."));
+                 "DoFHandler in hp-mode does not implement multilevel DoFs."));
 
         return dof_handler.mg_vertex_dofs[vertex_index].get_index(
           level, i, dof_handler.get_fe().n_dofs_per_vertex());
@@ -566,7 +564,7 @@ namespace internal
       {
         Assert(dof_handler.hp_capability_enabled == false,
                ExcMessage(
-                 "hp::DoFHandler does not implement multilevel DoFs."));
+                 "DoFHandler in hp-mode does not implement multilevel DoFs."));
 
         return dof_handler.mg_vertex_dofs[vertex_index].set_index(
           level, i, dof_handler.get_fe().n_dofs_per_vertex(), index);
@@ -1563,7 +1561,8 @@ DoFAccessor<structdim, dim, spacedim, level_dof_access>::mg_vertex_dof_index(
   AssertIndexRange(i, this->dof_handler->get_fe(fe_index).n_dofs_per_vertex());
 
   Assert(dof_handler->hp_capability_enabled == false,
-         ExcMessage("hp::DoFHandler does not implement multilevel DoFs."));
+         ExcMessage(
+           "DoFHandler in hp-mode does not implement multilevel DoFs."));
 
   return this->dof_handler->mg_vertex_dofs[this->vertex_index(vertex)]
     .get_index(level, i, this->dof_handler->get_fe().n_dofs_per_vertex());
@@ -1615,7 +1614,8 @@ DoFAccessor<structdim, dim, spacedim, level_dof_access>::
   AssertIndexRange(i, this->dof_handler->get_fe(fe_index).n_dofs_per_vertex());
 
   Assert(dof_handler->hp_capability_enabled == false,
-         ExcMessage("hp::DoFHandler does not implement multilevel DoFs."));
+         ExcMessage(
+           "DoFHandler in hp-mode does not implement multilevel DoFs."));
 
   this->dof_handler->mg_vertex_dofs[this->vertex_index(vertex)].set_index(
     level, i, this->dof_handler->get_fe().n_dofs_per_vertex(), index);
@@ -2753,9 +2753,9 @@ DoFCellAccessor<dimension_, space_dimension_, level_dof_access>::get_fe() const
   Assert((this->dof_handler->hp_capability_enabled == false) ||
            this->is_active(),
          ExcMessage(
-           "In hp::DoFHandler objects, finite elements are only associated "
-           "with active cells. Consequently, you can not ask for the "
-           "active finite element on cells with children."));
+           "For DoFHandler objects in hp-mode, finite elements are only "
+           "associated with active cells. Consequently, you can not ask "
+           "for the active finite element on cells with children."));
 
   return this->dof_handler->get_fe(active_fe_index());
 }
@@ -2820,9 +2820,9 @@ DoFCellAccessor<dimension_, space_dimension_, level_dof_access>::get_future_fe()
   Assert((this->dof_handler->hp_capability_enabled == false) ||
            this->is_active(),
          ExcMessage(
-           "In hp::DoFHandler objects, finite elements are only associated "
-           "with active cells. Consequently, you can not ask for the "
-           "future finite element on cells with children."));
+           "For DoFHandler objects in hp-mode, finite elements are only "
+           "associated with active cells. Consequently, you can not ask "
+           "for the future finite element on cells with children."));
 
   return this->dof_handler->get_fe(future_fe_index());
 }
index 2a57871fe6e734b814e414c10ab9e5d48de519b0..b4c8ff6092c6a014731af2aa0cb9984e10ccde24 100644 (file)
@@ -4023,8 +4023,6 @@ private:
 
   friend struct dealii::internal::TriaAccessorImplementation::Implementation;
 
-  friend class hp::DoFHandler<dim, spacedim>;
-
   friend struct dealii::internal::TriangulationImplementation::Implementation;
   friend struct dealii::internal::TriangulationImplementation::
     ImplementationMixedMesh;
index 65d8bbba29183ec75690b014ee6f9e8c9c5b50b9..b854bd7307458fe9c96b505fd13672ed48a01875 100644 (file)
 #  include <deal.II/distributed/tria.h>
 
 #  include <deal.II/dofs/dof_accessor.h>
+#  include <deal.II/dofs/dof_handler.h>
 #  include <deal.II/dofs/dof_tools.h>
 
 #  include <deal.II/grid/tria_accessor.h>
 #  include <deal.II/grid/tria_iterator.h>
 
-#  include <deal.II/hp/dof_handler.h>
-
 #  include <deal.II/lac/block_vector.h>
 #  include <deal.II/lac/la_parallel_block_vector.h>
 #  include <deal.II/lac/la_parallel_vector.h>
@@ -51,18 +50,18 @@ namespace parallel
   {
     template <int dim, int spacedim>
     ErrorPredictor<dim, spacedim>::ErrorPredictor(
-      const hp::DoFHandler<dim, spacedim> &dof)
+      const DoFHandler<dim, spacedim> &dof)
       : dof_handler(&dof, typeid(*this).name())
       , handle(numbers::invalid_unsigned_int)
       , gamma_p(0.)
       , gamma_h(0.)
       , gamma_n(0.)
     {
-      Assert(
-        (dynamic_cast<const parallel::distributed::Triangulation<dim, spacedim>
-                        *>(&dof_handler->get_triangulation()) != nullptr),
-        ExcMessage(
-          "parallel::distributed::ErrorPredictor requires a parallel::distributed::Triangulation object."));
+      Assert((dynamic_cast<
+                const parallel::distributed::Triangulation<dim, spacedim> *>(
+                &dof_handler->get_triangulation()) != nullptr),
+             ExcMessage("parallel::distributed::ErrorPredictor requires a "
+                        "parallel::distributed::Triangulation object."));
     }
 
 
@@ -167,8 +166,8 @@ namespace parallel
       const typename Triangulation<dim, spacedim>::cell_iterator &cell_,
       const typename Triangulation<dim, spacedim>::CellStatus     status)
     {
-      typename hp::DoFHandler<dim, spacedim>::cell_iterator cell(*cell_,
-                                                                 dof_handler);
+      typename DoFHandler<dim, spacedim>::cell_iterator cell(*cell_,
+                                                             dof_handler);
 
       // create buffer for each individual input vector
       std::vector<float> predicted_errors(error_indicators.size());
index 0569e0475e3810f7105518246d3677c893aea551..baaefe657a193ab4250dbbfbf2f29d781bca898a 100644 (file)
@@ -107,7 +107,7 @@ DoFCellAccessor<dim, spacedim, lda>::get_interpolated_dof_values(
                (fe_index != DoFHandler<dim, spacedim>::invalid_fe_index),
              ExcMessage(
                "You cannot call this function on non-active cells "
-               "of hp::DoFHandler objects unless you provide an explicit "
+               "of DoFHandler objects unless you provide an explicit "
                "finite element index because they do not have naturally "
                "associated finite element spaces associated: degrees "
                "of freedom are only distributed on active cells for which "
index b9fd3d0ab174a7651f726ec3ec6ee6c469c2781d..f4689c96a66e95c7b6af5fa134ec5ac7f44aa884 100644 (file)
@@ -97,7 +97,7 @@ DoFCellAccessor<dim, spacedim, lda>::set_dof_values_by_interpolation(
                (fe_index != DoFHandler<dim, spacedim>::invalid_fe_index),
              ExcMessage(
                "You cannot call this function on non-active cells "
-               "of hp::DoFHandler objects unless you provide an explicit "
+               "of DoFHandler objects unless you provide an explicit "
                "finite element index because they do not have naturally "
                "associated finite element spaces associated: degrees "
                "of freedom are only distributed on active cells for which "
index dd976ef6ec34e8d427822195f35364c47a6b1185..dbe8ae548538316b12c6dda856453f45d082ab15 100644 (file)
@@ -543,8 +543,7 @@ namespace hp
       unsigned int parent_future_fe_index = numbers::invalid_unsigned_int;
       // store all determined future finite element indices on parent cells for
       // coarsening
-      std::map<typename hp::DoFHandler<dim, spacedim>::cell_iterator,
-               unsigned int>
+      std::map<typename DoFHandler<dim, spacedim>::cell_iterator, unsigned int>
         future_fe_indices_on_coarsened_cells;
 
       // deep copy error indicators
@@ -670,16 +669,17 @@ namespace hp
       if (dynamic_cast<const parallel::TriangulationBase<dim, spacedim> *>(
             &dof_handler.get_triangulation()))
         {
-          auto pack = [](
-                        const typename dealii::hp::DoFHandler<dim, spacedim>::
-                          active_cell_iterator &cell) -> std::pair<bool, bool> {
+          auto pack =
+            [](const typename dealii::DoFHandler<dim,
+                                                 spacedim>::active_cell_iterator
+                 &cell) -> std::pair<bool, bool> {
             return {cell->coarsen_flag_set(), cell->future_fe_index_set()};
           };
 
-          auto unpack = [&ghost_buffer](
-                          const typename dealii::hp::DoFHandler<dim, spacedim>::
-                            active_cell_iterator &    cell,
-                          const std::pair<bool, bool> pair) -> void {
+          auto unpack =
+            [&ghost_buffer](const typename dealii::DoFHandler<dim, spacedim>::
+                              active_cell_iterator &    cell,
+                            const std::pair<bool, bool> pair) -> void {
             ghost_buffer.emplace(cell->id(), pair);
           };
 
index 41ebc1842eec30d711b7f5ac0f0356f7678770e6..800f4283880ced44bb891b3a2f8d2ca7cd2a55fd 100644 (file)
@@ -1,13 +1,13 @@
 
 DEAL::Yes, exception 1!
-DEAL::ExcMessage ("In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception 2!
-DEAL::ExcMessage ("You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
 DEAL::Yes, exception 1!
-DEAL::ExcMessage ("In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception 2!
-DEAL::ExcMessage ("You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
 DEAL::Yes, exception 1!
-DEAL::ExcMessage ("In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception 2!
-DEAL::ExcMessage ("You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
index bf4d364d8c08350441ff8fd7b181a50dbd2e9a9d..a305d959e2aab8e7fba0c82959328a27afc5e3e4 100644 (file)
@@ -1,13 +1,13 @@
 
 DEAL::Yes, exception 1!
-DEAL::ExcMessage( "In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception!
-DEAL::ExcMessage( "You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
 DEAL::Yes, exception 1!
-DEAL::ExcMessage( "In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception!
-DEAL::ExcMessage( "You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
 DEAL::Yes, exception 1!
-DEAL::ExcMessage( "In hp::DoFHandler objects, finite elements are only associated " "with active cells. Consequently, you can not ask for the " "active finite element on cells with children.")
+DEAL::ExcMessage( "For DoFHandler objects in hp-mode, finite elements are only " "associated with active cells. Consequently, you can not ask " "for the active finite element on cells with children.")
 DEAL::Yes, exception!
-DEAL::ExcMessage( "You cannot call this function on non-active cells " "of hp::DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")
+DEAL::ExcMessage( "You cannot call this function on non-active cells " "of DoFHandler objects unless you provide an explicit " "finite element index because they do not have naturally " "associated finite element spaces associated: degrees " "of freedom are only distributed on active cells for which " "the active_fe_index has been set.")

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.