From: heister Date: Tue, 19 Feb 2013 18:14:00 +0000 (+0000) Subject: merge from mainline X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5dc46b1541f001d510fcf9335627ff2017c9072;p=dealii-svn.git merge from mainline git-svn-id: https://svn.dealii.org/branches/branch_unify_linear_algebra@28476 0785d39b-7218-0410-832d-ea1e28bc413d --- c5dc46b1541f001d510fcf9335627ff2017c9072 diff --cc deal.II/include/deal.II/lac/petsc_parallel_vector.h index bb549a72c8,16e8d97a0a..895c49a8cb --- a/deal.II/include/deal.II/lac/petsc_parallel_vector.h +++ b/deal.II/include/deal.II/lac/petsc_parallel_vector.h @@@ -525,11 -525,16 +525,18 @@@ namespace PETScWrapper const int ierr = VecCopy (v.vector, vector); AssertThrow (ierr == 0, ExcPETScError(ierr)); - + if (ghosted) + update_ghost_values(); + if (has_ghost_elements()) - update_ghost_values(); + { + int ierr; + + ierr = VecGhostUpdateBegin(vector, INSERT_VALUES, SCATTER_FORWARD); + AssertThrow (ierr == 0, ExcPETScError(ierr)); + ierr = VecGhostUpdateEnd(vector, INSERT_VALUES, SCATTER_FORWARD); + AssertThrow (ierr == 0, ExcPETScError(ierr)); + } return *this; }