Thanks Jed. Being able to apply other pointwise constraints will be really
helpful, even through implementation of a custom project function .Augmented
lagrangian for the one extra constraint really ruins my convergence. Subramanya
> From: [email protected]
> To: [email protected]; [email protected]
> CC: [email protected]
> Subject: RE: [petsc-users] Extending PETSC-SNES-VI to linear inequality
> constraints,
> Date: Mon, 23 Dec 2013 21:54:42 -0700
>
> subramanya sadasiva <[email protected]> writes:
>
> > Hi Jed, I was just looking through the SNES documentation, I came
> > across SNESLineSearchSetVIFunctions. Is there an example of the use of
> > this function to implement and arbitrary projection? Can I use this
> > to implement a function that projects the solution back into the
> > feasible region? I am assuming this should be able to handle simple
> > linear inequality constraints of the type that I have, which can be
> > applied pointwise.
>
> Hmm, that interface is currently used by SNESVI *implementations* to
> communicate information to the SNESLineSearch object. So while it may
> work to provide a custom projection, the current code will overwrite it,
> e.g., SNESSolve_VINEWTONRSLS in virs.c:
>
> ierr = SNESLineSearchSetVIFunctions(snes->linesearch,
> SNESVIProjectOntoBounds, SNESVIComputeInactiveSetFnorm);CHKERRQ(ierr);
>
> Maybe Peter has further thoughts about adding other constraints to the
> SNESVI interface. The restriction to simple bound constraints is a
> significant impediment, preventing its use for elastic contact and other
> applications.