On Tue, May 1, 2012 at 7:00 PM, Karthik Duraisamy <dkarthik at stanford.edu>wrote:
> So as I understand it, GMRES is used as a preconditioner and as a solver > when I use PCMG with defaults. If this is the case, I should be able to > recreate this set up without the PCMG. Any pointers as to how this can be > done? > You can use http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/PC/PCKSP.html to stick your initial solver inside another GMRES, however this is unlikely to be faster than running more iterates. Matt > Also, yes indeed, my mesh is completely unstructured, so I will have to > use ml or boomeramg. > > The problems that I am attempting involve RANS of compressible turbulent > combustion (finite volume, steady). The high condition numbers are because > of the extreme grid stretching and stiff source terms (in the turbulence > and combustion model). I have been trying a reduced problem in these 2D > test cases, in which the condition number is only 1e7. > > Thanks, > Karthik. > > > ----- Original Message ----- > From: "Mark F. Adams" <mark.adams at columbia.edu> > To: "PETSc users list" <petsc-users at mcs.anl.gov> > Sent: Tuesday, May 1, 2012 3:50:31 PM > Subject: Re: [petsc-users] Multigrid > > > Also, note that PCMG can not create coarse grid spaces for an (MPI)AIJ > matrix. If you use regular grids (DA?) then PETSc can construct geometric > multigrid coarse grid spaces, although I don't know if PCMG will construct > these for you (I don't think it will and I can see from your output that > PCMG just used one grid). 'ml', hypre' and 'gamg' (a native AMG solver) > will do real AMG solvers for you. All three can work on a similar class of > problems. > > > Also, you mention that you have a condition number of 1.e20. That is > astronomical for such a small problem. How did you compute that number? Do > you know where the ill-conditioning comes from? Is this an elliptic > operator? > > > Mark > > > > > On May 1, 2012, at 6:31 PM, Matthew Knepley wrote: > > > > On Tue, May 1, 2012 at 6:27 PM, Karthik Duraisamy < dkarthik at stanford.edu> > wrote: > > > > The following was output for the very first iteration whereas what I had > attached earlier was output every iteration. I am still a bit perplexed > because PCMG drops the residual like a rock (after the first few iterations > whereas with no PCMG, it is very slow) > > > > Because the smoother IS the solver you were using before. Just like I said > last time, what you are doing is > wrapping up the same solver you used before, sticking it in another GMRES > loop, and only looking at the > outer loop. This has nothing to do with MG. > > > Matt > > > KSP Object: 8 MPI processes > type: gmres > GMRES: restart=100, using Classical (unmodified) Gram-Schmidt > Orthogonalization with no iterative refinement > GMRES: happy breakdown tolerance 1e-30 > maximum iterations=1, initial guess is zero > using preconditioner applied to right hand side for initial guess > tolerances: relative=0.01, absolute=1e-08, divergence=1e+10 > left preconditioning > using DEFAULT norm type for convergence test > PC Object: 8 MPI processes > type: mg > MG: type is MULTIPLICATIVE, levels=1 cycles=v > Cycles per PCApply=1 > Not using Galerkin computed coarse grid matrices > Coarse grid solver -- level ------------------------------- > KSP Object: (mg_levels_0_) 8 MPI processes > type not yet set > maximum iterations=1, initial guess is zero > tolerances: relative=1e-05, absolute=1e-50, divergence=10000 > left preconditioning > using DEFAULT norm type for convergence test > PC Object: (mg_levels_0_) 8 MPI processes > type not yet set > linear system matrix = precond matrix: > Matrix Object: 8 MPI processes > type: mpiaij > rows=75000, cols=75000 > total: nonzeros=4427800, allocated nonzeros=4427800 > total number of mallocs used during MatSetValues calls =0 > using I-node (on process 0) routines: found 3476 nodes, limit used is 5 > > > ----- Original Message ----- > From: "Matthew Knepley" < knepley at gmail.com > > To: "PETSc users list" < petsc-users at mcs.anl.gov > > Sent: Tuesday, May 1, 2012 3:22:56 PM > Subject: Re: [petsc-users] Multigrid > > > On Tue, May 1, 2012 at 6:18 PM, Karthik Duraisamy < dkarthik at stanford.edu> > wrote: > > > > Hello, > > Sorry (and thanks for the reply). I've attached the no multigrid case. I > didn't include it because (at least to the untrained eye, everything looks > the same). > > > > Did you send all the output from the MG case? There must be a PC around > it. By default its GMRES, so there would be > an extra GMRES loop compared to the case without MG. > > > Matt > > > Regards, > Karthik > > KSP Object: 8 MPI processes > type: gmres > GMRES: restart=100, using Classical (unmodified) Gram-Schmidt > Orthogonalization with no iterative refinement > GMRES: happy breakdown tolerance 1e-30 > maximum iterations=1 > using preconditioner applied to right hand side for initial guess > tolerances: relative=1e-05, absolute=1e-50, divergence=1e+10 > left preconditioning > using nonzero initial guess > using PRECONDITIONED norm type for convergence test > PC Object: 8 MPI processes > type: bjacobi > block Jacobi: number of blocks = 8 > Local solve is same for all blocks, in the following KSP and PC objects: > KSP Object: (sub_) 1 MPI processes > type: preonly > maximum iterations=10000, initial guess is zero > tolerances: relative=1e-05, absolute=1e-50, divergence=10000 > left preconditioning > using NONE norm type for convergence test > PC Object: (sub_) 1 MPI processes > type: ilu > ILU: out-of-place factorization > 0 levels of fill > tolerance for zero pivot 1e-12 > using diagonal shift to prevent zero pivot > matrix ordering: natural > factor fill ratio given 1, needed 1 > Factored matrix follows: > Matrix Object: 1 MPI processes > type: seqaij > rows=9015, cols=9015 > package used to perform factorization: petsc > total: nonzeros=517777, allocated nonzeros=517777 > total number of mallocs used during MatSetValues calls =0 > using I-node routines: found 3476 nodes, limit used is 5 > linear system matrix = precond matrix: > Matrix Object: 1 MPI processes > type: seqaij > rows=9015, cols=9015 > total: nonzeros=517777, allocated nonzeros=517777 > total number of mallocs used during MatSetValues calls =0 > using I-node routines: found 3476 nodes, limit used is 5 > linear system matrix = precond matrix: > Matrix Object: 8 MPI processes > type: mpiaij > rows=75000, cols=75000 > total: nonzeros=4427800, allocated nonzeros=4427800 > total number of mallocs used during MatSetValues calls =0 > using I-node (on process 0) routines: found 3476 nodes, limit used is 5 > > > ----- Original Message ----- > From: "Matthew Knepley" < knepley at gmail.com > > To: "PETSc users list" < petsc-users at mcs.anl.gov > > Sent: Tuesday, May 1, 2012 3:15:14 PM > Subject: Re: [petsc-users] Multigrid > > > On Tue, May 1, 2012 at 6:12 PM, Karthik Duraisamy < dkarthik at stanford.edu> > wrote: > > > > Hello Barry, > > Thank you for your super quick response. I have attached the output of > ksp_view and it is practically the same as that when I don't use PCMG. The > part I don't understand is how PCMG able to function at the zero grid level > and still produce a much better convergence than when using the default PC. > Is there any additional smoothing or interpolation going on? > > > > You only included one output, so I have no way of knowing what you used > before. However, this is running GMRES/ILU. > > > Also, for Algebraic Multigrid, would you recommend BoomerAMG or ML ? > > > > They are different algorithms. Its not possible to say generally that one > is better. Try them both. > > > Matt > > > Best regards, > Karthik. > > type: mg > MG: type is MULTIPLICATIVE, levels=1 cycles=v > Cycles per PCApply=1 > Not using Galerkin computed coarse grid matrices > Coarse grid solver -- level ------------------------------- > KSP Object: (mg_levels_0_) 8 MPI processes > type: gmres > GMRES: restart=30, using Classical (unmodified) Gram-Schmidt > Orthogonalization with no iterative refinement > GMRES: happy breakdown tolerance 1e-30 > 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: (mg_levels_0_) 8 MPI processes > type: bjacobi > block Jacobi: number of blocks = 8 > Local solve is same for all blocks, in the following KSP and PC objects: > KSP Object: (mg_levels_0_sub_) 1 MPI processes > type: preonly > maximum iterations=10000, initial guess is zero > tolerances: relative=1e-05, absolute=1e-50, divergence=10000 > left preconditioning > using NONE norm type for convergence test > PC Object: (mg_levels_0_sub_) 1 MPI processes > type: ilu > ILU: out-of-place factorization > 0 levels of fill > tolerance for zero pivot 1e-12 > using diagonal shift to prevent zero pivot > matrix ordering: natural > factor fill ratio given 1, needed 1 > Factored matrix follows: > Matrix Object: 1 MPI processes > type: seqaij > rows=9015, cols=9015 > package used to perform factorization: petsc > total: nonzeros=517777, allocated nonzeros=517777 > total number of mallocs used during MatSetValues calls =0 > using I-node routines: found 3476 nodes, limit used is 5 > linear system matrix = precond matrix: > Matrix Object: 1 MPI processes > type: seqaij > rows=9015, cols=9015 > total: nonzeros=517777, allocated nonzeros=517777 > total number of mallocs used during MatSetValues calls =0 > using I-node routines: found 3476 nodes, limit used is 5 > linear system matrix = precond matrix: > Matrix Object: 8 MPI processes > type: mpiaij > rows=75000, cols=75000 > total: nonzeros=4427800, allocated nonzeros=4427800 > total number of mallocs used during MatSetValues calls =0 > using I-node (on process 0) routines: found 3476 nodes, limit used is 5 > linear system matrix = precond matrix: > Matrix Object: 8 MPI processes > type: mpiaij > rows=75000, cols=75000 > total: nonzeros=4427800, allocated nonzeros=4427800 > total number of mallocs used during MatSetValues calls =0 > using I-node (on process 0) routines: found 3476 nodes, limit used is 5 > > > > ----- Original Message ----- > From: "Barry Smith" < bsmith at mcs.anl.gov > > To: "PETSc users list" < petsc-users at mcs.anl.gov > > Sent: Tuesday, May 1, 2012 1:39:26 PM > Subject: Re: [petsc-users] Multigrid > > > On May 1, 2012, at 3:37 PM, Karthik Duraisamy wrote: > > > Hello, > > > > I have been using PETSc for a couple of years with good success, but > lately as my linear problems have become stiffer (condition numbers of the > order of 1.e20), I am looking to use better preconditioners. I tried using > PCMG with all the default options (i.e., I just specified my preconditioner > as PCMG and did not add any options to it) and I am immediately seeing > better convergence. > > > > What I am not sure of is why? I would like to know more about the > default parameters (the manual is not very explicit) and more importantly, > want to know why it is working even when I haven't specified any grid > levels and coarse grid operators. Any > > help in this regard will be appreciated. > > First run with -ksp_view to see what solver it is actually using. > > Barry > > > > > Also, ultimately I want to use algebraic multigrid so is PCML a better > option than BoomerAMG? I tried BoomerAMG with mixed results. > > > > Thanks, > > Karthik > > > > > > > > -- > > > > ======================================= > > Karthik Duraisamy > > Assistant Professor (Consulting) > > Durand Building Rm 357 > > Dept of Aeronautics and Astronautics > > Stanford University > > Stanford CA 94305 > > > > Phone: 650-721-2835 > > Web: www.stanford.edu/~dkarthik > > ======================================= > > > > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120501/9cb8c2b7/attachment.htm>
