What could be the reason that the solution of a Poisson equation is smooth when obtained by an iterative solver, only if the maximum residual is set to a high value (e.g. 0.1)? When the maximum residual is set as a typical lower value (e.g. 1e-6), then the solution oscillates - often (but not exclusively) near Neumann boundary conditions. The solution with the high residual is underpredicted, and with the low residual it oscillates around expected values.

The matrix is non-symmetric sparse, weakly diagonally-dominant (a diagonal entry equals the negative sum of other row entries). The system includes both Dirichlet and Neumann boundary conditions. Similar outcomes happen using various iterative solvers: BiCGStab, CGS, QMR and GMRES. The preconditioner is always a diagonal preconditioner, since I have to use matrix-free solving approach on the GPU. Using no preconditioner yields similar (though a bit smoother) results.

  • $\begingroup$ What is the numerical method? Mainly I'm curious why the matrix resulting from a Poisson equation would be non-symmetric. $\endgroup$ – knl Jul 12 '18 at 18:54
  • $\begingroup$ Finite differences on a unstructured mesh. Spatial derivatives are described by employing least-squares at each node with varying neighborhoods, thus non-symmetric matrix. $\endgroup$ – e-ae Jul 12 '18 at 19:36
  • 1
    $\begingroup$ Do you have access to the matrix (at least for debugging)? Or it is totally matrix-free code? Condition number or its estimate might be important. $\endgroup$ – Anton Menshov Jul 12 '18 at 20:39
  • $\begingroup$ The old unoptimized code constructed the matrix (we've used Eigen). Condition numbers were fine. Also, each row is certain to be weakly diagonally dominant. Then we replaced the old code with matrix-free GPU calculations (after testing that it gave the same results of course). I can re-check the matrix again just to be sure. $\endgroup$ – e-ae Jul 13 '18 at 7:02
  • $\begingroup$ Does your solution converge? If it doesn't, then it doesn't make sense to think about qualitative properties such as oscillation -- make sure it converges first, and at the expected rate. $\endgroup$ – Wolfgang Bangerth Jul 14 '18 at 3:29

Your Answer


Browse other questions tagged or ask your own question.