[petsc-users] no decrease in iteration counts of KSPCG during time stepping

Barry Smith bsmith at mcs.anl.gov
Sun Dec 28 18:33:32 CST 2014


  Take a look at KSPFischerGuessCreate() and the material it points to. From the command line you can run for example

-ksp_fischer_guess 1,20 

This method "works" by saving information about Krylov directions and then projecting those directions out of the NEXT linear solve at the beginning of the new linear solve (constructing a "better" initial guess), hence it does not remove these directions out each KSP iteration, just for each new linear solve. It can be used with the preconditioned conjugate gradient method.  There is a tiny community of people who claim this helps significantly on their problems, we'd love to hear your experience.

  Barry


> On Dec 28, 2014, at 11:24 AM, Alp Kalpalp <alpkalpalp at gmail.com> wrote:
> 
> Thanks for the answers,
> 
> Please forgive me, I forgot to say that my stiffness matrix is not changing during time steps. I could not remember directly but just after a google search..I just hit this 
> 
> http://web.stanford.edu/group/frg/publications/recent/FETI-stoch.pdf
> 
> please look around eq37
> 
> My problem is not related to this random paper I found. But, I think I can find several others that shows the enhancing power of orthogonalization with successive directions when the system's behaviour is not changing rapidly. In my current sample case a gradually increasing force is applied to a linear system.
> 
> Since I use FETIDP, preconditioned conjugate projected gradient (PCPG) is crucial in order to select any generalized inverse for the system.
> 
> So, any suggestions on how to complete these tasks?
> 
> For example anyway of obtaining search direction from KSPCG?
> 
> or 
> 
> how to implement a projection space?
> 
> Is it posible or too difficuly to code a variant of a KSPCG that meets my requirements?
> 
> On Sun, Dec 28, 2014 at 7:08 PM, Matthew Knepley <knepley at gmail.com> wrote:
> On Sun, Dec 28, 2014 at 11:02 AM, Umut Tabak <u.tabak at tudelft.nl> wrote:
> On 12/28/2014 05:54 PM, Alp Kalpalp wrote:
>> Hi, 
>> 
>> Thank you Mark. 
>> 
>> Let me clarify my questions;
>> 
>> 1-)How to implement or activate a Reorthogonalization procedure for KSPCG..
>> As you know, search directions can be found more rapidly (with less numer of iterations) by using previous successive directions
> Without answering the PETSc related questions, interesting discussion, 
> 
> indeed, but at the cost of purging the previous directions(which means explicit orthogonalizations with respect to these vectors also), so I am not sure if you can gain something with this, cost wise...
> 
> This has been proposed many times, but it has never been shown to work. I have tried every variant I could
> find and it did not work. You can try LGMRES, which is the closest one to working in my opinion. There is
> definitely no theoretical relation between Krylov directions from subsequent solves unless the operator is
> identical.
> 
>    Matt
> 
>> 2-) How to implement or activate a projection space over CG. A sample projection can be;
>> P = I - G*((G'*G)\G'). 
>> I need to insert project,scale,precondition,re-scae,re-project steps during each KSPCG iteration. How can I utilize this?
>> 
> Just a side note, I had previous experience on this that these kinds of practice increase the cost more...
> BR,
> Umut
> 
> 
> 
> -- 
> 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
> 



More information about the petsc-users mailing list