[petsc-users] SNES with constraint diverges
Matthew Knepley
knepley at gmail.com
Wed Sep 12 04:53:46 CDT 2018
On Wed, Sep 12, 2018 at 1:25 AM Josh L <ysjosh.lo at gmail.com> wrote:
>
> The following is the output. Thanks.
>
I do not know what you residual looks like, but it entirely possible that
your Jacobian is not
accurate enough to drive the residual below 5e-13. You could just try
-snes_atol 1e-12
unless you really think you need to be more accurate. Also have you
non-dimensionalized
your problem?
Thanks,
Matt
> 0 SNES Function norm 3.775139483936e-07
> Line search: Using full step: fnorm 3.775139483936e-07 gnorm
> 1.043499007769e-11
> 1 SNES Function norm 1.043499007769e-11
> Line search: Using full step: fnorm 1.043499007769e-11 gnorm
> 5.302082026305e-12
> 2 SNES Function norm 5.302082026305e-12
> Line search: Using full step: fnorm 5.302082026305e-12 gnorm
> 3.136358665117e-12
> 3 SNES Function norm 3.136358665117e-12
> Line search: Using full step: fnorm 3.136358665117e-12 gnorm
> 2.170819065257e-12
> 4 SNES Function norm 2.170819065257e-12
> Line search: Using full step: fnorm 2.170819065257e-12 gnorm
> 1.475760790713e-12
> 5 SNES Function norm 1.475760790713e-12
> Line search: Using full step: fnorm 1.475760790713e-12 gnorm
> 1.130642522675e-12
> 6 SNES Function norm 1.130642522675e-12
> Line search: Using full step: fnorm 1.130642522675e-12 gnorm
> 8.647827205825e-13
> 7 SNES Function norm 8.647827205825e-13
> Line search: Using full step: fnorm 8.647827205825e-13 gnorm
> 7.403983354386e-13
> 8 SNES Function norm 7.403983354386e-13
> Line search: Using full step: fnorm 7.403983354386e-13 gnorm
> 6.291615062788e-13
> 9 SNES Function norm 6.291615062788e-13
> Line search: Using full step: fnorm 6.291615062788e-13 gnorm
> 5.682820624094e-13
> 10 SNES Function norm 5.682820624094e-13
> Line search: Using full step: fnorm 5.682820624094e-13 gnorm
> 5.300267435005e-13
> 11 SNES Function norm 5.300267435005e-13
> Line search: Using full step: fnorm 5.300267435005e-13 gnorm
> 5.096339188439e-13
> 12 SNES Function norm 5.096339188439e-13
> Line search: Using full step: fnorm 5.096339188439e-13 gnorm
> 4.970340343183e-13
> 13 SNES Function norm 4.970340343183e-13
> Line search: Using full step: fnorm 4.970340343183e-13 gnorm
> 4.916509482510e-13
> 14 SNES Function norm 4.916509482510e-13
> Line search: Using full step: fnorm 4.916509482510e-13 gnorm
> 4.875840608086e-13
> 15 SNES Function norm 4.875840608086e-13
> Line search: Using full step: fnorm 4.875840608086e-13 gnorm
> 4.859609948396e-13
> 16 SNES Function norm 4.859609948396e-13
> Line search: Using full step: fnorm 4.859609948396e-13 gnorm
> 4.846457390135e-13
> 17 SNES Function norm 4.846457390135e-13
> Line search: Using full step: fnorm 4.846457390135e-13 gnorm
> 4.840667643605e-13
> 18 SNES Function norm 4.840667643605e-13
> Line search: Using full step: fnorm 4.840667643605e-13 gnorm
> 4.837878467904e-13
> 19 SNES Function norm 4.837878467904e-13
> Line search: Using full step: fnorm 4.837878467904e-13 gnorm
> 4.835385298533e-13
> 20 SNES Function norm 4.835385298533e-13
> Line search: Using full step: fnorm 4.835385298533e-13 gnorm
> 4.833767981145e-13
> 21 SNES Function norm 4.833767981145e-13
> Line search: Aborted due to ynorm < stol*xnorm (6.489173391862e-15 <
> 2.387840730261e-06) and inadequate full step.
> Nonlinear smu_ solve did not converge due to DIVERGED_LINE_SEARCH
> iterations 21
>
>
>
>
> 2018-09-11 23:37 GMT-05:00 Smith, Barry F. <bsmith at mcs.anl.gov>:
>
>>
>> Do you start with initial conditions of 0 <= u_i <= 1 ?
>>
>> Run with -snes_monitor -snes_converged_reason
>> -ksp_monitor_true_residual -info -snes_linesearch_monitor and send all the
>> output
>>
>> Barry
>>
>>
>> > On Sep 11, 2018, at 11:33 PM, Josh L <ysjosh.lo at gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > I am using SNES to solve an nonlinear equation f(u), and I know all the
>> u_i should be 0 and 1.
>> >
>> > First, I use SNES without constraint, and it converges.
>> >
>> > But, If I set
>> > SNESSetType(snes,SNESVINEWTONRSLS,ierr)
>> > SNESVISetVariableBounds(snes,xl,xu,ierr)
>> >
>> > where xl and xu is vector, and xl_i=0 and xu_i=1
>> >
>> > then SNES fails to converge, because linesearch fails(snes reason =
>> -6), and the norm of residual is not reducing(the norm of incremental
>> solution is reducing)
>> >
>> > The reason to add constraint is that I want to implement some
>> irreversibility.
>> >
>> >
>> > Thanks,
>> > Josh
>> >
>>
>>
>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180912/7089fb7d/attachment.html>
More information about the petsc-users
mailing list