]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Clear active_fe_index flags on non-active cells since they have no meaning.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 21 Jan 2014 06:49:27 +0000 (06:49 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 21 Jan 2014 06:49:27 +0000 (06:49 +0000)
git-svn-id: https://svn.dealii.org/trunk@32273 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/news/changes.h
deal.II/source/hp/dof_handler.cc

index c21e09c3341b5af530625e8b080e5c51a2661010..69ee2024b287ee29cf9609b1e6e3cb10f9eb9388 100644 (file)
@@ -84,6 +84,19 @@ inconvenience this causes.
 <h3>Specific improvements</h3>
 
 <ol>
+  <li> Changed: It was previously possible to set the
+  <code>active_fe_index</code> on non-active cells of an hp::DoFHandler.
+  However, this was prone to mistakes because it may lead to the assumption
+  that a finite element space out of the ones described by the hp::FECollection
+  associated with this hp::DoFHandler was actually associated with such
+  a cell. Since we do not actually distribute degrees of freedom for such
+  hp::DoFHandler objects on non-active cells, this is not the case. Consequently,
+  it no longer has any effect to assign active FE indices to non-active cells:
+  these values are simply reset later on.
+  <br>
+  (Wolfgang Bangerth, 2014/01/20)
+  </li>
+
   <li> Fixed: The method DoFTools::extract_constant_modes only worked for
   elements where the constant function 1 is represented by all ones. This
   is now fixed by querying the element for its constant modes on each cell.
index 85a37b7aace643eee8cdc1db4433b166064caf34..84bb3584e9a46e42bd19288e261360301adb9676 100644 (file)
@@ -2600,6 +2600,14 @@ namespace hp
 
     finite_elements = &ff;
 
+    // nothing good can come off having active_fe_indices
+    // on non-active cells, since we do not distribute dofs
+    // there. kill these
+    for (cell_iterator cell = begin(); cell != end(); ++cell)
+      if (cell->has_children())
+        cell->set_active_fe_index (default_fe_index);
+
+
     // This call ensures that the
     // active_fe_indices vectors are
     // initialized correctly.

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.