From: Peter Munch Date: Thu, 7 Oct 2021 12:39:39 +0000 (+0200) Subject: Global coarsening: reset ghost state of internal vectors X-Git-Tag: v9.4.0-rc1~952^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b389babd77ec7b466bfef654badb1925f35ada0;p=dealii.git Global coarsening: reset ghost state of internal vectors --- 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 71c38856ef..d0a9fa7164 100644 --- a/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h +++ b/include/deal.II/multigrid/mg_transfer_global_coarsening.templates.h @@ -2560,6 +2560,12 @@ MGTwoLevelTransfer>:: } } + // clean up related to update_ghost_values() + if (use_src_inplace == false) + vec_fine_ptr->set_ghost_state(false); // internal vector + else if (fine_element_is_continuous) + vec_fine_ptr->zero_out_ghost_values(); // external vector + this->vec_coarse.compress(VectorOperation::add); dst.copy_locally_owned_data_from(this->vec_coarse); @@ -2669,6 +2675,12 @@ MGTwoLevelTransfer>:: } } + // clean up related to update_ghost_values() + if (use_src_inplace == false) + vec_fine_ptr->set_ghost_state(false); // internal vector + else if (fine_element_is_continuous) + vec_fine_ptr->zero_out_ghost_values(); // external vector + dst.copy_locally_owned_data_from(this->vec_coarse); }