Hi,

For these problems, how large are they?  And are they linear or nonlinear?  
What I can do is use some fancier tools to help with what is going on with 
the solvers in certain cases.

For Barry's question, the matrix in the SS solver is a diagonal matrix plus
a column scaling of the Jacobian.

Note: semismooth, reduced space and interior point methods mainly work for
problems that are strictly monotone.  Finding out what is going on with
your problems with some additional diagnostics might yield some 
insights.

Todd.

> On Oct 24, 2019, at 3:36 AM, Smith, Barry F. <[email protected]> wrote:
> 
> 
> See bottom
> 
> 
>> On Oct 14, 2019, at 1:12 PM, Justin Chang via petsc-users 
>> <[email protected]> wrote:
>> 
>> It might depend on your application, but for my stuff on maximum principles 
>> for advection-diffusion, I found RS to be much better than SS. Here’s the 
>> paper I wrote documenting the performance numbers I came across
>> 
>> https://www.sciencedirect.com/science/article/pii/S0045782516316176
>> 
>> Or the arXiV version:
>> 
>> https://arxiv.org/pdf/1611.08758.pdf
>> 
>> 
>> On Mon, Oct 14, 2019 at 1:07 PM Alexander Lindsay via petsc-users 
>> <[email protected]> wrote:
>> I've been working on mechanical contact in MOOSE for a while, and it's led 
>> to me to think about general inequality constraint enforcement. I've been 
>> playing around with both `vinewtonssls` and `vinewtonrsls`. In Benson's and 
>> Munson's Flexible Complementarity Solvers paper, they were able to solve 
>> 73.7% of their problems with SS and 65.5% with RS which led them to conclude 
>> that the SS method is generally more robust.  We have had at least one 
>> instance where a MOOSE user reported an order of magnitude reduction in 
>> non-linear iterations when switching from SS to RS. Moreover, when running 
>> the problem described in this issue, I get these results:
>> 
>> num_elements = 100
>> SS nl iterations = 53
>> RS nl iterations = 22
>> 
>> num_elements = 1000
>> SS nl iterations = 123
>> RS nl iterations = 140
>> 
>> num_elements = 10000
>> SS: fails to converge within 50 nl iterations during the second time step 
>> whether using a `basic` or `bt` line search
>> RS: fails to converge within 50 nl iterations during the second time step 
>> whether using a `basic` or `bt` line search (although I believe 
>> `vinewtonrsls` performs a line-search that is guaranteed to keep the degrees 
>> of freedom within their bounds)
>> 
>> So depending on the number of elements, it appears that either SS or RS may 
>> be more performant. I guess since I can get different relative performance 
>> with even the same PDE, it would be silly for me to ask for guidance on when 
>> to use which? In the conclusion of Benson's and Munson's paper, they mention 
>> using mesh sequencing for generating initial guesses on finer meshes. Does 
>> anyone know whether there have been any publications using PETSc/TAO and 
>> mesh sequencing for solving large VI problems?
>> 
>> A related question: what needs to be done to allow SS to run with 
>> `-snes_mf_operator`? RS already appears to support the option.
> 
>   This may not make sense. Is the operator used in the SS solution process 
> derivable from the function that is being optimized with the constraints or 
> some strange scaled beast?
>> 
> 

Reply via email to