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

Reply via email to