From 40842c27a58e29b91fd5198ec8211347497ef0f6 Mon Sep 17 00:00:00 2001 From: kanschat Date: Mon, 25 Feb 2013 14:55:19 +0000 Subject: [PATCH] undo commit 28489 which screwed up multigrid for DG methods git-svn-id: https://svn.dealii.org/trunk@28551 0785d39b-7218-0410-832d-ea1e28bc413d --- .../deal.II/multigrid/multigrid.templates.h | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/deal.II/include/deal.II/multigrid/multigrid.templates.h b/deal.II/include/deal.II/multigrid/multigrid.templates.h index 17226ffdf0..cfee9c22a9 100644 --- a/deal.II/include/deal.II/multigrid/multigrid.templates.h +++ b/deal.II/include/deal.II/multigrid/multigrid.templates.h @@ -156,16 +156,6 @@ Multigrid::level_v_step(const unsigned int level) // std::cout<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::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) -- 2.39.5