[petsc-dev] Semi-smooth VI solver and matrix-free SNES

Dmitry Karpeyev karpeev at mcs.anl.gov
Fri Aug 1 10:02:00 CDT 2014

Currently the semi-smooth VI solver (VINEWTONSSLS) doesn't play well with
the matrix-free SNES (aka JFNK).  This is partly because the calculation of
the merit function gradient requires the action of the transpose of the
Jacobian, which isn't implemented for MATMFFD.  Presumably, the merit
function would be used in a fancy (Armijo?) line search as described here:
http://arxiv.org/abs/math/0307305.  However, it appears that only a basic
line search is performed and the merit function gradient isn't used.
 Should the merit gradient calculation be taken out?

This fix might not be enough to make the SS method work with JFNK, however:
the line search
there isn't projected, so MatMFFD might have an infeasible base at some
iterates.  This might break residual evaluation (e.g., due to negative
densities). More importantly, however, even if the intermediate iterates
were feasible, the increments used in the MatMFFD differencing algorithm
might not be, and there is really no way around it with something like
projection without breaking the semantics of MatMult.  Is VINEWTONSSLS
unusable with JFNK in its current form?  In any event, should the Armijo
line search be implemented?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140801/69af6745/attachment.html>

More information about the petsc-dev mailing list