A different kind of lagged preconditioner
Rafael Santos Coelho
rafaelsantoscoelho at gmail.com
Mon Mar 23 11:45:52 CDT 2009
Matt,
I tried what you suggested but it didn't work. I inserted the following
lines in my "PCApply" routine:
(...)
ierr = SNESGetKSP(snes, &ksp); CHKERRQ(ierr);
ierr = KSPGetIterationNumber(ksp, &its); CHKERRQ(ierr);
if(its % pc->lag)
{
// skip the preconditioning phase
return 0;
}
// else apply preconditioner
Then I ran a test and here's what happened:
$ ./sbratu -xdiv 32 -ydiv 32 -snes_mf -user_precond -snes_converged_reason
-snes_monitor -ksp_converged_reason -smfulusgs_lag 2
0 SNES Function norm 1.165810453479e+00
Linear solve did not converge due to DIVERGED_NULL iterations 1
Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE
What's wrong with this?
Rafael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090323/29beb435/attachment.htm>
More information about the petsc-users
mailing list