[petsc-users] gamg problem
Benoit Fabrèges
benoit.fabreges at inria.fr
Wed Jul 8 09:57:29 CDT 2015
Hi,
thank you for the answer. I tried to change the ksp to cg to estimate
the eigenvalues like you propose but petsc doesn't find the option:
mpirun -n 8 ./ex54 -ne 1023 -ksp_rtol 1e-10 -ksp_monitor_true_residual
-options_left -mg_levels_esteig_ksp_type cg
0 KSP preconditioned resid norm 2.489979017016e+03 true resid norm
9.779947596961e-04 ||r(i)||/||b|| 1.000000000000e+00
1 KSP preconditioned resid norm 5.415647207494e+01 true resid norm
6.738962907374e-02 ||r(i)||/||b|| 6.890592041073e+01
2 KSP preconditioned resid norm 1.646483778031e+01 true resid norm
4.789220846312e-03 ||r(i)||/||b|| 4.896980069505e+00
3 KSP preconditioned resid norm 1.915371795016e+00 true resid norm
4.570471306345e-03 ||r(i)||/||b|| 4.673308584767e+00
4 KSP preconditioned resid norm 1.234057146730e+00 true resid norm
5.812076545460e-03 ||r(i)||/||b|| 5.942850396526e+00
#PETSc Option Table entries:
-ksp_monitor_true_residual
-ksp_rtol 1e-10
-mg_levels_esteig_ksp_type cg
-ne 1023
-options_left
#End of PETSc Option Table entries
There is one unused database option. It is:
Option left: name:-mg_levels_esteig_ksp_type value: cg
I could not find it either by adding -help to get all the possible
options.
By the way, if I reverse the order of the option -options-left and
-mg_levels_esteig_ksp_type cg, it doesn't print the left options at the
end anymore.
Is there something else to change apart from the option
-mg_levels_esteig_ksp_type cg ?
Thanks,
Benoit
On Wed 08 Jul 2015 03:31:32 PM CEST, Mark Adams wrote:
> Sorry for the delay. The problem is that the eigen estimates are bad
> for the Chebyshev smoother. Unfortunately this fails catastrophically.
>
> First, I do not understand why we do not get an error message here:
>
> 13:57 PICell> ~/Codes/petsc/src/ksp/ksp/examples/tutorials$ mpirun -n
> 8 ./ex54 -ne 1023 -ksp_rtol 1e-10 -ksp_monitor_true_residual
> -options_left
> 0 KSP preconditioned resid norm 2.408779787997e+03 true resid norm
> 9.779947596963e-04 ||r(i)||/||b|| 1.000000000000e+00
> 1 KSP preconditioned resid norm 6.605106317291e+01 true resid norm
> 6.550622855055e-02 ||r(i)||/||b|| 6.698014268593e+01
> 2 KSP preconditioned resid norm 2.105905914541e+01 true resid norm
> 5.536477156386e-03 ||r(i)||/||b|| 5.661049920253e+00
> 3 KSP preconditioned resid norm 2.775390521485e+00 true resid norm
> 1.822171753713e-03 ||r(i)||/||b|| 1.863171285579e+00
> 4 KSP preconditioned resid norm 6.367933585867e-01 true resid norm
> 2.173992967507e-03 ||r(i)||/||b|| 2.222908605545e+00
> #PETSc Option Table entries:
> -ksp_monitor_true_residual
> -ksp_rtol 1e-10
> -ne 1023
> -options_left
> #End of PETSc Option Table entries
> There are no unused options.
>
> It just stops. What is going on here?????
>
> A problem is that GMRES is the default it is not accuare. CG is much
> better. I will add this to all tests (54, 55, 56) that use Cheby.
> Here is what we get with CG:
>
> 14:12 PICell> ~/Codes/petsc/src/ksp/ksp/examples/tutorials$ mpirun -n
> 8 ./ex54 -ne 1023 -ksp_rtol 1e-10 -ksp_monitor_true_residual
> -mg_levels_esteig_ksp_type cg
> 0 KSP preconditioned resid norm 2.397141111771e+03 true resid norm
> 9.779947596963e-04 ||r(i)||/||b|| 1.000000000000e+00
> 1 KSP preconditioned resid norm 6.398367771703e+01 true resid norm
> 5.969698581458e-02 ||r(i)||/||b|| 6.104018986064e+01
> 2 KSP preconditioned resid norm 2.025487152015e+01 true resid norm
> 4.795534114089e-03 ||r(i)||/||b|| 4.903435388118e+00
> 3 KSP preconditioned resid norm 2.693141357521e+00 true resid norm
> 1.392786125856e-03 ||r(i)||/||b|| 1.424124323824e+00
> 4 KSP preconditioned resid norm 6.147511674674e-01 true resid norm
> 2.801964778489e-04 ||r(i)||/||b|| 2.865010012281e-01
> 5 KSP preconditioned resid norm 1.133515586579e-01 true resid norm
> 3.760895077288e-05 ||r(i)||/||b|| 3.845516594031e-02
> 6 KSP preconditioned resid norm 1.169295614319e-02 true resid norm
> 5.672568123760e-06 ||r(i)||/||b|| 5.800202984239e-03
> 7 KSP preconditioned resid norm 1.281609546752e-03 true resid norm
> 8.103035520325e-07 ||r(i)||/||b|| 8.285356787434e-04
> 8 KSP preconditioned resid norm 1.898415766718e-04 true resid norm
> 1.250723051310e-07 ||r(i)||/||b|| 1.278864778067e-04
> 9 KSP preconditioned resid norm 3.325790135426e-05 true resid norm
> 2.304415060174e-08 ||r(i)||/||b|| 2.356265243067e-05
> 10 KSP preconditioned resid norm 8.224698701048e-06 true resid norm
> 4.786148212120e-09 ||r(i)||/||b|| 4.893838299917e-06
> 11 KSP preconditioned resid norm 1.224414108364e-06 true resid norm
> 7.170267325093e-10 ||r(i)||/||b|| 7.331600966164e-07
> 12 KSP preconditioned resid norm 1.760480053719e-07 true resid norm
> 1.005681798001e-10 ||r(i)||/||b|| 1.028310006807e-07
>
> So all is well.
>
> Thanks for pointing this out.
> Mark
>
> On Thu, Jul 2, 2015 at 5:38 PM, Benoit Fabrèges
> <benoit.fabreges at inria.fr <mailto:benoit.fabreges at inria.fr>> wrote:
>
> Dear PETSc developers,
> I updated from 3.4 to 3.6 and I have a strange behavior with the
> GAMG preconditioner. I am running ex54 with the following options:
> -ne 1023 -ksp_rtol 1e-10 -ksp_monitor_true_residual -options_left
>
> I don't have the same behavior depending on the number of process
> used. It is for example not converging with 8 and 12 process with
> the reason KSP_DIVERGED_INDEFINITE_PC but it is working fine in
> other cases (I didn't try with more than 12 process).
>
> Do you have the same behavior ? It is working fine with 3.4 version.
>
> Best,
>
> Benoit
>
>
>
>
More information about the petsc-users
mailing list