<div dir="ltr"><font face="arial, helvetica, sans-serif" style="font-size:15.5555562973022px">Hello Jed,</font><div style="font-family:arial,sans-serif;font-size:15.5555562973022px"><font face="arial, helvetica, sans-serif"><br></font></div><div style="font-family:arial,sans-serif;font-size:15.5555562973022px"><font face="arial, helvetica, sans-serif">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.</font></div><div class="" style="font-family:arial,sans-serif;font-size:15.5555562973022px"><div id=":114" class="" tabindex="0"><img class="" src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 20, 2014 at 8:38 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Que Cat <<a href="mailto:quecat001@gmail.com">quecat001@gmail.com</a>> writes:<br>
<br>
> Hello Petsc-users,<br>
><br>
> I have to solve a problem in which the jacobian is non-smooth ( incoporates<br>
> the heaviside step function behavior from the derivative of F(x) ). Could<br>
> you recommend any type of nonlinear solver in Petsc which handles this<br>
> issue ?<br>
<br>
</div></div>You can reformulate as a variational inequality and use SNESVI.  Be<br>
warned that it's not for the faint of heart and it's less mature than<br>
the "smooth" solvers.<br>
<br>
If this nonsmoothness is absolutely fundamental to your physics, like<br>
contact or condensation, then you should expect to invest significant<br>
effort in finding the best formulation.  If the nonsmoothness is not<br>
essential, you should put that effort into reformulating to avoid or<br>
lessen the nonsmoothness.<br>
</blockquote></div><br></div>