[petsc-users] Nonlinear solver for non-smooth jacobian

Que Cat quecat001 at gmail.com
Wed Oct 22 16:03:27 CDT 2014


Hello Jed,

Thank for the information. I would take your first advise. Does SNESVI have
the same functionality as TAO complementary solver? What do you mean by
reformulating "You can reformulate as a variational inequality and use
SNESVI.?". The Petsc manual does not provide much detail on SNESVI. Do I
just set the snes type to SNESVI and call SNESVISetVariableBounds in which
the lower and upper bounds on variables are set to PETSC_NINFINITY and
INFINITY. Thanks.

On Mon, Oct 20, 2014 at 8:38 PM, Jed Brown <jed at jedbrown.org> wrote:

> Que Cat <quecat001 at gmail.com> writes:
>
> > Hello Petsc-users,
> >
> > I have to solve a problem in which the jacobian is non-smooth (
> incoporates
> > the heaviside step function behavior from the derivative of F(x) ). Could
> > you recommend any type of nonlinear solver in Petsc which handles this
> > issue ?
>
> You can reformulate as a variational inequality and use SNESVI.  Be
> warned that it's not for the faint of heart and it's less mature than
> the "smooth" solvers.
>
> If this nonsmoothness is absolutely fundamental to your physics, like
> contact or condensation, then you should expect to invest significant
> effort in finding the best formulation.  If the nonsmoothness is not
> essential, you should put that effort into reformulating to avoid or
> lessen the nonsmoothness.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141022/06c7cf54/attachment-0001.html>


More information about the petsc-users mailing list