<div dir="ltr">Thanks, Barry.<div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 5, 2016 at 11:26 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Sep 5, 2016, at 11:21 AM, Fande Kong <<a href="mailto:fdkong.jd@gmail.com">fdkong.jd@gmail.com</a>> wrote:<br>
><br>
> Hi Developers,<br>
><br>
> There are two questions on the hypre preconditioner.<br>
><br>
> (1) How to set different relax types on different levels? It looks to use the SAME relax type on all levels except the coarse level which we could set it to a different solver. Especially, could I set the smoother type on the finest level as NONE?<br>
<br>
</span>   I don't think this is possible through the PETSc interface; it may or may not be possible by adding additional hypre calls. You need to check the hypre documentation.<br></blockquote><div><br></div><div>I already took a look into the hypre code. It is not easy to change. But there is a way to do that. I already figured out a way to extract interpolation, restriction  and coarse operators from hypre. I could construct any algorithms I want with these operators. </div><div><br></div><div>The question is: any existing ways to convert a parallel hypre matrix to a petsc Mat, and the same operations for vectors?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
><br>
> (2) How could I know how many levels have been actually created in hypre, and how many unknowns on different levels?   The "-pc_view" can not tell me this information:<br>
<br>
</span>-pc_hypre_boomeramg_print_<wbr>statistics integer  different integers give different amounts of detail, I don't know what the integers mean.<br></blockquote><div><br></div><div>we could get all information by extracting data from hypre_solver. </div><div><br></div><div>Fande,</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
><br>
>  type: hypre<br>
>                         HYPRE BoomerAMG preconditioning<br>
>                         HYPRE BoomerAMG: Cycle type V<br>
>                         HYPRE BoomerAMG: Maximum number of levels 25<br>
>                         HYPRE BoomerAMG: Maximum number of iterations PER hypre call 1<br>
>                         HYPRE BoomerAMG: Convergence tolerance PER hypre call 0<br>
>                         HYPRE BoomerAMG: Threshold for strong coupling 0.25<br>
>                         HYPRE BoomerAMG: Interpolation truncation factor 0<br>
>                         HYPRE BoomerAMG: Interpolation: max elements per row 0<br>
>                         HYPRE BoomerAMG: Number of levels of aggressive coarsening 0<br>
>                         HYPRE BoomerAMG: Number of paths for aggressive coarsening 1<br>
>                         HYPRE BoomerAMG: Maximum row sums 0.9<br>
>                         HYPRE BoomerAMG: Sweeps down         1<br>
>                         HYPRE BoomerAMG: Sweeps up           1<br>
>                         HYPRE BoomerAMG: Sweeps on coarse    1<br>
>                         HYPRE BoomerAMG: Relax down          symmetric-SOR/Jacobi<br>
>                         HYPRE BoomerAMG: Relax up            symmetric-SOR/Jacobi<br>
>                         HYPRE BoomerAMG: Relax on coarse     Gaussian-elimination<br>
>                         HYPRE BoomerAMG: Relax weight  (all)      1<br>
>                         HYPRE BoomerAMG: Outer relax weight (all) 1<br>
>                         HYPRE BoomerAMG: Using CF-relaxation<br>
>                         HYPRE BoomerAMG: Measure type        local<br>
>                         HYPRE BoomerAMG: Coarsen type        Falgout<br>
>                         HYPRE BoomerAMG: Interpolation type  classical<br>
>                       linear system matrix = precond matrix:<br>
><br>
><br>
><br>
> Fande,<br>
<br>
</div></div></blockquote></div><br></div></div>