]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
fill new copy_indices even more correct
authorheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 27 May 2013 12:46:51 +0000 (12:46 +0000)
committerheister <heister@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 27 May 2013 12:46:51 +0000 (12:46 +0000)
git-svn-id: https://svn.dealii.org/trunk@29643 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/source/multigrid/mg_transfer_prebuilt.cc

index 31e5ac483791b483629f04f95c24238860c54bd6..fa73027ff04edaab3028d3269fd2d704d1225fb7 100644 (file)
@@ -266,18 +266,18 @@ void MGTransferPrebuilt<VECTOR>::build_matrices (
               &&  level_cell->level_subdomain_id()!=mg_dof.get_tria().locally_owned_subdomain())
             continue;
 
-          // get the dof numbers of
-          // this cell for the global
-          // and the level-wise
+          // get the dof numbers of this cell for the global and the level-wise
           // numbering
           level_cell->get_dof_indices (global_dof_indices);
           level_cell->get_mg_dof_indices (level_dof_indices);
 
-          // ignore dofs that
-          // 1. are not locally owned
-          // 2. are constrained at a refinement edge
           for (unsigned int i=0; i<dofs_per_cell; ++i)
             {
+              // we need to ignore if the DoF is on a refinement edge (hanging node)
+              if (mg_constrained_dofs != 0
+                  && mg_constrained_dofs->at_refinement_edge(level, level_dof_indices[i]))
+                continue;
+
               unsigned int global_idx = globally_relevant.index_within_set(global_dof_indices[i]);
               //skip if we did this global dof already (on this or a coarser level)
               if (dof_touched[global_idx])

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.