<div class="gmail_quote">On Wed, May 30, 2012 at 1:55 PM,  <span dir="ltr"><<a href="mailto:coco@dmi.unict.it" target="_blank">coco@dmi.unict.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear all,<br>
<br>
I have chosen the multigrid as a preconditioner of a Richardson kps solver and I have set all the multigrid stuff (smoother, interpolation, restriction, coarse solver). When I perform two iterations of the Richardson ksp solver (with the option -ksp_max_it 2), which means two cycles of the multigrid, I obtain the same result as in the case I perform only one iteraton.<br>
</blockquote><div><br></div><div>What do you mean by this?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I noticed that when the second iteration starts, the initial guess is zero, and then it provides the same solution as in the first iteration. Anyway, the norm residual printed by the -ksp_monitor option decreases.<br></blockquote>
<div><br></div><div>Run with -ksp_monitor_true_residual</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
How can I investigate the problem?<br></blockquote><div><br></div><div>I'd start by checking that UserSOR is really SOR (as opposed to somehow misusing the vectors). Check that it respects a zero initial guess if that is part of the flag.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
One more detail: the smoother is implemented by a user-provided routine UserSOR() which is registered as MATOP_SOR of a shell matrix, which is assigned to the ksp smoother. Even if the UserSOR() takes in input a MatSORType flag, I do not take care about it inside the routine.<br>
</blockquote><div><br></div><div>The best thing is to check that the option is whatever you expect it to be and SETERRQ() if it is not. That will reduce confusion down the road.</div></div>