<div dir="ltr"><div><div>Hi Lawrence,<br><br>Hmm this sounds odd. The convergence obtained with chebyshev should be essentially identical in serial and parallel when using a jacobi preconditioner<br><br>1) How did you configure the coarse grid solver in the serial and parallel test? Are they consistent?<br>
<br></div>2) Does using one level with PCMG and a chebyshev smoother give the same answers in serial and parallel? If you precondition with jacobi, the residuals in serial and parallel should be very similar. If this test didn't pass, try a 1 level method again again without the preconditioner (i.e. just apply chebyshev). If the residuals are really different between these runs, there is likely something wrong/inconsistent with the definition of the operator on each level, or the way the boundary conditions are imposed.<br>
</div><br>3) Is the code valgrind clean?<br><div><div><div>
<br></div><div>Cheers,<br></div><div>  Dave<br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 21 July 2014 12:18, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello all,<br>
<br>
I'm implementing a multigrid solver using PCMG, starting with a simple Poisson equation (with strong boundary conditions) to ensure I'm doing things right.  Everything works fine in serial, but when running on two processes, with the default chebyshev smoother, convergence goes to pot, in particular, the preconditioner becomes indefinite.<br>

<br>
I've determined that the operators I'm building on each level are indeed symmetric, furthermore, if I switch the smoother to jacobi (or sor) preconditioned richardson iterations then I get good convergence in both serial and parallel runs.  The eigenvalue estimates for the chebyshev smoother look plausible in both cases.  Any suggestions as to where to look next to figure out what's wrong in my code?  I can try and untangle it such that it demonstrates the problem standalone, but that may take a little time.<br>

<br>
Cheers,<br>
<br>
Lawrence<br>
</blockquote></div><br></div>