[petsc-users] Rigid body nullspace for Stokes operator

Jed Brown jed at jedbrown.org
Thu Oct 31 10:18:39 CDT 2024


Pierre Jolivet <pierre at joliv.et> writes:

>> On 31 Oct 2024, at 2:47 PM, Mark Adams <mfadams at lbl.gov> wrote:
>> 
>> Interesting. I have seen hypre do fine on elasticity, but do you know if boomeramg (classical) uses these vectors or is there a smoothed aggregation solver in hypre?
>
> I’m not sure it is precisely “standard” smoothed aggregation, see bottom paragraph of https://urldefense.us/v3/__https://hypre.readthedocs.io/en/latest/solvers-boomeramg.html*amg-for-systems-of-pdes__;Iw!!G_uCfscf7eWS!fdj4AzKhAcDmM1x_ZQ8gxqWeX6BAKY9urnvATMpT7hC8lw77ak7tqxqXGIX3PMg2wYA5PGu7EzyCW0yzixutBg$ 
> I’ve never made it to work, but I know some do.
> A while back, Stefano gave me this pointer as well: https://urldefense.us/v3/__https://github.com/mfem/mfem/blob/17955e114020af340e9a06a66ebef43e05012d9c/linalg/hypre.cpp*L5245__;Iw!!G_uCfscf7eWS!fdj4AzKhAcDmM1x_ZQ8gxqWeX6BAKY9urnvATMpT7hC8lw77ak7tqxqXGIX3PMg2wYA5PGu7EzyCW0wVEi33Pw$ 

It's still classical AMG, and in my experience, struggles on very thin structures (e.g., aspect ratio 1000 cantilever beams) when compared to SA. However, it can be quite competitive for many structures. I found that the "MFEM elasticity suite", which is based on Baker et al 2010, gave rather poor results. This is a configuration that works on GPUs and gives good convergence and performance for elasticity:

https://urldefense.us/v3/__https://github.com/hypre-space/hypre/issues/601*issuecomment-1069426997__;Iw!!G_uCfscf7eWS!arUVBVKKcYs1M5OhNqqRZl2b2o0NIUkG7fV_22qBbg-ssHhhHazhkpMbYNjCOTN66Sfbk-VZilfox9bxDf0$ 

In the above issue, I was only using BoomerAMG as a coarse level for p-MG so all the options have a `-mg_coarse_` prefix; here are those options without the prefix:

-pc_hypre_boomeramg_coarsen_type pmis
-pc_hypre_boomeramg_interp_type ext+i
-pc_hypre_boomeramg_no_CF
-pc_hypre_boomeramg_P_max 6
-pc_hypre_boomeramg_print_statistics 1
-pc_hypre_boomeramg_relax_type_down Chebyshev
-pc_hypre_boomeramg_relax_type_up Chebyshev
-pc_hypre_boomeramg_strong_threshold 0.5
-pc_type hypre


More information about the petsc-users mailing list