Hey, Barry
> Lagging the preconditioner does NOT mean applying the preconditioner > every p non-linear iterations. It means RECOMPUTING the preconditioner (with > LU that means doing a new LU numerical factorization) every p nonlinear > iterations. The preconditioner is still APPLIED at every iteration of the > Krylov method. > Thanks for the clarification :D > > Within the linear solve inside Newton there is never a recomputation of > the preconditioner (because the matrix stays the same inside the linear > solve) so lagging inside the linear solve doesn't make sense. > The thing is, as far as I know, that I do have to "recompute" my matrix-free preconditioner every linear iteration inside Newton's method because the input vector changes throughtout the execution of the Krylov solver. Let me give you a clearer and brief explanation of how the preconditioner works. Choosing left preconditioning, we have M^(-1)J(x)s = -M^(-1)F(x), where J(x) = L + D + U and M = (D + wU)^(-1)D(D + wL)^(-1). So, as this is a matrix-free preconditioner, everytime there is a jacobian-vector product J(x)v, PETSc uses the finite-difference approximation (F(x + hM^(-1)v) - F(x)) / h, right? So, the PCApply routine is called every linear iteration. My intention is to make that call periodically in hopes of lowering the runtime. Doesn't that make sense? Rafael -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090323/2d54ed35/attachment.htm>
