[petsc-users] Using nonzero -pc_hypre_boomeramg_restriction_type in field split

Alexander Lindsay alexlindsay239 at gmail.com
Thu Apr 13 15:33:34 CDT 2023


Hi, I'm trying to solve steady Navier-Stokes for different Reynolds
numbers. My options table

-dm_moose_fieldsplit_names u,p
-dm_moose_nfieldsplits 2
-fieldsplit_p_dm_moose_vars pressure
-fieldsplit_p_ksp_type preonly
-fieldsplit_p_pc_type jacobi
-fieldsplit_u_dm_moose_vars vel_x,vel_y
-fieldsplit_u_ksp_type preonly
-fieldsplit_u_pc_hypre_type boomeramg
-fieldsplit_u_pc_type hypre
-pc_fieldsplit_schur_fact_type full
-pc_fieldsplit_schur_precondition selfp
-pc_fieldsplit_type schur
-pc_type fieldsplit

works wonderfully for a low Reynolds number of 2.2. The solver performance
crushes LU as I scale up the problem. However, not surprisingly this
options table struggles when I bump the Reynolds number to 220. I've read
that use of AIR (approximate ideal restriction) can improve performance for
advection dominated problems. I've tried
setting -pc_hypre_boomeramg_restriction_type 1 for a simple diffusion
problem and the option works fine. However, when applying it to my
field-split preconditioned Navier-Stokes system, I get immediate
non-convergence:

 0 Nonlinear |R| = 1.033077e+03
      0 Linear |R| = 1.033077e+03
  Linear solve did not converge due to DIVERGED_NANORINF iterations 0
Nonlinear solve did not converge due to DIVERGED_LINEAR_SOLVE iterations 0

Does anyone have an idea as to why this might be happening? If not, I'd
take a suggestion on where to set a breakpoint to start my own
investigation. Alternatively, I welcome other preconditioning suggestions
for an advection dominated problem.

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


More information about the petsc-users mailing list