Update ghost points in TAOLinearBoundSolver

Issue #300 resolved
Andrés A León Baldelli created an issue

I was experiencing incorrect values at the boundaries of the parallel subdomains in a problem solved with TAOLinearBoundSolver; the following patch modifies the solve() of TAOLinearBoundSolver according to how ghost values of PETScVectors is now handled, as introduced in commit ee097aa (see also commit 5c29b06).

Hope this helps

diff --git a/dolfin/nls/TAOLinearBoundSolver.cpp b/dolfin/nls/TAOLinearBoundSolver.cpp
index a61386e..bafd4ec 100644
--- a/dolfin/nls/TAOLinearBoundSolver.cpp
+++ b/dolfin/nls/TAOLinearBoundSolver.cpp
@@ -211,6 +211,9 @@ std::size_t TAOLinearBoundSolver::solve(const PETScMatrix& A1,

   TaoSolve(_tao);

+  // Update ghost values
+  x.update_ghost_values();
+
   // Print the report on convergences and methods used
   if (parameters["report"])
     TaoView(_tao, PETSC_VIEWER_STDOUT_WORLD);

Cheers,

Andrés

Comments (5)

  1. Log in to comment