Problem in convergence after upgrade to petsc 3.0.0
Randall Mackie
rlmackie862 at gmail.com
Fri Jan 30 21:07:04 CST 2009
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.
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