<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thanks a lot for your answers.<br>
      <br>
      I ran it with<tt><br>
      </tt>
      <blockquote><tt>-ksp_type gmres -pc_type hypre -pc_hypre_type
          euclid</tt><br>
      </blockquote>
      and it worked very well. Thanks.<br>
      <br>
      I then tried to use boomeramg as a preconditioner coupled with
      Richardson but I was not successful, it failed to solve the system
      and returned nans.<br>
      <blockquote><tt>-ksp_type richardson -pc_type hypre -pc_hypre_type
          boomeramg -pc_hypre_boomeramg_relax_type_all SOR/Jacobi
          -pc_hypre_boomeramg_print_debug -ksp_view
          -ksp_monitor_true_residual</tt><br>
      </blockquote>
      and i got the following<br>
      <tt><br>
      </tt>
      <blockquote><tt> ===== Proc = 0     Level = 0  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 18308 nc_offd
          = 0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 7 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 1  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.010000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 8725 nc_offd
          = 0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 16 nc_offd =
          0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 2  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 4721 nc_offd
          = 0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 13 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 3  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 4 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 3  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 2495 nc_offd
          = 0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 22 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 3  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 4 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 4  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 1337 nc_offd
          = 0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 13 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 3  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 2 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 5  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 695 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 3 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 6  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 343 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 21 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 3  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 2 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 7  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 174 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 15 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 3  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 2 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 8  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 81 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 13 nc_offd =
          0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 9  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 37 nc_offd =
          0</tt><br>
        <tt>Proc = 0  iter 2  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 6 nc_offd = 0</tt><br>
        <br>
        <tt> ===== Proc = 0     Level = 10  =====</tt><br>
        <tt>Proc = 0    Coarsen 1st pass = 0.000000</tt><br>
        <tt>Proc = 0    Coarsen 2nd pass = 0.000000</tt><br>
        <tt>Proc = 0    Initialize CLJP phase = 0.000000</tt><br>
        <tt>Proc = 0  iter 1  comm. and subgraph update = 0.000000</tt><br>
        <tt>Proc = 0    CLJP phase = 0.000000 graph_size = 11 nc_offd =
          0</tt><br>
        <br>
        <br>
        <tt>  0 KSP preconditioned resid norm 7.299769365830e+14 true
          resid norm 8.197927963033e-03 ||r(i)||/||b||
          1.000000000000e+00</tt><br>
        <tt>  1 KSP preconditioned resid norm 2.319459389445e+28 true
          resid norm 6.152576199945e+12 ||r(i)||/||b||
          7.505038136086e+14</tt><br>
        <tt>KSP Object: 1 MPI processes</tt><br>
        <tt>  type: richardson</tt><br>
        <tt>    Richardson: damping factor=1</tt><br>
        <tt>  maximum iterations=90, initial guess is zero</tt><br>
        <tt>  tolerances:  relative=0.1, absolute=1e-50,
          divergence=100000</tt><br>
        <tt>  left preconditioning</tt><br>
        <tt>  using PRECONDITIONED norm type for convergence test</tt><br>
        <tt>PC Object: 1 MPI processes</tt><br>
        <tt>  type: hypre</tt><br>
        <tt>    HYPRE BoomerAMG preconditioning</tt><br>
        <tt>    HYPRE BoomerAMG: Cycle type V</tt><br>
        <tt>    HYPRE BoomerAMG: Maximum number of levels 25</tt><br>
        <tt>    HYPRE BoomerAMG: Maximum number of iterations PER hypre
          call 1</tt><br>
        <tt>    HYPRE BoomerAMG: Convergence tolerance PER hypre call 0</tt><br>
        <tt>    HYPRE BoomerAMG: Threshold for strong coupling 0.25</tt><br>
        <tt>    HYPRE BoomerAMG: Interpolation truncation factor 0</tt><br>
        <tt>    HYPRE BoomerAMG: Interpolation: max elements per row 0</tt><br>
        <tt>    HYPRE BoomerAMG: Number of levels of aggressive
          coarsening 0</tt><br>
        <tt>    HYPRE BoomerAMG: Number of paths for aggressive
          coarsening 1</tt><br>
        <tt>    HYPRE BoomerAMG: Maximum row sums 0.9</tt><br>
        <tt>    HYPRE BoomerAMG: Sweeps down         1</tt><br>
        <tt>    HYPRE BoomerAMG: Sweeps up           1</tt><br>
        <tt>    HYPRE BoomerAMG: Sweeps on coarse    1</tt><br>
        <tt>    HYPRE BoomerAMG: Relax down          SOR/Jacobi</tt><br>
        <tt>    HYPRE BoomerAMG: Relax up            SOR/Jacobi</tt><br>
        <tt>    HYPRE BoomerAMG: Relax on coarse    
          Gaussian-elimination</tt><br>
        <tt>    HYPRE BoomerAMG: Relax weight  (all)      1</tt><br>
        <tt>    HYPRE BoomerAMG: Outer relax weight (all) 1</tt><br>
        <tt>    HYPRE BoomerAMG: Using CF-relaxation</tt><br>
        <tt>    HYPRE BoomerAMG: Measure type        local</tt><br>
        <tt>    HYPRE BoomerAMG: Coarsen type        Falgout</tt><br>
        <tt>    HYPRE BoomerAMG: Interpolation type  classical</tt><br>
        <tt>  linear system matrix = precond matrix:</tt><br>
        <tt>  Matrix Object:   1 MPI processes</tt><br>
        <tt>    type: seqbaij</tt><br>
        <tt>    rows=22905, cols=22905, bs=5</tt><br>
        <tt>    total: nonzeros=785525, allocated nonzeros=785525</tt><br>
        <tt>    total number of mallocs used during MatSetValues calls
          =0</tt><br>
        <tt>        block size is 5</tt></blockquote>
      Do you guys have any suggestion?  Is it possible that I am haven't
      initialized boomeramg properly? Or it is just my system equations
      that can not be solved by AMG?<br>
      <br>
      Sincerely,<br>
      Dario<br>
      <br>
      <br>
      <br>
      <br>
      On 05/16/2014 11:54 AM, Barry Smith wrote:<br>
    </div>
    <blockquote
      cite="mid:B37A27EA-6E44-4036-AF2F-8E8EC34E3E68@mcs.anl.gov"
      type="cite">
      <pre wrap="">
