<div class="gmail_extra">On Tue, May 1, 2012 at 6:18 PM, Karthik Duraisamy <span dir="ltr">&lt;<a href="mailto:dkarthik@stanford.edu" target="_blank">dkarthik@stanford.edu</a>&gt;</span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
   Sorry (and thanks for the reply). I&#39;ve attached the no multigrid case. I didn&#39;t include it because (at least to the untrained eye, everything looks the same).<br></blockquote><div><br></div><div>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</div>
<div>an extra GMRES loop compared to the case without MG.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Regards,<br>
Karthik<br>
<br>
KSP Object: 8 MPI processes<br>
  type: gmres<br>
    GMRES: restart=100, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement<br>
    GMRES: happy breakdown tolerance 1e-30<br>
  maximum iterations=1<br>
  using preconditioner applied to right hand side for initial guess<br>
  tolerances:  relative=1e-05, absolute=1e-50, divergence=1e+10<br>
  left preconditioning<br>
  using nonzero initial guess<br>
  using PRECONDITIONED norm type for convergence test<br>
PC Object: 8 MPI processes<br>
  type: bjacobi<br>
    block Jacobi: number of blocks = 8<br>
    Local solve is same for all blocks, in the following KSP and PC objects:<br>
  KSP Object:  (sub_)   1 MPI processes<br>
    type: preonly<br>
    maximum iterations=10000, initial guess is zero<br>
    tolerances:  relative=1e-05, absolute=1e-50, divergence=10000<br>
    left preconditioning<br>
    using NONE norm type for convergence test<br>
  PC Object:  (sub_)   1 MPI processes<br>
    type: ilu<br>
      ILU: out-of-place factorization<br>
      0 levels of fill<br>
      tolerance for zero pivot 1e-12<br>
      using diagonal shift to prevent zero pivot<br>
      matrix ordering: natural<br>
      factor fill ratio given 1, needed 1<br>
        Factored matrix follows:<br>
          Matrix Object:           1 MPI processes<br>
            type: seqaij<br>
            rows=9015, cols=9015<br>
            package used to perform factorization: petsc<br>
            total: nonzeros=517777, allocated nonzeros=517777<br>
            total number of mallocs used during MatSetValues calls =0<br>
              using I-node routines: found 3476 nodes, limit used is 5<br>
    linear system matrix = precond matrix:<br>
    Matrix Object:     1 MPI processes<br>
      type: seqaij<br>
      rows=9015, cols=9015<br>
      total: nonzeros=517777, allocated nonzeros=517777<br>
      total number of mallocs used during MatSetValues calls =0<br>
        using I-node routines: found 3476 nodes, limit used is 5<br>
  linear system matrix = precond matrix:<br>
  Matrix Object:   8 MPI processes<br>
    type: mpiaij<br>
    rows=75000, cols=75000<br>
    total: nonzeros=4427800, allocated nonzeros=4427800<br>
    total number of mallocs used during MatSetValues calls =0<br>
      using I-node (on process 0) routines: found 3476 nodes, limit used is 5<br>
<br>
<br>
----- Original Message -----<br>
From: &quot;Matthew Knepley&quot; &lt;<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>&gt;<br>
To: &quot;PETSc users list&quot; &lt;<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>&gt;<br>
Sent: Tuesday, May 1, 2012 3:15:14 PM<br>
Subject: Re: [petsc-users] Multigrid<br>
<br>
<br>
On Tue, May 1, 2012 at 6:12 PM, Karthik Duraisamy &lt; <a href="mailto:dkarthik@stanford.edu">dkarthik@stanford.edu</a> &gt; wrote:<br>
<br>
<br>
<br>
Hello Barry,<br>
<br>
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&#39;t use PCMG. The part I don&#39;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?<br>

