> On Sep 10, 2016, at 11:39 AM, Fande Kong <[email protected]> wrote: > > Thanks, Barry. > > > On Mon, Sep 5, 2016 at 11:26 AM, Barry Smith <[email protected]> wrote: > > > On Sep 5, 2016, at 11:21 AM, Fande Kong <[email protected]> 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,
