[petsc-users] Extending PETSC-SNES-VI to linear inequality constraints,

Jed Brown jedbrown at mcs.anl.gov
Mon Dec 23 22:54:42 CST 2013


subramanya sadasiva <potaman at outlook.com> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131223/1763442a/attachment.pgp>


More information about the petsc-users mailing list