John,

I had dome diagonal scaling stuff in my input which seemed to mess things up.  
I don't understand that.  With your hypre parameters I get

     Complexity:    grid = 1.408828
                operator = 1.638900
                   cycle = 3.277856

  0 KSP preconditioned resid norm 2.246209947341e+06 true resid norm 
2.621342052504e+03 ||r(i)||/||b|| 1.000000000000e+00
  2 KSP preconditioned resid norm 6.591054866442e+04 true resid norm 
5.518411654910e+03 ||r(i)||/||b|| 2.105185643224e+00
  4 KSP preconditioned resid norm 2.721184454964e+03 true resid norm 
1.937153214559e+03 ||r(i)||/||b|| 7.389929188022e-01
  6 KSP preconditioned resid norm 2.942012838854e+02 true resid norm 
5.614763956317e+01 ||r(i)||/||b|| 2.141942502679e-02
  8 KSP preconditioned resid norm 2.143421596353e+01 true resid norm 
5.306843482279e+00 ||r(i)||/||b|| 2.024475774617e-03
 10 KSP preconditioned resid norm 3.689048280659e+00 true resid norm 
2.482945300243e-01 ||r(i)||/||b|| 9.472038560826e-05
Linear solve converged due to CONVERGED_RTOL iterations 10

with ML I get 18 iterations but if I add -pc_ml_Threshold .01 I get it to 12:

        -@${MPIEXEC} -n 1 ./ex10 -f ./binaryoutput -pc_type ml -ksp_type bcgsl 
-pc_gamg_coarse_eq_limit 10 -pc_gamg_agg_nsmooths 1 -pc_gamg_sym_graph 
-mg_coarse_ksp_type richardson -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8 
-ksp_monitor_true_residual -pc_gamg_verbose 2 -ksp_converged_reason 
-options_left -mg_levels_ksp_type richardson -mg_levels_pc_type sor 
-pc_ml_maxNlevels 5 -pc_ml_Threshold .01 

  0 KSP preconditioned resid norm 1.987800354481e+06 true resid norm 
2.621342052504e+03 ||r(i)||/||b|| 1.000000000000e+00
  2 KSP preconditioned resid norm 4.845840795806e+04 true resid norm 
9.664923970856e+03 ||r(i)||/||b|| 3.687013666005e+00
  4 KSP preconditioned resid norm 4.086337251141e+03 true resid norm 
1.111442892542e+03 ||r(i)||/||b|| 4.239976585582e-01
  6 KSP preconditioned resid norm 1.496117919395e+03 true resid norm 
4.243682354730e+02 ||r(i)||/||b|| 1.618896835946e-01
  8 KSP preconditioned resid norm 1.019912311314e+02 true resid norm 
6.165476121107e+01 ||r(i)||/||b|| 2.352030371320e-02
 10 KSP preconditioned resid norm 1.282179114927e+01 true resid norm 
4.434755525096e+00 ||r(i)||/||b|| 1.691788189512e-03
 12 KSP preconditioned resid norm 2.801790417375e+00 true resid norm 
4.876299030996e-01 ||r(i)||/||b|| 1.860229963632e-04
Linear solve converged due to CONVERGED_RTOL iterations 12

and gamg:

        -@${MPIEXEC} -n 1 ./ex10 -f ./binaryoutput -pc_type gamg -ksp_type 
bcgsl -pc_gamg_coarse_eq_limit 10 -pc_gamg_agg_nsmooths 1 -pc_gamg_sym_graph 
-mg_coarse_ksp_type richardson -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8 
-ksp_monitor_true_residual -pc_gamg_verbose 2 -ksp_converged_reason 
-options_left -mg_levels_ksp_type richardson -mg_levels_pc_type sor 

        [0]PCSetUp_GAMG 5 levels, grid compexity = 1.2916
  0 KSP preconditioned resid norm 6.288750978813e+06 true resid norm 
2.621342052504e+03 ||r(i)||/||b|| 1.000000000000e+00
  2 KSP preconditioned resid norm 3.009668424006e+04 true resid norm 
4.394363256786e+02 ||r(i)||/||b|| 1.676379186222e-01
  4 KSP preconditioned resid norm 2.079756553216e+01 true resid norm 
5.094584609440e+00 ||r(i)||/||b|| 1.943502414946e-03
  6 KSP preconditioned resid norm 4.323447593442e+00 true resid norm 
3.146656048880e-01 ||r(i)||/||b|| 1.200398874261e-04
Linear solve converged due to CONVERGED_RTOL iterations 6

So this looks pretty different from what you are getting.  Is your code 
hardwiring anything?  Can you reproduce my results with ksp ex10.c?

Actually, I just realized that I am using petsc-dev.  What version of PETSc are 
you using?

Also, here is the makefile that I use to run this jobs:

ALL: runex10

include ${PETSC_DIR}/conf/variables
include ${PETSC_DIR}/conf/rules

runex10:
        -@${MPIEXEC} -n 1 ./ex10 -f ./binaryoutput -pc_type gamg -ksp_type 
bcgsl -pc_gamg_coarse_eq_limit 10 -pc_gamg_agg_nsmooths 1 -pc_gamg_sym_graph 
-mg_coarse_ksp_type richardson -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8 
-ksp_monitor_true_residual -pc_gamg_verbose 2 -ksp_converged_reason 
-options_left -mg_levels_ksp_type richardson -mg_levels_pc_type sor 
-pc_ml_maxNlevels 5 -pc_ml_Threshold .01 -pc_hypre_boomeramg_relax_type_coarse 
symmetric-SOR/Jacobi -pc_hypre_boomeramg_grid_sweeps_coarse 4 
-pc_hypre_boomeramg_coarsen_type PMIS 

You just need to run 'make ex10' and then 'make -f this-file'.

Mark

On Mar 20, 2012, at 2:45 PM, John Mousel wrote:

