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 <[email protected]> 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 <[email protected]> wrote: > On Sun, Dec 28, 2014 at 11:02 AM, Umut Tabak <[email protected]> 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 >
