]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Correctly set copy_indices when refinement is done.
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 5 Feb 2010 08:28:09 +0000 (08:28 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 5 Feb 2010 08:28:09 +0000 (08:28 +0000)
git-svn-id: https://svn.dealii.org/trunk@20502 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/multigrid/mg_transfer_prebuilt.cc

index 8b833a365f2893c4c89b1bbb2542395f2ca4d0a4..0e676f06c7cb6bb5612c8e05c98be01f62270f1a 100644 (file)
@@ -321,6 +321,9 @@ void MGTransferPrebuilt<VECTOR>::build_matrices (
                                // the std::vector<std::pair<uint,uint> > that
                                // only contains the active dofs on the
                                // levels.
+
+  find_dofs_on_refinement_edges (mg_dof);
+
   copy_indices.resize(n_levels);
   std::vector<unsigned int> temp_copy_indices;
   std::vector<unsigned int> global_dof_indices (dofs_per_cell);
@@ -349,7 +352,8 @@ void MGTransferPrebuilt<VECTOR>::build_matrices (
          level_cell->get_mg_dof_indices (level_dof_indices);
 
          for (unsigned int i=0; i<dofs_per_cell; ++i)
-           temp_copy_indices[level_dof_indices[i]] = global_dof_indices[i];
+           if(!dofs_on_refinement_edge[level][level_dof_indices[i]])
+             temp_copy_indices[level_dof_indices[i]] = global_dof_indices[i];
        }
 
                                // now all the active dofs got a valid entry,

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.