[petsc-users] Problems about GMRES restart and Scaling
Mark Adams
mfadams at lbl.gov
Wed Mar 20 09:44:11 CDT 2019
On Wed, Mar 20, 2019 at 8:30 AM Yingjie Wu via petsc-users <
petsc-users at mcs.anl.gov> wrote:
> Thank you very much for your reply.
> I think my statement may not be very clear. I want to know why the linear
> residual increases at gmres restart.
>
GMRES combines the functions in the Krylov subspace that minimize the
residual, by design (and this is provable). With restart you are not doing
pure GMRES and the proof is gone. So if you have restart of 50 and do 51
iterations then the residual can not be lower than if you did 51 iterations
of GMRES. I don't think you can prove anything about what the residual will
do after a restart other than it will not go down more than it would
without restart.
> I think I should have no problem with the residual evaluation function,
> because after setting a large gmres restart, the results are also in line
> with expectations.
> Thanks,
> Yingjie
>
> Matthew Knepley <knepley at gmail.com> 于2019年3月20日周三 下午8:00写道:
>
>> On Wed, Mar 20, 2019 at 6:53 AM Yingjie Wu via petsc-users <
>> petsc-users at mcs.anl.gov> wrote:
>>
>>> Dear PETSc developers:
>>> Hi,
>>> Recently, I used PETSc to solve a non-linear PDEs for thermodynamic
>>> problems. In the process of solving, I found the following two phenomena,
>>> hoping to get some help and suggestions.
>>>
>>> 1. Because my problem involves a lot of physical parameters, it needs to
>>> call a series of functions, and can not analytically construct Jacobian
>>> matrix, so I use - snes_mf_operator to solve it, and give an approximate
>>> Jacobian matrix as a preconditioner. Because of the large dimension of the
>>> problem and the magnitude difference of the physical variables involved, it
>>> is found that the linear step residuals will increase at each restart
>>> (default 30th linear step) . This problem can be solved by setting a large
>>> number of restart steps. I would like to ask the reasons for this
>>> phenomenon? What knowledge or articles should I learn if I want to find out
>>> this problem?
>>>
>>
>> Make sure you non-dimensionalize the problem first, so that any scale
>> differences are real and not the result of units.
>>
>>
>>> 2. In my problem model, there are many physical fields (variables are
>>> realized by finite difference method), and the magnitude of variables
>>> varies greatly. Is there any Scaling interface or function in Petsc?
>>>
>>
>> That is what Jacobi does.
>>
>> Thanks,
>>
>> Matt
>>
>>
>>> Thanks,
>>> Yingjie
>>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>> https://www.cse.buffalo.edu/~knepley/
>> <http://www.cse.buffalo.edu/~knepley/>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190320/dbece3d4/attachment.html>
More information about the petsc-users
mailing list