From: prill Date: Sun, 3 Jun 2007 11:47:19 +0000 (+0000) Subject: Added changed interface for PETSc 2.3.3 vector scatters. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d276d51a8001531e910f47e7a355e3f00342edb;p=dealii-svn.git Added changed interface for PETSc 2.3.3 vector scatters. git-svn-id: https://svn.dealii.org/trunk@14744 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/lac/include/lac/petsc_vector.h b/deal.II/lac/include/lac/petsc_vector.h index 714d69c2ee..2d02f36801 100644 --- a/deal.II/lac/include/lac/petsc_vector.h +++ b/deal.II/lac/include/lac/petsc_vector.h @@ -283,13 +283,26 @@ namespace PETScWrappers ierr = VecScatterCreateToAll (static_cast(v), &ctx, &vector); AssertThrow (ierr == 0, ExcPETScError(ierr)); + +#if ((PETSC_VERSION_MAJOR >= 2) && \ + (PETSC_VERSION_MINOR >=3) && \ + (PETSC_VERSION_SUBMINOR >=3)) + + ierr = VecScatterBegin (ctx,static_cast(v), vector, + INSERT_VALUES, SCATTER_FORWARD); + AssertThrow (ierr == 0, ExcPETScError(ierr)); + ierr = VecScatterEnd (ctx, static_cast(v), vector, + INSERT_VALUES, SCATTER_FORWARD); +#else + ierr = VecScatterBegin (static_cast(v), vector, INSERT_VALUES, SCATTER_FORWARD, ctx); AssertThrow (ierr == 0, ExcPETScError(ierr)); ierr = VecScatterEnd (static_cast(v), vector, INSERT_VALUES, SCATTER_FORWARD, ctx); +#endif AssertThrow (ierr == 0, ExcPETScError(ierr)); ierr = VecScatterDestroy (ctx);