From: Peter Munch Date: Mon, 31 Jan 2022 16:54:22 +0000 (+0100) Subject: Fix MGTwoLevelTransfer::restrict_and_add() X-Git-Tag: v9.4.0-rc1~543^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F13312%2Fhead;p=dealii.git Fix MGTwoLevelTransfer::restrict_and_add() --- diff --git a/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h b/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h index 5a7f8b283b..576bced433 100644 --- a/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h +++ b/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h @@ -2987,8 +2987,10 @@ MGTwoLevelTransfer>:: } // clean up related to update_ghost_values() - if (use_src_inplace == false) - vec_fine_ptr->set_ghost_state(false); // internal vector + if (fine_element_is_continuous == false && use_src_inplace == false) + vec_fine_ptr->zero_out_ghost_values(); // internal vector (DG) + else if (fine_element_is_continuous && use_src_inplace == false) + vec_fine_ptr->set_ghost_state(false); // internal vector (CG) else if (fine_element_is_continuous) vec_fine_ptr->zero_out_ghost_values(); // external vector