@Barry, Upon your suggestion, I added -pc_fieldsplit_detect_saddle_point to my previously used command line options. But, I get the same error message as earlier. ------------------------------------------- Regards Sthavishtha On Mon, Apr 12, 2021 at 4:36 AM Barry Smith <[email protected]> wrote:
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 <[email protected]> wrote:
On Sun, Apr 11, 2021 at 1:37 PM sthavishtha bhopalam < [email protected]> 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/>