From 1a932a78d34865be92656f6b16ca6bb1f5af0fa3 Mon Sep 17 00:00:00 2001
From: Daniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Date: Sat, 26 Nov 2016 11:08:33 +0100
Subject: [PATCH] Fix the project_parallel_q_* tests

---
 tests/numerics/project_parallel_common.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tests/numerics/project_parallel_common.h b/tests/numerics/project_parallel_common.h
index 2d6c49aedb..530ae6fbe8 100644
--- a/tests/numerics/project_parallel_common.h
+++ b/tests/numerics/project_parallel_common.h
@@ -22,7 +22,7 @@
 #include <deal.II/base/function.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/quadrature_lib.h>
-#include <deal.II/lac/vector.h>
+#include <deal.II/lac/la_parallel_vector.h>
 
 #include <deal.II/grid/tria.h>
 #include <deal.II/dofs/dof_handler.h>
@@ -119,13 +119,13 @@ void do_project (const parallel::distributed::Triangulation<dim> &triangulation,
                                            constraints);
   constraints.close ();
 
-  LinearAlgebra::distributed::Vector projection (locally_owned_dofs,
-                                                 locally_relevant_dofs,
-                                                 mpi_communicator);
+  LinearAlgebra::distributed::Vector<double> projection
+  (locally_owned_dofs, locally_relevant_dofs, mpi_communicator);
   Vector<float>  error (triangulation.n_active_cells());
   for (unsigned int q=0; q<=p+2-order_difference; ++q)
     {
       // project the function
+      projection.zero_out_ghosts();
       VectorTools::project
       (dof_handler, constraints, QGauss<dim>(p+2),
        F<dim> (q, fe.n_components()), projection);
@@ -133,6 +133,7 @@ void do_project (const parallel::distributed::Triangulation<dim> &triangulation,
       // forgotten: handle hanging node
       // constraints
       constraints.distribute (projection);
+      projection.update_ghost_values();
 
       // then compute the interpolation error
       VectorTools::integrate_difference (dof_handler,
-- 
2.39.5