[petsc-users] Setting SNESVI

Matthew Knepley knepley at gmail.com
Sat Aug 18 07:48:03 CDT 2018


First dolve the unconstrained problem to make sure that works.

   Matt

On Sat, Aug 18, 2018, 01:24 Amir <mhbaghaei at mail.sjtu.edu.cn> wrote:

> I just tried. But it gives me same pattern. After One iteration, it
> diverges. I am now sure some thing is wrong with my setting.
>
> On Aug 18 2018, at 12:59 pm, Justin Chang <jychang48 at gmail.com> wrote:
>
>
> Have you tried SNESVINEWTONRSLS? In my experience, I seem to have
> slightly better luck with that one instead of SNESVINEWTONSSLS
>
> On Sat, Aug 18, 2018 at 12:56 AM Amir <mhbaghaei at mail.sjtu.edu.cn
> <https://link.getmailspring.com/link/1534569654.local-a0d70606-12e6-v1.4.2-f587b7b7@getmailspring.com/0?redirect=mailto%3Amhbaghaei%40mail.sjtu.edu.cn&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D>>
> wrote:
>
> Hi
> I need to apply constraint to primitive variables. I am troubling to set
> up SNESVI. After running the code, I feel SNES is not actually solving.
> After one iteration of SNES, I got DIVERGED_LINESEARCH, with NO changing in
> function norm.
> I think the way I set VI maybe wrong. Sorry for my simple explanation.
> Very thankful for your time.
> Amir
> SNESCreate(PETSC_COMM_WORLD,&snes);
> SNESSetApplicationContext(snes,&user);
> SNESSetDM(snes,user.dm
> <https://link.getmailspring.com/link/1534569654.local-a0d70606-12e6-v1.4.2-f587b7b7@getmailspring.com/1?redirect=http%3A%2F%2Fuser.dm&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D>
> );
> SNESSetFunction(snes,NULL,FormFunction,&user);
> FormInitialSolution(user.X,&user);
> SNESSetSolution(snes,user.X);
> SNESMonitorSet(snes,MySNESMonitor,&user,NULL);
> SNESSetType(snes,SNESVINEWTONSSLS);
> SNESSetNormSchedule(snes, SNES_NORM_ALWAYS);
> SNESVISetVariableBounds(snes,user.XLOWER,user.XUPPER);
> SNESGetLineSearch(snes,&linesearch);
> SNESLineSearchSetType(linesearch,SNESLINESEARCHBT);
> SNESLineSearchSetVIFunctions(linesearch, NULL, SNESNormFunction);
> SNESSetFromOptions(snes);
> SNESSolve(snes,NULL,user.X);
> [image: Open Tracking]
>
> [image: Open Tracking]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180818/68c2eec8/attachment.html>


More information about the petsc-users mailing list