Problem in convergence after upgrade to petsc 3.0.0
Barry Smith
bsmith at mcs.anl.gov
Fri Jan 30 21:38:30 CST 2009
On Jan 30, 2009, at 9:07 PM, Randall Mackie wrote:
> Barry,
>
> The Change Notes for v 3.0.0 state that the ILU preconditioner now
> defaults
> to use shift to prevent zero pivot. This is stated on your web page.
>
Yes this is correct. The manual page incorrectly said that it
used a shift to make positive definite by default.
Note that previously if it found a zero pivot it would stop with an
error (hence I submit that this issue should not be the cause of the
change in convergence.)
Barry
> Randy
>
>
> Barry Smith wrote:
>> Boy the manual pages are messed up. The possible values are true
>> or false (or yes or no). I don't know why the manual
>> page has PETSC_TRUE PETSC_FALSE our mistake.
>> Also it does NOT default to shift for positive definite, though
>> the manual page says it does. It defaults to shift for nonzero pivot,
>> but this won't affect you because it would generate an error with
>> the old version.
>> Barry
>> On Jan 30, 2009, at 8:37 PM, Randall Mackie wrote:
>>> Okay, but can you tell me why when I tried to turn off the
>>> positive definite shift
>>> by adding:
>>>
>>> -pc_factor_shift_positive_definite PETSC_FALSE
>>>
>>> so that I'm consistent with the previous version of Petsc, I got
>>> the following
>>> error:
>>>
>>> Invalid Argument!
>>> Unknown logical value: PETSC_FALSE!
>>>
>>> Thanks, Randy
>>>
>>>
>>> Barry Smith wrote:
>>>> Run the old code with -ksp_view_binary this will create a file
>>>> called binaryoutput; you can then
>>>> run src/ksp/ksp/examples/tutorials/ex10.c using that input file.
>>>> Use the ex10 from the old version
>>>> of PETSc and then the ex10 from the new version. Do they have
>>>> they same convergence?
>>>> Now run the new code (that is build your code with petsc-3.0.)
>>>> with -ksp_view_binary and run that
>>>> binaryoutput file with the old and new ex10 to see what happens.
>>>> Basically there are two possible changes with the change in the
>>>> version:
>>>> 1) the matrix/right hand side has changed or
>>>> 2) the solver has changed to behave differently.
>>>> By running the four cases you can start to get a handle on what
>>>> has actually changed, this will
>>>> lead you to what needs to be investigated next.
>>>> Barry
>>>> On Jan 30, 2009, at 8:01 PM, Randall Mackie wrote:
>>>>> I just downloaded and compiled Petsc 3.0.0-p2, and after making
>>>>> some changes
>>>>> in my code to specify the correct location of the include files,
>>>>> finally
>>>>> got everything to compile okay.
>>>>>
>>>>> Now, I'm trying to run my test problem, and it's not converging.
>>>>> When I say
>>>>> not converging, the first line (with ksp_monitor_true_residual)
>>>>> shows that
>>>>> the true and preconditioned residuals are the same as before,
>>>>> but immediately
>>>>> thereafter, the preconditioned residual fails to go below 1e-8
>>>>> whereas before
>>>>> it quickly went down to 1e-15.
>>>>>
>>>>> The options in my command file are:
>>>>>
>>>>> -ksp_type bcgsl
>>>>> -pc_type bjacobi
>>>>> -sub_pc_type ilu
>>>>> -sub_pc_factor_levels 3
>>>>> -sub_pc_factor_fill 6
>>>>>
>>>>>
>>>>> The only thing I see in the Change notes are that the ILU
>>>>> defaults to shifting
>>>>> so that it's p.d. but I don't see an easy way to turn this off
>>>>> by the command
>>>>> line to see if that's the problem. I tried to do it in my
>>>>> program, but it's unclear
>>>>> if I did that correctly.
>>>>>
>>>>> Any suggestions?
>>>>>
>>>>> Thanks, Randy
More information about the petsc-users
mailing list