[petsc-users] DIVERGED_DTOL with SNES after switching to 3.8
Smith, Barry F.
bsmith at mcs.anl.gov
Sat Oct 28 09:44:19 CDT 2017
Run with something like -snes_divergence_tolerance 1e20
Barry
> On Oct 28, 2017, at 9:31 AM, David Knezevic <david.knezevic at akselos.com> wrote:
>
> 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
More information about the petsc-users
mailing list