Problem in convergence after upgrade to petsc 3.0.0
Randall Mackie
rlmackie862 at gmail.com
Fri Jan 30 23:11:38 CST 2009
Barry,
I've run ex10 from 2.3.3-p11 and from 3.0.0-p2 on the same binaryoutput
using the same parameters input to ex10 (ksp=bcgsl and pc=bjacobi, sub_pc=ilu)
and the convergence is different. Note, this is the binaryoutput from the
v 2.3.3-p11.
Here is the convergence for ex10 from 2.3.3-p11:
[rmackie ~/SPARSE/PETsc/petsc-2.3.3-p11/src/ksp/ksp/examples/tutorials] ./cmd_test
0 KSP preconditioned resid norm 2.434324107505e-05 true resid norm 3.334159901684e-02 ||Ae||/||Ax|| 1.000000000000e+00
2 KSP preconditioned resid norm 4.170258940641e-07 true resid norm 1.624814448703e+04 ||Ae||/||Ax|| 4.873234927583e+05
4 KSP preconditioned resid norm 8.984963207977e-08 true resid norm 2.848180153976e+04 ||Ae||/||Ax|| 8.542422193181e+05
6 KSP preconditioned resid norm 3.526062648105e-08 true resid norm 1.884591980560e+04 ||Ae||/||Ax|| 5.652374319564e+05
8 KSP preconditioned resid norm 1.241153849592e-08 true resid norm 1.045401827970e+04 ||Ae||/||Ax|| 3.135427990247e+05
10 KSP preconditioned resid norm 5.141701606491e-09 true resid norm 5.371087738119e+03 ||Ae||/||Ax|| 1.610926859088e+05
12 KSP preconditioned resid norm 2.591522726108e-09 true resid norm 3.519633363751e+03 ||Ae||/||Ax|| 1.055628244456e+05
14 KSP preconditioned resid norm 1.452300847705e-09 true resid norm 2.509415501645e+03 ||Ae||/||Ax|| 7.526380184636e+04
16 KSP preconditioned resid norm 8.978785776773e-10 true resid norm 1.872610647707e+03 ||Ae||/||Ax|| 5.616439231845e+04
18 KSP preconditioned resid norm 5.743601707920e-10 true resid norm 1.266421550645e+03 ||Ae||/||Ax|| 3.798322779917e+04
20 KSP preconditioned resid norm 3.678705188041e-10 true resid norm 7.536064149571e+02 ||Ae||/||Ax|| 2.260258767363e+04
22 KSP preconditioned resid norm 2.687340247327e-10 true resid norm 5.533061905955e+02 ||Ae||/||Ax|| 1.659507062981e+04
24 KSP preconditioned resid norm 2.142070779181e-10 true resid norm 4.684485692902e+02 ||Ae||/||Ax|| 1.404997309978e+04
26 KSP preconditioned resid norm 1.927583902818e-10 true resid norm 6.146993326148e+02 ||Ae||/||Ax|| 1.843640829296e+04
28 KSP preconditioned resid norm 1.330050553611e-10 true resid norm 4.217422387701e+02 ||Ae||/||Ax|| 1.264913055181e+04
30 KSP preconditioned resid norm 1.125778226987e-10 true resid norm 3.058702983977e+02 ||Ae||/||Ax|| 9.173834111652e+03
32 KSP preconditioned resid norm 8.786382414490e-11 true resid norm 2.001904013306e+02 ||Ae||/||Ax|| 6.004223169665e+03
34 KSP preconditioned resid norm 6.396029789854e-11 true resid norm 1.761414838880e+02 ||Ae||/||Ax|| 5.282934504701e+03
36 KSP preconditioned resid norm 5.462116905743e-11 true resid norm 1.540860953921e+02 ||Ae||/||Ax|| 4.621436881724e+03
38 KSP preconditioned resid norm 5.410616131680e-11 true resid norm 1.910613970561e+02 ||Ae||/||Ax|| 5.730420936308e+03
40 KSP preconditioned resid norm 7.946054076400e-11 true resid norm 2.743761797072e+02 ||Ae||/||Ax|| 8.229244781230e+03
42 KSP preconditioned resid norm 3.519925335531e-11 true resid norm 1.022381658728e+02 ||Ae||/||Ax|| 3.066384603244e+03
42 KSP preconditioned resid norm 3.519925335531e-11 true resid norm 1.022381658728e+02 ||Ae||/||Ax|| 3.066384603244e+03
Number of iterations = 42
Here is the convergence for ex10 from 3.0.0-p2:
rmackie ~/SPARSE/PETsc/petsc-3.0.0-p2/src/ksp/ksp/examples/tutorials] ./cmd_test
0 KSP preconditioned resid norm 2.434324107505e-05 true resid norm 3.334159901684e-02 ||Ae||/||Ax|| 1.000000000000e+00
2 KSP preconditioned resid norm 4.798562862178e-07 true resid norm 1.642225014976e+04 ||Ae||/||Ax|| 4.925453677690e+05
4 KSP preconditioned resid norm 1.587355624039e-07 true resid norm 3.502938376404e+04 ||Ae||/||Ax|| 1.050620989904e+06
6 KSP preconditioned resid norm 8.015528577103e-08 true resid norm 2.536595627800e+04 ||Ae||/||Ax|| 7.607900348506e+05
8 KSP preconditioned resid norm 3.039306325625e-08 true resid norm 1.253662335500e+04 ||Ae||/||Ax|| 3.760054623856e+05
10 KSP preconditioned resid norm 1.729327127129e-08 true resid norm 8.080934369743e+03 ||Ae||/||Ax|| 2.423679309940e+05
12 KSP preconditioned resid norm 1.039787850500e-08 true resid norm 4.777791224801e+03 ||Ae||/||Ax|| 1.432982030162e+05
14 KSP preconditioned resid norm 5.025780191774e-09 true resid norm 3.147651686153e+03 ||Ae||/||Ax|| 9.440614064618e+04
16 KSP preconditioned resid norm 3.311781967950e-09 true resid norm 2.688053658600e+03 ||Ae||/||Ax|| 8.062161797467e+04
18 KSP preconditioned resid norm 5.621276662229e-09 true resid norm 3.098810918425e+03 ||Ae||/||Ax|| 9.294128085637e+04
20 KSP preconditioned resid norm 1.184533040734e-08 true resid norm 5.469874887175e+03 ||Ae||/||Ax|| 1.640555656737e+05
22 KSP preconditioned resid norm 2.494642590524e-08 true resid norm 1.003335643955e+04 ||Ae||/||Ax|| 3.009260723962e+05
24 KSP preconditioned resid norm 5.136091311727e-08 true resid norm 1.828432513826e+04 ||Ae||/||Ax|| 5.483937686680e+05
26 KSP preconditioned resid norm 9.627430082715e-08 true resid norm 1.175348501769e+04 ||Ae||/||Ax|| 3.525171366783e+05
28 KSP preconditioned resid norm 6.409712928943e-08 true resid norm 5.524687582334e+03 ||Ae||/||Ax|| 1.656995388716e+05
30 KSP preconditioned resid norm 6.013091685526e-07 true resid norm 1.371019320496e+04 ||Ae||/||Ax|| 4.112038297274e+05
32 KSP preconditioned resid norm 7.026562454712e-07 true resid norm 1.053982255306e+04 ||Ae||/||Ax|| 3.161162890759e+05
34 KSP preconditioned resid norm 4.086784421188e-07 true resid norm 5.503180350963e+03 ||Ae||/||Ax|| 1.650544818856e+05
36 KSP preconditioned resid norm 1.651444280250e-06 true resid norm 1.984011183420e+04 ||Ae||/||Ax|| 5.950557987388e+05
38 KSP preconditioned resid norm 1.058319572456e-06 true resid norm 1.403784173466e+04 ||Ae||/||Ax|| 4.210308488073e+05
40 KSP preconditioned resid norm 4.341084013969e-05 true resid norm 3.837773616917e+05 ||Ae||/||Ax|| 1.151046659453e+07
42 KSP preconditioned resid norm 4.190225826231e-07 true resid norm 6.768382935039e+03 ||Ae||/||Ax|| 2.030011497535e+05
44 KSP preconditioned resid norm 1.054511038261e-06 true resid norm 4.966771429542e+03 ||Ae||/||Ax|| 1.489662036615e+05
46 KSP preconditioned resid norm 5.351004248086e-07 true resid norm 5.112611747101e+03 ||Ae||/||Ax|| 1.533403285343e+05
48 KSP preconditioned resid norm 7.104477128923e-07 true resid norm 5.478002736962e+03 ||Ae||/||Ax|| 1.642993407183e+05
50 KSP preconditioned resid norm 1.162050733932e-06 true resid norm 5.395393687747e+03 ||Ae||/||Ax|| 1.618216836278e+05
When I output binaryoutput using my code compiled under 3.0.0-p2 and run ex10, I get exactly
the same output as above. In other words, the matrix/rhs are exactly the same (as they
should be since I didn't change anything), and something about 3.0.0-p2 using BCGSL and ILU
is not working correctly.
I changed ksptype to gmres, and I get the same convergence for both 2.3.3-p11 and for
3.0.0-p2. Therefore, I conclude that bcgsl (PCBCGSL) is not working correctly under 3.0.0-p2.
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