[petsc-users] questions on hypre preconditioner

Barry Smith bsmith at mcs.anl.gov
Sat Sep 10 11:58:14 CDT 2016


> On Sep 10, 2016, at 11:39 AM, Fande Kong <fdkong.jd at gmail.com> wrote:
> 
> Thanks, Barry.
> 
> 
> On Mon, Sep 5, 2016 at 11:26 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
> > On Sep 5, 2016, at 11:21 AM, Fande Kong <fdkong.jd at gmail.com> wrote:
> >
> > Hi Developers,
> >
> > There are two questions on the hypre preconditioner.
> >
> > (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?
> 
>    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.
> 
> 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. 
> 
> The question is: any existing ways to convert a parallel hypre matrix to a petsc Mat, and the same operations for vectors?

   In the PETSc hypre interface we go the other direction; it is a little hacky in order to be efficient. So look at that code and it may be possible from that to do the mapping in the other direction.

  Barry

>  
> 
> >
> > (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:
> 
> -pc_hypre_boomeramg_print_statistics integer  different integers give different amounts of detail, I don't know what the integers mean.
> 
> we could get all information by extracting data from hypre_solver. 
> 
> Fande,
> 
> 
> 
> 
> 
> >
> >  type: hypre
> >                         HYPRE BoomerAMG preconditioning
> >                         HYPRE BoomerAMG: Cycle type V
> >                         HYPRE BoomerAMG: Maximum number of levels 25
> >                         HYPRE BoomerAMG: Maximum number of iterations PER hypre call 1
> >                         HYPRE BoomerAMG: Convergence tolerance PER hypre call 0
> >                         HYPRE BoomerAMG: Threshold for strong coupling 0.25
> >                         HYPRE BoomerAMG: Interpolation truncation factor 0
> >                         HYPRE BoomerAMG: Interpolation: max elements per row 0
> >                         HYPRE BoomerAMG: Number of levels of aggressive coarsening 0
> >                         HYPRE BoomerAMG: Number of paths for aggressive coarsening 1
> >                         HYPRE BoomerAMG: Maximum row sums 0.9
> >                         HYPRE BoomerAMG: Sweeps down         1
> >                         HYPRE BoomerAMG: Sweeps up           1
> >                         HYPRE BoomerAMG: Sweeps on coarse    1
> >                         HYPRE BoomerAMG: Relax down          symmetric-SOR/Jacobi
> >                         HYPRE BoomerAMG: Relax up            symmetric-SOR/Jacobi
> >                         HYPRE BoomerAMG: Relax on coarse     Gaussian-elimination
> >                         HYPRE BoomerAMG: Relax weight  (all)      1
> >                         HYPRE BoomerAMG: Outer relax weight (all) 1
> >                         HYPRE BoomerAMG: Using CF-relaxation
> >                         HYPRE BoomerAMG: Measure type        local
> >                         HYPRE BoomerAMG: Coarsen type        Falgout
> >                         HYPRE BoomerAMG: Interpolation type  classical
> >                       linear system matrix = precond matrix:
> >
> >
> >
> > Fande,



More information about the petsc-users mailing list