On Oct 21, 2011, at 9:29 AM, Dominik Szczerba wrote: > I am doing a transient computation, solving one linear problem per timestep, > so naturally I want to exploit 'x' from the previous time step to be the > initial value for the next solve (KSPSetInitialGuessNonzero). > For the longest time, however, I was getting wrong results, unless I was > resetting 'x' each time step (to some constant value, pure zero caused bcgs > to break down).
What happened if you did not set it to some constant (that is kept the old solution)? Did you get KSP_DIVERGED_BREAKDOWN? It would be very odd that starting with a good initial guess would lead to breakdown but that cannot be completely ruled out. I would also check with valgrind http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#valgrind Have you tried KSPBCGSL? This is "enhanced Bi-CG-stab" algorithm that is designed to handle certain situations that may cause grief for regular Bi-CG-stab I guess. Barry > After hours of debugging I was unable to find any errors in my coefficients, > I experimentally found out, however, that changing the solver from bcgs to > gmres or fgmres removes the problem: I no longer need to clear the solution > vector. > Now I am a bit worried, if this is still some time bomb in my code or is a > known phenomenon. Thanks for any hints. > > Regards, Dominik
