On Wed, May 30, 2012 at 1:55 PM, <coco at dmi.unict.it> wrote: > Dear all, > > 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. >
What do you mean by this? > 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. > Run with -ksp_monitor_true_residual > How can I investigate the problem? > 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. > 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. > 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. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120530/7c8de7e8/attachment-0001.html>
