Thanks very much! I understand.
I made a test. If the tolerance is large, PETSc says "converged" but the
result is "incorrect" for my use
due to the tolerance. While the tolerance is tight, when the rtol reaches a
certain value, the result is
not changing and it is not equal to the true value. And PETSc says "diverged".
As Jed said, I need to either
increase the number of iterations or use a better preconditioner. And I think
the latter is a better way in
my work.
Thanks.
>At 2012-07-11 01:45:28,"Mark F. Adams" <mark.adams at columbia.edu> wrote:
>On Jul 10, 2012, at 10:51 AM, w_ang_temp wrote:
> In my opinion, convergence in PETSc is decided by rtol, atol and dtol. The
> divergent hints just show >that
>in the solving process it does not satisfy the rule. The "right" result may be
>different from the true result >at
>the several back decimal places(I mean that they may be the same with four
>decimal places but may be >not
>
>the same with more decimal places).
>No, If you have an rtol=1.e-30 and atol=1.e-300 then your solution will
>probably be correct to all decimal places even >though PETSc will say you
>"diverged". You can't be too sure about how many digits of accuracy you have
>with >simple linear algebra arguments unless your system is extremely well
>conditioned.
>As Jed said if you are doing 10000 iterations are happy with the solution then
>your tolerances are probably too >tight. Look at the residual history and see
>if you are stagnating.
> Is it right?
>At 2012-07-08 00:28:54,"Mark F. Adams" <mark.adams at columbia.edu> wrote:
>It sounds like your -ksp_rtol is too small. Experiment with looser tolerances
>until your solution is >not "correct" to see >how much accuracy you want.
>On Jul 7, 2012, at 12:15 PM, w_ang_temp wrote:
> Maybe it is a problem of mathematical concept. I compare the result with
> the true >result which is
>computed and validated by other tools. I think it is right if I get the same
>result.
>>? 2012-07-08 00:03:21?"Matthew Knepley" <knepley at gmail.com> ???
>>On Sat, Jul 7, 2012 at 10:00 AM, w_ang_temp <w_ang_temp at 163.com> wrote:
>>Hello,
>> I am a little puzzled that I get the right result while the converged
>> reason says that 'Linear solve >>did not
>>converge due to DIVERGED_ITS iterations 10000'. This infomation means that
>>the >>iterations >reach >the maximum
>>iterations. But the result is right now. So why says 'did not converge'? Can
>>I think >>that the result is >>right and
>>can be used?
>>Obviously, your definition of "right" is not the same as the convergence
>>tolerances >>you are using.
>> Matt
>> Thanks.
>> Jim
--
>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
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120711/7200307f/attachment-0001.html>