[petsc-users] BoomerAMG Hypre options

Barry Smith bsmith at petsc.dev
Sun Apr 11 18:06:41 CDT 2021


0 SNES Function norm 6.145506780035e-04 
      0 KSP Residual norm 2.013603254316e+41 

  My guess is that your matrix has zeros or essentially zeros on some diagonal entries, this could be breaking 

Relax down          symmetric-SOR/Jacobi
        Relax up            symmetric-SOR/Jacobi

since the smoother would be dividing by those numbers. Standard multigrid methods generally cannot handle such matrices without adjustments.

On approach for such problems is to use PCFIELDSPLIT and split off the zero diagonal portion while using AMG on the rest -pc_fieldsplit_detect_saddle_point  see PCFieldSplitSetDetectSaddlePoint().

  Barry




> On Apr 11, 2021, at 1:06 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Sun, Apr 11, 2021 at 1:37 PM sthavishtha bhopalam <sthavishthabr at gmail.com <mailto:sthavishthabr at gmail.com>> wrote:
> Hello PETSc users
> 
> I am trying to experiment with Hypre's BoomerAMG preconditioner which continually yields the error message "Linear solve did not converge due to DIVERGED_DTOL iterations 1". I would appreciate if someone can suggest some ways I could get BoomerAMG to yield converged results - the attached output shows a snippet of the error message. Command Line options I used for BoomerAMG : -pc_type hypre -pc_hypre_type boomeramg -pchypreboomeramgtol 1.0e-3 -pchypreboomeramgstrongthreshold 0.25 -ksp_type richardson -pc_hypre_boomeramg_max_iter 6 -snes_rtol 1.0e-3 -ksp_rtol 1.0e-3 -ksp_view -snes_view -ksp_monitor -snes_monitor -ksp_max_it 100 -ksp_converged_reason -snes_converged_reason
> 
> I also tried using -ksp_type gmres, different values of -pc_hypre_boomeramg_max_iter, -pchypreboomeramgstrongthreshold, -ksp_initial_guess_nonzero but all yielded the same error message.
> 
> However, the direct solver converges as required - the attached output shows a snippet of the norms from the SNES and KSP.
> Command Line options I used for the direct solver : -ksp_type gmres -pc_type lu -pc_factor_shift_type nonzero -pc_factor_mat_solver_type mumps -snes_converged_reason -ksp_converged_reason -ksp_rtol 1e-3 -snes_rtol 1e-3 -ksp_monitor -snes_monitor
> 
> There is no particular reason for using the AMG here, but I just wanted to familiarize with it's options to see which of them need to be particularly tuned to yield converged and correct results.
> 
> Hypre is only going to work for a very specific set of systems. What are you solving?
> 
>   Thanks,
> 
>      Matt
>  
> Thanks
> -------------------------------------------
> Regards
> 
> Sthavishtha 
> 
> 
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
> 
> https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210411/4c96474c/attachment.html>


More information about the petsc-users mailing list