On Mon, Mar 23, 2009 at 11:06 AM, Rafael Santos Coelho < rafaelsantoscoelho at gmail.com> wrote:
> Hello everyone, > > Lately I've been running some tests with a matrix-free LU-SGS-like > preconditioner and I've noticed that although, broadly speaking, it has > shown very good improvements on the convergence rate of my program, it does > not decrease the runtime. Quite the opposite, the bigger the problem (mesh > size), the more computational costlier it gets to be applied to the system, > which is fairly natural to expect. So I've tried using the > -snes_lag_preconditioner command-line option, and it did help in a way to > alleviate the "numerical effort" of the preconditioner, but the overall > runtime, in comparison with the matrix-free unpreconditioned tests, is still > prohibitive. > > Given that, I was thinking of modifying the concept of "lagged > preconditioning" in PETSc, I mean, instead of applying the preconditioner > every "p" non-linear iterations, I want to apply it every "p" linear > iterations within each non-linear iteration. How can I do that? You can wrap up your PC in a PCShell and have it only apply every p iterations. Note that if you start changing the PC during the Krylov solve, you will need something like FGMRES. Matt > > Thanks in advance, > > Rafael > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090323/6b4760f8/attachment.htm>
