Jed Brown wrote: > On Tue 2008-11-11 13:05, mspieg wrote: >> On a related thread, >> I think there is a bug in the Newton solvers (in 0.8.1) in that they now >> don't zero the correction dx before each linear solve. For direct solvers >> this isn't a problem, however for krylov methods (in particular >> PETScKrylovSolver), this ends up passing the last correction as the initial >> guess for the next iteration. Eventually, when the residual becomes >> sufficiently small, this throws a divergence_tolerance error in Petsc. (To >> see >> this, just change the solver in demo/nls/nonlinearpoisson to something like >> gmres/ilu and use Petsc as the back end). > > This is absolutely correct. I didn't understand Garth's comment earlier > in this thread > >>> It's also useful for Newton solvers. > > How would you obtain a guess of the next Newton correction? >
Most problems use an incremental-iterative approach (applying Newton's method in a series of steps). The dx for iteration 0 in step n will often be a good guess for the iteration 0 dx of step n+1. Of course, after the initial correction, dx=0 is an appropriate guess. Garth > Jed > > > ------------------------------------------------------------------------ > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