<br>
<br>
<br>
You only included one output, so I have no way of knowing what you used before. However, this is running GMRES/ILU.<br>
<br>
<br>
Also, for Algebraic Multigrid, would you recommend BoomerAMG or ML ?<br>
<br>
<br>
<br>
They are different algorithms. Its not possible to say generally that one is better. Try them both.<br>
<br>
<br>
Matt<br>
<br>
<br>
Best regards,<br>
Karthik.<br>
<br>
type: mg<br>
MG: type is MULTIPLICATIVE, levels=1 cycles=v<br>
Cycles per PCApply=1<br>
Not using Galerkin computed coarse grid matrices<br>
Coarse grid solver -- level -------------------------------<br>
KSP Object: (mg_levels_0_) 8 MPI processes<br>
type: gmres<br>
GMRES: restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement<br>
GMRES: happy breakdown tolerance 1e-30<br>
maximum iterations=1, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000<br>
left preconditioning<br>
using PRECONDITIONED norm type for convergence test<br>
PC Object: (mg_levels_0_) 8 MPI processes<br>
type: bjacobi<br>
block Jacobi: number of blocks = 8<br>
Local solve is same for all blocks, in the following KSP and PC objects:<br>
KSP Object: (mg_levels_0_sub_) 1 MPI processes<br>
type: preonly<br>
maximum iterations=10000, initial guess is zero<br>
tolerances: relative=1e-05, absolute=1e-50, divergence=10000<br>
left preconditioning<br>
using NONE norm type for convergence test<br>
PC Object: (mg_levels_0_sub_) 1 MPI processes<br>
type: ilu<br>
ILU: out-of-place factorization<br>
0 levels of fill<br>
tolerance for zero pivot 1e-12<br>
using diagonal shift to prevent zero pivot<br>
matrix ordering: natural<br>
factor fill ratio given 1, needed 1<br>
Factored matrix follows:<br>
Matrix Object: 1 MPI processes<br>
type: seqaij<br>
rows=9015, cols=9015<br>
package used to perform factorization: petsc<br>
total: nonzeros=517777, allocated nonzeros=517777<br>
total number of mallocs used during MatSetValues calls =0<br>
using I-node routines: found 3476 nodes, limit used is 5<br>
linear system matrix = precond matrix:<br>
Matrix Object: 1 MPI processes<br>
type: seqaij<br>
rows=9015, cols=9015<br>
total: nonzeros=517777, allocated nonzeros=517777<br>
total number of mallocs used during MatSetValues calls =0<br>
using I-node routines: found 3476 nodes, limit used is 5<br>
linear system matrix = precond matrix:<br>
Matrix Object: 8 MPI processes<br>
type: mpiaij<br>
rows=75000, cols=75000<br>
total: nonzeros=4427800, allocated nonzeros=4427800<br>
total number of mallocs used during MatSetValues calls =0<br>
using I-node (on process 0) routines: found 3476 nodes, limit used is 5<br>
linear system matrix = precond matrix:<br>
Matrix Object: 8 MPI processes<br>
type: mpiaij<br>
rows=75000, cols=75000<br>
total: nonzeros=4427800, allocated nonzeros=4427800<br>
total number of mallocs used during MatSetValues calls =0<br>
using I-node (on process 0) routines: found 3476 nodes, limit used is 5<br>
<br>
<br>
<br>
----- Original Message -----<br>
From: &quot;Barry Smith&quot; &lt; <a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a> &gt;<br>
To: &quot;PETSc users list&quot; &lt; <a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a> &gt;<br>
Sent: Tuesday, May 1, 2012 1:39:26 PM<br>
Subject: Re: [petsc-users] Multigrid<br>
<br>
<br>
On May 1, 2012, at 3:37 PM, Karthik Duraisamy wrote:<br>
<br>
&gt; Hello,<br>
&gt;<br>
&gt; 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.<br>

&gt;<br>
&gt; 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&#39;t specified any grid levels and coarse grid operators. Any<br>

&gt; help in this regard will be appreciated.<br>
<br>
First run with -ksp_view to see what solver it is actually using.<br>
<br>
Barry<br>
<br>
&gt;<br>
&gt; Also, ultimately I want to use algebraic multigrid so is PCML a better option than BoomerAMG? I tried BoomerAMG with mixed results.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Karthik<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt;<br>
&gt; =======================================<br>
&gt; Karthik Duraisamy<br>
&gt; Assistant Professor (Consulting)<br>
&gt; Durand Building Rm 357<br>
&gt; Dept of Aeronautics and Astronautics<br>
&gt; Stanford University<br>
&gt; Stanford CA 94305<br>
&gt;<br>
&gt; Phone: <a href="tel:650-721-2835" value="+16507212835">650-721-2835</a><br>
&gt; Web: <a href="http://www.stanford.edu/~dkarthik" target="_blank">www.stanford.edu/~dkarthik</a><br>
&gt; =======================================<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
<br>
<br>
--<br>
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div>