> Mark,
> 
> I run ML with the following options. 
> 
> -ksp_type bcgsl -pc_type ml -pc_ml_maxNlevels 5 -mg_coarse_ksp_type 
> richardson -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8 -ksp_monitor 
> -ksp_view
> 
> Note the lack of scaling. For some reason scaling seems to mess with ML.
> As you can see below, ML converges very nicely.
> 
> With regards to HYPRE, this one took a bit of work to get convergence. The 
> options that work are:
> 
> -ksp_type bcgsl -pc_type hypre -pc_hypre_type boomeramg 
> -ksp_monitor_true_residual -pc_hypre_boomeramg_relax_type_coarse 
> symmetric-SOR/Jacobi -pc_hypre_boomeramg_grid_sweeps_coarse 4  
> -pc_hypre_boomeramg_coarsen_type PMIS
> 
> The problem is that neither of ML or HYPRE seem to scale at all.
> 
> ML output:
>   0 KSP preconditioned resid norm 1.538968715109e+06 true resid norm 
> 2.621342052504e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 1.263129058693e+05 true resid norm 
> 1.096298699671e+04 ||r(i)||/||b|| 4.182203915830e+00
>   4 KSP preconditioned resid norm 2.277379585186e+04 true resid norm 
> 2.999721659930e+03 ||r(i)||/||b|| 1.144345758717e+00
>   6 KSP preconditioned resid norm 4.766504457975e+03 true resid norm 
> 6.733421603796e+02 ||r(i)||/||b|| 2.568692474667e-01
>   8 KSP preconditioned resid norm 2.139020425406e+03 true resid norm 
> 1.360842101250e+02 ||r(i)||/||b|| 5.191394613876e-02
>  10 KSP preconditioned resid norm 6.621380459944e+02 true resid norm 
> 1.522758800025e+02 ||r(i)||/||b|| 5.809080881188e-02
>  12 KSP preconditioned resid norm 2.973409610262e+01 true resid norm 
> 1.161046206089e+01 ||r(i)||/||b|| 4.429205280479e-03
>  14 KSP preconditioned resid norm 2.532665482573e+00 true resid norm 
> 2.557425874623e+00 ||r(i)||/||b|| 9.756170020543e-04
>  16 KSP preconditioned resid norm 2.375585214826e+00 true resid norm 
> 2.441783841415e+00 ||r(i)||/||b|| 9.315014189327e-04
>  18 KSP preconditioned resid norm 1.436338060675e-02 true resid norm 
> 1.305304828818e-02 ||r(i)||/||b|| 4.979528816437e-06
>  20 KSP preconditioned resid norm 4.088293864561e-03 true resid norm 
> 9.841243465634e-04 ||r(i)||/||b|| 3.754276728683e-07
>  22 KSP preconditioned resid norm 6.140822977383e-04 true resid norm 
> 1.682184150207e-04 ||r(i)||/||b|| 6.417263052718e-08
>  24 KSP preconditioned resid norm 2.685415483430e-05 true resid norm 
> 1.065041542336e-05 ||r(i)||/||b|| 4.062962867890e-09
>  26 KSP preconditioned resid norm 1.620776166579e-06 true resid norm 
> 9.563268703474e-07 ||r(i)||/||b|| 3.648233809982e-10
>  28 KSP preconditioned resid norm 2.823291105652e-07 true resid norm 
> 7.705418741178e-08 ||r(i)||/||b|| 2.939493811507e-11
> KSP Object:(pres_) 4 MPI processes
>   type: bcgsl
>     BCGSL: Ell = 2
>     BCGSL: Delta = 0
>   maximum iterations=5000
>   tolerances:  relative=1e-12, absolute=1e-50, divergence=10000
>   left preconditioning
>   has attached null space
>   using nonzero initial guess
>   using PRECONDITIONED norm type for convergence test
> PC Object:(pres_) 4 MPI processes
>   type: ml
>     MG: type is MULTIPLICATIVE, levels=5 cycles=v
>       Cycles per PCApply=1
>       Using Galerkin computed coarse grid matrices
>   Coarse grid solver -- level -------------------------------
>     KSP Object:    (pres_mg_coarse_)     4 MPI processes
>       type: richardson
>         Richardson: damping factor=1
>       maximum iterations=1, initial guess is zero
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       using PRECONDITIONED norm type for convergence test
>     PC Object:    (pres_mg_coarse_)     4 MPI processes
>       type: sor
>         SOR: type = local_symmetric, iterations = 8, local iterations = 1, 
> omega = 1
>       linear system matrix = precond matrix:
>       Matrix Object:       4 MPI processes
>         type: mpiaij
>         rows=4, cols=4
>         total: nonzeros=16, allocated nonzeros=16
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
>   Down solver (pre-smoother) on level 1 -------------------------------
>     KSP Object:    (pres_mg_levels_1_)     4 MPI processes
>       type: richardson
>         Richardson: damping factor=1
>       maximum iterations=1
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       using nonzero initial guess
>       using PRECONDITIONED norm type for convergence test
>     PC Object:    (pres_mg_levels_1_)     4 MPI processes
>       type: sor
>         SOR: type = local_symmetric, iterations = 1, local iterations = 1, 
> omega = 1
>       linear system matrix = precond matrix:
>       Matrix Object:       4 MPI processes
>         type: mpiaij
>         rows=25, cols=25
>         total: nonzeros=303, allocated nonzeros=303
>         total number of mallocs used during MatSetValues calls =0
>           using I-node (on process 0) routines: found 4 nodes, limit used is 5
>   Up solver (post-smoother) same as down solver (pre-smoother)
>   Down solver (pre-smoother) on level 2 -------------------------------
>     KSP Object:    (pres_mg_levels_2_)     4 MPI processes
>       type: richardson
>         Richardson: damping factor=1
>       maximum iterations=1
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       using nonzero initial guess
>       using PRECONDITIONED norm type for convergence test
>     PC Object:    (pres_mg_levels_2_)     4 MPI processes
>       type: sor
>         SOR: type = local_symmetric, iterations = 1, local iterations = 1, 
> omega = 1
>       linear system matrix = precond matrix:
>       Matrix Object:       4 MPI processes
>         type: mpiaij
>         rows=423, cols=423
>         total: nonzeros=7437, allocated nonzeros=7437
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
>   Up solver (post-smoother) same as down solver (pre-smoother)
>   Down solver (pre-smoother) on level 3 -------------------------------
>     KSP Object:    (pres_mg_levels_3_)     4 MPI processes
>       type: richardson
>         Richardson: damping factor=1
>       maximum iterations=1
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       using nonzero initial guess
>       using PRECONDITIONED norm type for convergence test
>     PC Object:    (pres_mg_levels_3_)     4 MPI processes
>       type: sor
>         SOR: type = local_symmetric, iterations = 1, local iterations = 1, 
> omega = 1
>       linear system matrix = precond matrix:
>       Matrix Object:       4 MPI processes
>         type: mpiaij
>         rows=6617, cols=6617
>         total: nonzeros=88653, allocated nonzeros=88653
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
>   Up solver (post-smoother) same as down solver (pre-smoother)
>   Down solver (pre-smoother) on level 4 -------------------------------
>     KSP Object:    (pres_mg_levels_4_)     4 MPI processes
>       type: richardson
>         Richardson: damping factor=1
>       maximum iterations=1
>       tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>       left preconditioning
>       has attached null space
>       using nonzero initial guess
>       using PRECONDITIONED norm type for convergence test
>     PC Object:    (pres_mg_levels_4_)     4 MPI processes
>       type: sor
>         SOR: type = local_symmetric, iterations = 1, local iterations = 1, 
> omega = 1
>       linear system matrix = precond matrix:
>       Matrix Object:       4 MPI processes
>         type: mpiaij
>         rows=46330, cols=46330
>         total: nonzeros=322437, allocated nonzeros=615417
>         total number of mallocs used during MatSetValues calls =0
>           not using I-node (on process 0) routines
>   Up solver (post-smoother) same as down solver (pre-smoother)
>   linear system matrix = precond matrix:
>   Matrix Object:   4 MPI processes
>     type: mpiaij
>     rows=46330, cols=46330
>     total: nonzeros=322437, allocated nonzeros=615417
>     total number of mallocs used during MatSetValues calls =0
>       not using I-node (on process 0) routines
> 
> 
> 
> John
> 
> 
> 
> On Tue, Mar 20, 2012 at 1:33 PM, Mark F. Adams <mark.adams at columbia.edu> 
> wrote:
> John, 
> 
> I am getting poor results (diverging) from ML also:
> 
>   0 KSP preconditioned resid norm 3.699832960909e+22 true resid norm 
> 1.310674055116e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 5.706378365783e+11 true resid norm 
> 1.563902233018e+03 ||r(i)||/||b|| 1.193204539995e+00
>   4 KSP preconditioned resid norm 5.570291685152e+11 true resid norm 
> 1.564235542744e+03 ||r(i)||/||b|| 1.193458844050e+00
>   6 KSP preconditioned resid norm 5.202150407298e+10 true resid norm 
> 1.749929789082e+03 ||r(i)||/||b|| 1.335137277077e+00
> Linear solve converged due to CONVERGED_RTOL iterations 6
> 
> With GAMG I get:
> 
>   0 KSP preconditioned resid norm 7.731260075891e+06 true resid norm 
> 1.310674055116e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 2.856415184685e+05 true resid norm 
> 1.310410242531e+03 ||r(i)||/||b|| 9.997987199150e-01
>   4 KSP preconditioned resid norm 1.528467019258e+05 true resid norm 
> 1.284856538976e+03 ||r(i)||/||b|| 9.803021078816e-01
>   6 KSP preconditioned resid norm 1.451091957899e+05 true resid norm 
> 1.564309254168e+03 ||r(i)||/||b|| 1.193515083375e+00
> 
> <snip> 
> 
> 122 KSP preconditioned resid norm 2.486245341783e+01 true resid norm 
> 1.404397185367e+00 ||r(i)||/||b|| 1.071507580306e-03
> 124 KSP preconditioned resid norm 1.482316853621e+01 true resid norm 
> 4.488661881759e-01 ||r(i)||/||b|| 3.424697287811e-04
> 126 KSP preconditioned resid norm 1.481941150253e+01 true resid norm 
> 4.484480100832e-01 ||r(i)||/||b|| 3.421506730318e-04
> 128 KSP preconditioned resid norm 8.191887347033e+00 true resid norm 
> 6.678630367218e-01 ||r(i)||/||b|| 5.095569215816e-04
> 
> And HYPRE:
> 
>   0 KSP preconditioned resid norm 3.774510769907e+04 true resid norm 
> 1.310674055116e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 1.843165835831e+04 true resid norm 
> 8.502433792869e+02 ||r(i)||/||b|| 6.487069580482e-01
>   4 KSP preconditioned resid norm 1.573176624705e+04 true resid norm 
> 1.167264367302e+03 ||r(i)||/||b|| 8.905832558033e-01
>   6 KSP preconditioned resid norm 1.657958380765e+04 true resid norm 
> 8.684701624902e+02 ||r(i)||/||b|| 6.626133775216e-01
>   8 KSP preconditioned resid norm 2.190304455083e+04 true resid norm 
> 6.969893263600e+02 ||r(i)||/||b|| 5.317792960344e-01
>  10 KSP preconditioned resid norm 2.485714630000e+04 true resid norm 
> 6.642641436830e+02 ||r(i)||/||b|| 5.068110878446e-01
>  
> <snip> 
> 
>  62 KSP preconditioned resid norm 6.432516040957e+00 true resid norm 
> 2.124960171419e-01 ||r(i)||/||b|| 1.621272781837e-04
>  64 KSP preconditioned resid norm 5.731033176541e+00 true resid norm 
> 1.338816774003e-01 ||r(i)||/||b|| 1.021471943216e-04
>  66 KSP preconditioned resid norm 1.600285935522e-01 true resid norm 
> 3.352408932031e-03 ||r(i)||/||b|| 2.557774695353e-06
> 
> ML and GAMG should act similarly, but ML seems to have a problem (see the 
> preconditioned norm difference and its diverging).  ML has a parameter:
> 
>  -pc_ml_Threshold [.0] 
> 
> I setting this to 0.05 (GAMG default) helps a bit but it still diverges.
> 
> So it would be nice to figure out the difference between ML and GAMG, but 
> that is secondary for you as the both suck.
> 
> HYPRE is a very different algorithm.  It looks like the smoothing in GAMG 
> (and ML) may be the problem.  If I turn smoothing off (-pc_gamg_agg_nsmooths 
> 0) and I get for GAMG:
> 
>   0 KSP preconditioned resid norm 2.186148437534e+05 true resid norm 
> 1.310674055116e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 2.916843959765e+04 true resid norm 
> 3.221533667508e+03 ||r(i)||/||b|| 2.457921292432e+00
>   4 KSP preconditioned resid norm 2.396374655925e+04 true resid norm 
> 1.834299897412e+03 ||r(i)||/||b|| 1.399508817812e+00
>   6 KSP preconditioned resid norm 2.509576275453e+04 true resid norm 
> 1.035475461174e+03 ||r(i)||/||b|| 7.900327752214e-01
>   
> <snip> 
> 
>  64 KSP preconditioned resid norm 1.973859758284e+01 true resid norm 
> 7.322674977169e+00 ||r(i)||/||b|| 5.586953482895e-03
>  66 KSP preconditioned resid norm 3.371598890438e+01 true resid norm 
> 7.152754930495e+00 ||r(i)||/||b|| 5.457310231004e-03
>  68 KSP preconditioned resid norm 4.687839294418e+00 true resid norm 
> 4.605726307025e-01 ||r(i)||/||b|| 3.514013487219e-04
>  70 KSP preconditioned resid norm 1.487545519493e+00 true resid norm 
> 1.558723789416e-01 ||r(i)||/||b|| 1.189253562571e-04
>  72 KSP preconditioned resid norm 5.317329808718e-01 true resid norm 
> 5.027178038177e-02 ||r(i)||/||b|| 3.835566911967e-05
>  74 KSP preconditioned resid norm 3.405339702462e-01 true resid norm 
> 1.897059263835e-02 ||r(i)||/||b|| 1.447392092969e-05
> 
> This is almost as good as HYPRE.
> 
> An other thing to keep in mind is the cost of each iteration, not just then 
> number of iterations,  You can use  -pc_hypre_boomeramg_print_statistics to 
> get some data on this from HYPRE:
> 
>  Average Convergence Factor = 0.537664
> 
>      Complexity:    grid = 1.780207
>                 operator = 2.624910
>                    cycle = 5.249670
> 
> And GAMG prints this with verbose set:
> 
> [0]PCSetUp_GAMG 6 levels, grid compexity [sic] = 1.1316
> 
> I believe that the hypre "Complexity:    grid" is the same as my "grid 
> complexity".  So hypre actually looks more expensive at this point. 
> 
> I've worked on optimizing parameters for hypre with the hypre people and here 
> are a set of arguments that I've used:
> 
> -pc_hypre_boomeramg_no_CF -pc_hypre_boomeramg_agg_nl 1 
> -pc_hypre_boomeramg_coarsen_type HMIS -pc_hypre_boomeramg_interp_type ext+i 
> -pc_hypre_boomeramg_P_max 4 -pc_hypre_boomeramg_agg_num_paths 2
> 
> With these parmeters I get:
> 
>      Complexity:    grid = 1.244140
>                 operator = 1.396722
>                    cycle = 2.793442
> 
> and:
> 
>   0 KSP preconditioned resid norm 4.698624821403e+04 true resid norm 
> 1.310674055116e+03 ||r(i)||/||b|| 1.000000000000e+00
>   2 KSP preconditioned resid norm 2.207967626172e+04 true resid norm 
> 3.466160021150e+03 ||r(i)||/||b|| 2.644562931280e+00
>   4 KSP preconditioned resid norm 2.278468320876e+04 true resid norm 
> 1.246784122467e+03 ||r(i)||/||b|| 9.512541410282e-01
>    
> <snip> 
> 
>  56 KSP preconditioned resid norm 1.108460232262e+00 true resid norm 
> 8.276869475681e-02 ||r(i)||/||b|| 6.314971631105e-05
>  58 KSP preconditioned resid norm 3.617217454336e-01 true resid norm 
> 3.764556404754e-02 ||r(i)||/||b|| 2.872229285428e-05
>  60 KSP preconditioned resid norm 1.666532560770e-01 true resid norm 
> 5.149302513338e-03 ||r(i)||/||b|| 3.928743758404e-06
> Linear solve converged due to CONVERGED_RTOL iterations 60
> 
> So this actually converged faster with lower complexity.
> 
> Anyway these result seem different from what you are getting, so I've 
> appended my options.  This uses ex10 in the KSP tutorials to read in your 
> binary file.
> 
> Mark
> 
> #PETSc Option Table entries:
> -f ./binaryoutput
> -ksp_converged_reason
> -ksp_diagonal_scale
> -ksp_diagonal_scale_fix
> -ksp_monitor_true_residual
> -ksp_type bcgsl
> -mg_coarse_ksp_type richardson
> -mg_coarse_pc_sor_its 8
> -mg_coarse_pc_type sor
> -mg_levels_ksp_type richardson
> -mg_levels_pc_type sor
> -options_left
> -pc_gamg_agg_nsmooths 0
> -pc_gamg_coarse_eq_limit 10
> -pc_gamg_sym_graph
> -pc_gamg_verbose 2
> -pc_hypre_boomeramg_P_max 4
> -pc_hypre_boomeramg_agg_nl 1
> -pc_hypre_boomeramg_agg_num_paths 2
> -pc_hypre_boomeramg_coarsen_type HMIS
> -pc_hypre_boomeramg_interp_type ext+i
> -pc_hypre_boomeramg_no_CF
> -pc_ml_Threshold .01
> -pc_type gamg
> -vecload_block_size 1
> #End of PETSc Option Table entries
> There are 7 unused database options. They are:
> Option left: name:-pc_hypre_boomeramg_P_max value: 4
> Option left: name:-pc_hypre_boomeramg_agg_nl value: 1
> Option left: name:-pc_hypre_boomeramg_agg_num_paths value: 2
> Option left: name:-pc_hypre_boomeramg_coarsen_type value: HMIS
> Option left: name:-pc_hypre_boomeramg_interp_type value: ext+i
> Option left: name:-pc_hypre_boomeramg_no_CF no value 
> Option left: name:-pc_ml_Threshold value: .01
> 
> 
> On Mar 20, 2012, at 10:19 AM, John Mousel wrote:
> 
>> Mark,
>> 
>> Sorry for the late reply. I've been on travel and hadn't had a chance to 
>> pick this back up. I've tried running with the suggested options:
>> 
>> -ksp_type bcgsl -pc_type gamg  -pc_gamg_coarse_eq_limit 10 
>> -pc_gamg_agg_nsmooths 1 -pc_gamg_sym_graph -mg_coarse_ksp_type richardson 
>> -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8 -ksp_diagonal_scale 
>> -ksp_diagonal_scale_fix -ksp_monitor_true_residual -ksp_view 
>> -pc_gamg_verbose 1
>> 
>> With these options, the convergence starts to hang (see attached 
>> GAMG_kspview.txt). The hanging happens for both -mg_coarse_ksp_type 
>> richardson and preonly. It was my understanding from previous emails that 
>> using preonly made it so that only the preconditioner was run, which in this 
>> case would be 8 sweeps of SOR. If I get rid of the -pc_gamg_agg_nsmooths 1 
>> (see GAMG_kspview_nosmooth.txt), the problem converges, but again the 
>> convergence is slow. Without this option, both Richardson and preonly 
>> converge in 172 iterations. 
>> 
>> Matt, I've checked and the problem does converge in the true residual using 
>> GAMG, ML, HYPRE, and ILU preconditioned BiCG. I explicitly ensure that a 
>> solution exists by projecting the rhs vector out of the nullity of the 
>> transpose of operator.
>> 
>> John
>> 
>> 
>> On Fri, Mar 16, 2012 at 2:04 PM, Mark F. Adams <mark.adams at columbia.edu> 
>> wrote:
>> John, did this get resolved?
>> Mark
>> 
>> On Mar 15, 2012, at 4:24 PM, John Mousel wrote:
>> 
>>> Mark,
>>> 
>>> Running without the options you mentioned before leads to slightly worse 
>>> performance (175 iterations). 
>>> I have not been able to get run coarse grid solve to work with LU while 
>>> running ML. It keeps experiencing a zero pivot, and all the combinations of 
>>> shifting i've tried haven't lead me anywhere, hence the SOR on the course 
>>> grid. Also, the ML manual suggests limiting the number of levels to 3 or 4 
>>> and performing a few sweeps of an iterative method as opposed to a direct 
>>> solve. 
>>> 
>>> John
>>> 
>>> On Thu, Mar 15, 2012 at 12:04 PM, Mark F. Adams <mark.adams at 
>>> columbia.edu> wrote:
>>> You also want:  -pc_gamg_agg_nsmooths 1
>>> 
>>> You are running plain aggregation.  If it is Poisson then smoothing is good.
>>> 
>>> Is this problem singular?  Can you try running ML with these parameters and 
>>> see if its performance degrades?  The ML implementation uses the PETSC 
>>> infrastructure and uses a very similar algorithm to GAMG-SA.  We should be 
>>> able to get these two to match pretty well.
>>> 
>>> Mark
>>> 
>>> 
>>> On Mar 15, 2012, at 12:21 PM, John Mousel wrote:
>>> 
>>>> Mark,
>>>> 
>>>> I ran with those options removed (see the run options listed below). 
>>>> Things actually got slightly worse. Now it's up to 142 iterations. I have 
>>>> attached the ksp_view output.
>>>> 
>>>> -ksp_type bcgsl -pc_type gamg -pc_gamg_sym_graph -ksp_diagonal_scale 
>>>> -ksp_diagonal_scale_fix -mg_levels_ksp_type richardson -mg_levels_pc_type 
>>>> sor -pc_gamg_verbose 1 
>>>> 
>>>> 
>>>> John
>>>> 
>>>> 
>>>> On Thu, Mar 15, 2012 at 10:55 AM, Mark F. Adams <mark.adams at 
>>>> columbia.edu> wrote:
>>>> John, can you run again with:  -pc_gamg_verbose 1
>>>> 
>>>> And I would not use: -pc_mg_levels 4 -mg_coarse_ksp_type preonly 
>>>> -mg_coarse_pc_type sor -mg_coarse_pc_sor_its 8
>>>> 
>>>> 1) I think -mg_coarse_ksp_type preonly and -mg_coarse_pc_sor_its 8 do not 
>>>> do what you think.  I think this is the same as 1 iteration.  I think you 
>>>> want 'richardson' not 'preonly'.
>>>> 
>>>> 2) Why are you using sor as the coarse solver?  If your problem is 
>>>> singular then you want to use as many levels as possible to get the coarse 
>>>> grid to be tiny.  I'm pretty sure HYPRE ignores the coarse solver 
>>>> parameters.  But ML uses them and it is converging well.
>>>> 
>>>> 3) I would not specify the number of levels.  GAMG, and I think the rest, 
>>>> have internal logic for stopping a the right level.  If the coarse level 
>>>> is large and you use just 8 iterations of sor then convergence will suffer.
>>>> 
>>>> Mark
>>>> 
>>>> On Mar 15, 2012, at 11:13 AM, John Mousel wrote:
>>>> 
>>>>> Mark,
>>>>> 
>>>>> The changes pulled through this morning. I've run it with the options
>>>>> 
>>>>> -ksp_type bcgsl -pc_type gamg -pc_gamg_sym_graph -ksp_diagonal_scale 
>>>>> -ksp_diagonal_scale_fix -pc_mg_levels 4 -mg_levels_ksp_type richardson 
>>>>> -mg_levels_pc_type sor -mg_coarse_ksp_type preonly -mg_coarse_pc_type sor 
>>>>> -mg_coarse_pc_sor_its 8
>>>>> 
>>>>> and it converges in the true residual, but it's not converging as fast as 
>>>>> anticpated. The matrix arises from a non-symmetric discretization of the 
>>>>> Poisson equation. The solve takes GAMG 114 iterations, whereas ML takes 
>>>>> 24 iterations, BoomerAMG takes 22 iterations, and -ksp_type bcgsl 
>>>>> -pc_type bjacobi -sub_pc_type ilu -sub_pc_factor_levels 4 takes around 
>>>>> 170. I've attached the -ksp_view results for ML,GAMG, and HYPRE. I've 
>>>>> attempted to make all the options the same on all levels for ML and GAMG. 
>>>>> 
>>>>> Any thoughts?
>>>>> 
>>>>> John
>>>>> 
>>>>> 
>>>>> On Wed, Mar 14, 2012 at 6:04 PM, Mark F. Adams <mark.adams at 
>>>>> columbia.edu> wrote:
>>>>> Humm, I see it with hg view (appended).  
>>>>> 
>>>>> Satish, my main repo looks hosed.  I see this:
>>>>> 
>>>>> ~/Codes/petsc-dev>hg update
>>>>> abort: crosses branches (merge branches or use --clean to discard changes)
>>>>> ~/Codes/petsc-dev>hg merge
>>>>> abort: branch 'default' has 3 heads - please merge with an explicit rev
>>>>> (run 'hg heads .' to see heads)
>>>>> ~/Codes/petsc-dev>hg heads
>>>>> changeset:   22496:8e2a98268179
>>>>> tag:         tip
>>>>> user:        Barry Smith <bsmith at mcs.anl.gov>
>>>>> date:        Wed Mar 14 16:42:25 2012 -0500
>>>>> files:       src/vec/is/interface/f90-custom/zindexf90.c 
>>>>> src/vec/vec/interface/f90-custom/zvectorf90.c
>>>>> description:
>>>>> undoing manually changes I put in because Satish had a better fix
>>>>> 
>>>>> 
>>>>> changeset:   22492:bda4df63072d
>>>>> user:        Mark F. Adams <mark.adams at columbia.edu>
>>>>> date:        Wed Mar 14 17:39:52 2012 -0400
>>>>> files:       src/ksp/pc/impls/gamg/tools.c
>>>>> description:
>>>>> fix for unsymmetric matrices.
>>>>> 
>>>>> 
>>>>> changeset:   22469:b063baf366e4
>>>>> user:        Mark F. Adams <mark.adams at columbia.edu>
>>>>> date:        Wed Mar 14 14:22:28 2012 -0400
>>>>> files:       src/ksp/pc/impls/gamg/tools.c
>>>>> description:
>>>>> added fix for preallocation for unsymetric matrices.
>>>>> 
>>>>> Mark
>>>>> 
>>>>> my 'hg view' on my merge repo:
>>>>> 
>>>>> Revision: 22492
>>>>> Branch: default
>>>>> Author: Mark F. Adams <mark.adams at columbia.edu>  2012-03-14 17:39:52
>>>>> Committer: Mark F. Adams <mark.adams at columbia.edu>  2012-03-14 17:39:52
>>>>> Tags: tip
>>>>> Parent: 22491:451bbbd291c2 (Small fixes to the BT linesearch)
>>>>> 
>>>>>     fix for unsymmetric matrices.
>>>>> 
>>>>> 
>>>>> ------------------------ src/ksp/pc/impls/gamg/tools.c 
>>>>> ------------------------
>>>>> @@ -103,7 +103,7 @@
>>>>>    PetscErrorCode ierr;
>>>>>    PetscInt       Istart,Iend,Ii,jj,ncols,nnz0,nnz1, NN, MM, nloc;
>>>>>    PetscMPIInt    mype, npe;
>>>>> -  Mat            Gmat = *a_Gmat, tGmat;
>>>>> +  Mat            Gmat = *a_Gmat, tGmat, matTrans;
>>>>>    MPI_Comm       wcomm = ((PetscObject)Gmat)->comm;
>>>>>    const PetscScalar *vals;
>>>>>    const PetscInt *idx;
>>>>> @@ -127,6 +127,10 @@
>>>>>    ierr = MatDiagonalScale( Gmat, diag, diag ); CHKERRQ(ierr);
>>>>>    ierr = VecDestroy( &diag );           CHKERRQ(ierr);
>>>>>  
>>>>> +  if( symm ) {
>>>>> +    ierr = MatTranspose( Gmat, MAT_INITIAL_MATRIX, &matTrans );    
>>>>> CHKERRQ(ierr);
>>>>> +  }
>>>>> +
>>>>>    /* filter - dup zeros out matrix */
>>>>>    ierr = PetscMalloc( nloc*sizeof(PetscInt), &d_nnz ); CHKERRQ(ierr);
>>>>>    ierr = PetscMalloc( nloc*sizeof(PetscInt), &o_nnz ); CHKERRQ(ierr);
>>>>> @@ -135,6 +139,12 @@
>>>>>      d_nnz[jj] = ncols;
>>>>>      o_nnz[jj] = ncols;
>>>>>      ierr = MatRestoreRow(Gmat,Ii,&ncols,PETSC_NULL,PETSC_NULL); 
>>>>> CHKERRQ(ierr);
>>>>> +    if( symm ) {
>>>>> +      ierr = MatGetRow(matTrans,Ii,&ncols,PETSC_NULL,PETSC_NULL); 
>>>>> CHKERRQ(ierr);
>>>>> +      d_nnz[jj] += ncols;
>>>>> +      o_nnz[jj] += ncols;
>>>>> +      ierr = MatRestoreRow(matTrans,Ii,&ncols,PETSC_NULL,PETSC_NULL); 
>>>>> CHKERRQ(ierr);
>>>>> +    }
>>>>>      if( d_nnz[jj] > nloc ) d_nnz[jj] = nloc;
>>>>>      if( o_nnz[jj] > (MM-nloc) ) o_nnz[jj] = MM - nloc;
>>>>>    }
>>>>> @@ -142,6 +152,9 @@
>>>>>    CHKERRQ(ierr);
>>>>>    ierr = PetscFree( d_nnz ); CHKERRQ(ierr); 
>>>>>    ierr = PetscFree( o_nnz ); CHKERRQ(ierr); 
>>>>> +  if( symm ) {
>>>>> +    ierr = MatDestroy( &matTrans );  CHKERRQ(ierr);
>>>>> +  }
>>>>>  
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mar 14, 2012, at 5:53 PM, John Mousel wrote:
>>>>> 
>>>>>> Mark,
>>>>>> 
>>>>>> No change. Can you give me the location that you patched so I can check 
>>>>>> to make sure it pulled?
>>>>>> I don't see it on the petsc-dev change log.
>>>>>> 
>>>>>> John
>>>>>> 
>>>>>> On Wed, Mar 14, 2012 at 4:40 PM, Mark F. Adams <mark.adams at 
>>>>>> columbia.edu> wrote:
>>>>>> John, I've committed these changes, give a try.
>>>>>> 
>>>>>> Mark
>>>>>> 
>>>>>> On Mar 14, 2012, at 3:46 PM, Satish Balay wrote:
>>>>>> 
>>>>>> > This is the usual merge [with uncommited changes] issue.
>>>>>> >
>>>>>> > You could use 'hg shelf' extension to shelve your local changes and
>>>>>> > then do a merge [as Sean would suggest] - or do the merge in a
>>>>>> > separate/clean clone [I normally do this..]
>>>>>> >
>>>>>> > i.e
>>>>>> > cd ~/Codes
>>>>>> > hg clone petsc-dev petsc-dev-merge
>>>>>> > cd petsc-dev-merge
>>>>>> > hg pull ssh://petsc at petsc.cs.iit.edu//hg/petsc/petsc-dev   #just to 
>>>>>> > be sure, look for latest chagnes before merge..
>>>>>> > hg merge
>>>>>> > hg commit
>>>>>> > hg push ssh://petsc at petsc.cs.iit.edu//hg/petsc/petsc-dev
>>>>>> >
>>>>>> > [now update your petsc-dev to latest]
>>>>>> > cd ~/Codes/petsc-dev
>>>>>> > hg pull
>>>>>> > hg update
>>>>>> >
>>>>>> > Satish
>>>>>> >
>>>>>> > On Wed, 14 Mar 2012, Mark F. Adams wrote:
>>>>>> >
>>>>>> >> Great, that seems to work.
>>>>>> >>
>>>>>> >> I did a 'hg commit tools.c'
>>>>>> >>
>>>>>> >> and I want to push this file only.  I guess its the only thing in the 
>>>>>> >> change set so 'hg push' should be fine.  But I see this:
>>>>>> >>
>>>>>> >> ~/Codes/petsc-dev/src/ksp/pc/impls/gamg>hg update
>>>>>> >> abort: crosses branches (merge branches or use --clean to discard 
>>>>>> >> changes)
>>>>>> >> ~/Codes/petsc-dev/src/ksp/pc/impls/gamg>hg merge
>>>>>> >> abort: outstanding uncommitted changes (use 'hg status' to list 
>>>>>> >> changes)
>>>>>> >> ~/Codes/petsc-dev/src/ksp/pc/impls/gamg>hg status
>>>>>> >> M include/petscmat.h
>>>>>> >> M include/private/matimpl.h
>>>>>> >> M src/ksp/pc/impls/gamg/agg.c
>>>>>> >> M src/ksp/pc/impls/gamg/gamg.c
>>>>>> >> M src/ksp/pc/impls/gamg/gamg.h
>>>>>> >> M src/ksp/pc/impls/gamg/geo.c
>>>>>> >> M src/mat/coarsen/coarsen.c
>>>>>> >> M src/mat/coarsen/impls/hem/hem.c
>>>>>> >> M src/mat/coarsen/impls/mis/mis.c
>>>>>> >>
>>>>>> >> Am I ready to do a push?
>>>>>> >>
>>>>>> >> Thanks,
>>>>>> >> Mark
>>>>>> >>
>>>>>> >> On Mar 14, 2012, at 2:44 PM, Satish Balay wrote:
>>>>>> >>
>>>>>> >>> If commit is the last hg operation that you've done - then 'hg 
>>>>>> >>> rollback' would undo this commit.
>>>>>> >>>
>>>>>> >>> Satish
>>>>>> >>>
>>>>>> >>> On Wed, 14 Mar 2012, Mark F. Adams wrote:
>>>>>> >>>
>>>>>> >>>> Damn, I'm not preallocating the graph perfectly for unsymmetric 
>>>>>> >>>> matrices and PETSc now dies on this.
>>>>>> >>>>
>>>>>> >>>> I have a fix but I committed it with other changes that I do not 
>>>>>> >>>> want to commit.  The changes are all in one file so I should be 
>>>>>> >>>> able to just commit this file.
>>>>>> >>>>
>>>>>> >>>> Anyone know how to delete a commit?
>>>>>> >>>>
>>>>>> >>>> I've tried:
>>>>>> >>>>
>>>>>> >>>> ~/Codes/petsc-dev/src/ksp/pc/impls/gamg>hg strip 22487:26ffb9eef17f
>>>>>> >>>> hg: unknown command 'strip'
>>>>>> >>>> 'strip' is provided by the following extension:
>>>>>> >>>>
>>>>>> >>>>   mq  manage a stack of patches
>>>>>> >>>>
>>>>>> >>>> use "hg help extensions" for information on enabling extensions
>>>>>> >>>>
>>>>>> >>>> But have not figured out how to load extensions.
>>>>>> >>>>
>>>>>> >>>> Mark
>>>>>> >>>>
>>>>>> >>>> On Mar 14, 2012, at 12:54 PM, John Mousel wrote:
>>>>>> >>>>
>>>>>> >>>>> Mark,
>>>>>> >>>>>
>>>>>> >>>>> I have a non-symmetric matrix. I am running with the following 
>>>>>> >>>>> options.
>>>>>> >>>>>
>>>>>> >>>>> -pc_type gamg -pc_gamg_sym_graph -ksp_monitor_true_residual
>>>>>> >>>>>
>>>>>> >>>>> and with the inclusion of -pc_gamg_sym_graph, I get a new malloc 
>>>>>> >>>>> error:
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> 0]PETSC ERROR: --------------------- Error Message 
>>>>>> >>>>> ------------------------------------
>>>>>> >>>>> [0]PETSC ERROR: Argument out of range!
>>>>>> >>>>> [0]PETSC ERROR: New nonzero at (5150,9319) caused a malloc!
>>>>>> >>>>> [0]PETSC ERROR: 
>>>>>> >>>>> ------------------------------------------------------------------------
>>>>>> >>>>> [0]PETSC ERROR: Petsc Development HG revision: 
>>>>>> >>>>> 587b25035091aaa309c87c90ac64c13408ecf34e  HG Date: Wed Mar 14 
>>>>>> >>>>> 09:22:54 2012 -0500
>>>>>> >>>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
>>>>>> >>>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>>>>>> >>>>> [0]PETSC ERROR: See docs/index.html for manual pages.
>>>>>> >>>>> [0]PETSC ERROR: 
>>>>>> >>>>> ------------------------------------------------------------------------
>>>>>> >>>>> [0]PETSC ERROR: ../JohnRepo/VFOLD_exe on a linux-deb named 
>>>>>> >>>>> wv.iihr.uiowa.edu by jmousel Wed Mar 14 11:51:35 2012
>>>>>> >>>>> [0]PETSC ERROR: Libraries linked from 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/linux-debug/lib
>>>>>> >>>>> [0]PETSC ERROR: Configure run at Wed Mar 14 09:46:39 2012
>>>>>> >>>>> [0]PETSC ERROR: Configure options --download-blacs=1 
>>>>>> >>>>> --download-hypre=1 --download-metis=1 --download-ml=1 
>>>>>> >>>>> --download-mpich=1 --download-parmetis=1 --download-scalapack=1 
>>>>>> >>>>> --with-blas-lapack-dir=/opt/intel11/mkl/lib/em64t --with-cc=gcc 
>>>>>> >>>>> --with-cmake=/usr/local/bin/cmake --with-cxx=g++ --with-fc=ifort 
>>>>>> >>>>> PETSC_ARCH=linux-debug
>>>>>> >>>>> [0]PETSC ERROR: 
>>>>>> >>>>> ------------------------------------------------------------------------
>>>>>> >>>>> [0]PETSC ERROR: MatSetValues_MPIAIJ() line 506 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/mat/impls/aij/mpi/mpiaij.c
>>>>>> >>>>> [0]PETSC ERROR: MatSetValues() line 1141 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/mat/interface/matrix.c
>>>>>> >>>>> [0]PETSC ERROR: scaleFilterGraph() line 155 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/tools.c
>>>>>> >>>>> [0]PETSC ERROR: PCGAMGgraph_AGG() line 865 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/agg.c
>>>>>> >>>>> [0]PETSC ERROR: PCSetUp_GAMG() line 516 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/impls/gamg/gamg.c
>>>>>> >>>>> [0]PETSC ERROR: PCSetUp() line 832 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/pc/interface/precon.c
>>>>>> >>>>> [0]PETSC ERROR: KSPSetUp() line 261 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/ksp/interface/itfunc.c
>>>>>> >>>>> [0]PETSC ERROR: KSPSolve() line 385 in 
>>>>>> >>>>> /home/jmousel/NumericalLibraries/petsc-hg/petsc-dev/src/ksp/ksp/interface/itfunc.c
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> John
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> On Wed, Mar 14, 2012 at 11:27 AM, Mark F. Adams <mark.adams at 
>>>>>> >>>>> columbia.edu> wrote:
>>>>>> >>>>>
>>>>>> >>>>> On Mar 14, 2012, at 11:56 AM, John Mousel wrote:
>>>>>> >>>>>
>>>>>> >>>>>> Mark,
>>>>>> >>>>>>
>>>>>> >>>>>> The matrix is asymmetric. Does this require the setting of an 
>>>>>> >>>>>> option?
>>>>>> >>>>>
>>>>>> >>>>> Yes:  -pc_gamg_sym_graph
>>>>>> >>>>>
>>>>>> >>>>> Mark
>>>>>> >>>>>
>>>>>> >>>>>> I pulled petsc-dev this morning, so I should have (at least close 
>>>>>> >>>>>> to) the latest code.
>>>>>> >>>>>>
>>>>>> >>>>>> John
>>>>>> >>>>>>
>>>>>> >>>>>> On Wed, Mar 14, 2012 at 10:54 AM, Mark F. Adams <mark.adams at 
>>>>>> >>>>>> columbia.edu> wrote:
>>>>>> >>>>>>
>>>>>> >>>>>> On Mar 14, 2012, at 11:08 AM, John Mousel wrote:
>>>>>> >>>>>>
>>>>>> >>>>>>> I'm getting the following error when using GAMG.
>>>>>> >>>>>>>
>>>>>> >>>>>>> petsc-dev/src/ksp/pc/impls/gamg/agg.c:508: smoothAggs: Assertion 
>>>>>> >>>>>>> `sgid==-1' failed.
>>>>>> >>>>>>
>>>>>> >>>>>> Is it possible that your matrix is structurally asymmetric?
>>>>>> >>>>>>
>>>>>> >>>>>> This code is evolving fast and so you will need to move to the 
>>>>>> >>>>>> dev version if you are not already using it. (I think I fixed a 
>>>>>> >>>>>> bug that hit this assert).
>>>>>> >>>>>>
>>>>>> >>>>>>>
>>>>>> >>>>>>> When I try to alter the type of aggregation at the command line 
>>>>>> >>>>>>> using -pc_gamg_type pa, I'm getting
>>>>>> >>>>>>>
>>>>>> >>>>>>> [0]PETSC ERROR: [1]PETSC ERROR: --------------------- Error 
>>>>>> >>>>>>> Message ------------------------------------
>>>>>> >>>>>>> [1]PETSC ERROR: Unknown type. Check for miss-spelling or missing 
>>>>>> >>>>>>> external package needed for type:
>>>>>> >>>>>>> see 
>>>>>> >>>>>>> http://www.mcs.anl.gov/petsc/documentation/installation.html#external!
>>>>>> >>>>>>> [1]PETSC ERROR: Unknown GAMG type pa given!
>>>>>> >>>>>>>
>>>>>> >>>>>>> Has there been a change in the aggregation options? I just 
>>>>>> >>>>>>> pulled petsc-dev this morning.
>>>>>> >>>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>> Yes, this option is gone now.  You can use -pc_gamg_type agg for 
>>>>>> >>>>>> now.
>>>>>> >>>>>>
>>>>>> >>>>>> Mark
>>>>>> >>>>>>
>>>>>> >>>>>>> John
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>
>>>>>> >>>
>>>>>> >>
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> <GAMG_kspview.txt><ML_kspview.txt><HYPRE_kspview.txt>
>>>> 
>>>> 
>>>> <GAMG_kspview.txt>
>>> 
>>> 
>> 
>> 
>> <GAMG_kspview.txt><GAMG_kspview_nosmooth.txt>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120320/2e9b2ae6/attachment-0001.htm>

Reply via email to