]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
undo commit 28489 which screwed up multigrid for DG methods
authorkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 25 Feb 2013 14:55:19 +0000 (14:55 +0000)
committerkanschat <kanschat@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 25 Feb 2013 14:55:19 +0000 (14:55 +0000)
git-svn-id: https://svn.dealii.org/trunk@28551 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/multigrid/multigrid.templates.h

index 17226ffdf07380d028c890833895196aa827ce22..cfee9c22a91726738ab16b44640f5f483bc02fab 100644 (file)
@@ -156,16 +156,6 @@ Multigrid<VECTOR>::level_v_step(const unsigned int level)
 //  std::cout<<std::endl;
 //  t[level].print(std::cout, 2,false);
 
-  if (edge_out != 0)
-    {
-      edge_out->vmult_add(level, t[level], solution[level]);
-      if (debug>2)
-        deallog << "Norm t[" << level << "] " << t[level].l2_norm() << std::endl;
-    }
-
-  if (edge_down != 0)
-    edge_down->vmult(level, t[level-1], solution[level]);
-
   // make t rhs of lower level The
   // non-refined parts of the
   // coarse-level defect already
@@ -174,6 +164,15 @@ Multigrid<VECTOR>::level_v_step(const unsigned int level)
   for (unsigned int l = level; l>minlevel; --l)
     {
       t[l-1] = 0.;
+      if (l==level && edge_out != 0)
+        {
+          edge_out->vmult_add(level, t[level], solution[level]);
+          if (debug>2)
+            deallog << "Norm t[" << level << "] " << t[level].l2_norm() << std::endl;
+        }
+
+      if (l==level && edge_down != 0)
+        edge_down->vmult(level, t[level-1], solution[level]);
 
       transfer->restrict_and_add (l, t[l-1], t[l]);
       if (debug>3)

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.