[petsc-users] SNES with constraint diverges

Smith, Barry F. bsmith at mcs.anl.gov
Tue Sep 11 23:37:57 CDT 2018


   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  
>  



More information about the petsc-users mailing list