[petsc-users] DIVERGED_DTOL with SNES after switching to 3.8

David Knezevic david.knezevic at akselos.com
Sat Oct 28 09:31:35 CDT 2017


Hi all,

I updated to the head of the maint branch (b5b0337). Previously (with
version 3.7), I had a SNES test case that converged like this:

  NL step  0, |residual|_2 = 9.074962e-03
  NL step  1, |residual|_2 = 5.516783e+03
  NL step  2, |residual|_2 = 1.370884e-12
Number of nonlinear iterations: 2
Nonlinear solver convergence/divergence reason: CONVERGED_FNORM_RELATIVE

and now I get the following behavior:

  NL step  0, |residual|_2 = 9.074962e-03
  NL step  1, |residual|_2 = 5.516783e+03
Number of nonlinear iterations: 1
Nonlinear solver convergence/divergence reason: DIVERGED_DTOL

I didn't change anything in my code, so I guess the default DTOL options in
SNES have changed? If someone could suggest how I can recover the old
behavior, that'd be great.

(Note that this is a contact problem using an augmented Lagrangian penalty
method, so the convergence is pretty nasty and it's hard to avoid these
large jumps in the residual, so I don't want to get the DIVERGED_DTOL error
in this case.)

Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20171028/f5988272/attachment.html>


More information about the petsc-users mailing list