On May 16, 2014, at 10:46 AM, Dario Isola <a class="moz-txt-link-rfc2396E" href="mailto:dario.isola@newmerical.com"><dario.isola@newmerical.com></a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">Dear all,

I am investigating the use of hypre+petsc. I was able to successfully configure, install, compile petsc 3.3 with the external package for hypre.

I tried to run it with the following options
-pc_type hypre -pc_type_hypre pilut -ksp_type richardson
and, although he did not complain, it does not solve the system either.
</pre>
      </blockquote>
      <pre wrap="">
   Do you meaning it did not converge? At first always run with -ksp_view (or -snes_view if using snes or -ts_view if using ts) and -ksp_monitor_true_residual to see what is going on.

</pre>
      <blockquote type="cite">
        <pre wrap="">-pc_type_hypre pilut
</pre>
      </blockquote>
      <pre wrap="">
is wrong it is -pc_hypre_type pilut

Note that pilut will generally not work with Richardson you need a “real” Krylov method like GMRES. 

Also the ilu type preconditioners don’t scale particularly well though occasionally they can be fine.

</pre>
      <blockquote type="cite">
        <pre wrap="">
To what extent is hypre supported by petsc? More specifically, what kind of matrices?
</pre>
      </blockquote>
      <pre wrap="">
   If it cannot handle the matrix type it would give an error message.  Hypre uses a format like AIJ so you should use AIJ. Note that you can make the matrix type a runtime option so you don’t have to compile in that it is BAIJ.


</pre>
      <blockquote type="cite">
        <pre wrap="">I am using a baij matrix.

Thanks in advance,
D
</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>