Jose, thanks for adding pARMS. I wonder if there is something wrong or if I'm just not using it correctly. I'm testing with ksp ex2 and it works fine in serial:
$ mpiexec -n 1 ./ex2 -m 50 -n 50 -ksp_converged_reason -pc_type parms Linear solve converged due to CONVERGED_RTOL iterations 10 Norm of error 9.34118e-05 iterations 10 but it diverges in parallel: $ mpiexec -n 2 ./ex2 -m 50 -n 50 -ksp_converged_reason -pc_type parms Linear solve did not converge due to DIVERGED_DTOL iterations 630 Norm of error 3.12589e+06 iterations 630 I can make it "converge" by turning off restart, but the algebraic residual is actually large indicating that the preconditioner is actually nonlinear. $ mpiexec -n 2 ./ex2 -m 50 -n 50 -ksp_converged_reason -pc_type parms -ksp_gmres_restart 1000 Linear solve converged due to CONVERGED_RTOL iterations 81 Norm of error 30.4982 iterations 81 Indeed, using FGMRES makes it converge $ mpiexec -n 2 ./ex2 -m 50 -n 50 -ksp_converged_reason -pc_type parms -ksp_gmres_restart 1000 -ksp_type fgmres Linear solve converged due to CONVERGED_RTOL iterations 71 Norm of error 0.000150845 iterations 71 but avoiding restarts is really critical $ mpiexec -n 2 ./ex2 -m 50 -n 50 -ksp_converged_reason -pc_type parms -ksp_gmres_restart 30 -ksp_type fgmres Linear solve converged due to CONVERGED_RTOL iterations 771 Norm of error 0.00202382 iterations 771 What do you think about making the preconditioner linear by default? Is there a way to make it more tolerant of restarts, at least for such a simple problem (2D Laplace, 5-point stencil, uniform grid)? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110316/9c086e7c/attachment.html>
