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 <[email protected]> wrote: > Que Cat <[email protected]> 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. >
