]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add DoFAccessor<0,...>::get_mg_dof_indices.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Sat, 23 Jul 2016 14:45:50 +0000 (09:45 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 24 Jul 2016 02:28:26 +0000 (21:28 -0500)
This function was previously missing. The patch really only adds the declaration
and a dummy definition throwing ExcNotImplemented(), but it at least enables some
generic programming that would otherwise lead to compiler errors.

include/deal.II/dofs/dof_accessor.h
include/deal.II/dofs/dof_accessor.templates.h

index 9178585b56ff569c1c83eea4f41e0ec12143217c..4fd0407eac4561501d448c7f0a22de5d84d57fd2 100644 (file)
@@ -906,6 +906,17 @@ public:
   void get_dof_indices (std::vector<types::global_dof_index> &dof_indices,
                         const unsigned int fe_index = AccessorData::default_fe_index) const;
 
+
+  /**
+   * Return the global multilevel indices of the degrees of freedom that live
+   * on the current object with respect to the given level within the
+   * multigrid hierarchy. The indices refer to the local numbering for the
+   * level this line lives on.
+   */
+  void get_mg_dof_indices (const int level,
+                           std::vector<types::global_dof_index> &dof_indices,
+                           const unsigned int fe_index = AccessorData::default_fe_index) const;
+
   /**
    * Global DoF index of the <i>i</i> degree associated with the @p vertexth
    * vertex of the present cell.
index d428e19a4645f6c5ab80fcfe37e6813735d519d3..12177b6ff93112b7f82c1d8c7f14afadc174e821 100644 (file)
@@ -2300,6 +2300,24 @@ DoFAccessor<0,DoFHandlerType<1,spacedim>, level_dof_access>::get_dof_indices
 
 
 
+template <template <int, int> class DoFHandlerType, int spacedim, bool level_dof_access>
+inline
+void
+DoFAccessor<0,DoFHandlerType<1,spacedim>, level_dof_access>::
+get_mg_dof_indices (const int,
+                    std::vector<types::global_dof_index> &dof_indices,
+                    const unsigned int fe_index) const
+{
+  Assert (this->dof_handler != 0, ExcInvalidObject ());
+  Assert (dof_indices.size () ==
+          this->dof_handler->get_fe ()[fe_index].dofs_per_vertex,
+          ExcVectorDoesNotMatch ());
+
+  Assert (false, ExcNotImplemented());
+}
+
+
+
 template <template <int, int> class DoFHandlerType, int spacedim, bool level_dof_access>
 inline
 types::global_dof_index

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.