[petsc-users] [petsc-maint] Monolithic AMG with fieldsplit as smoother

Jed Brown jed at jedbrown.org
Wed Jul 26 23:48:13 CDT 2023


AMG is subtle here. With AMG for systems, you typically feed it elements of the near null space. In the case of (smoothed) aggregation, the coarse space will have a regular block structure with block sizes equal to the number of near-null vectors. You can use pc_fieldsplit options to select which fields you want in each split.

However, AMG also needs a strength of connection and if your system is so weird you need to fieldsplit the smoothers (e.g., a saddle point problem or a hyperbolic system) then it's likely that you'll also need a custom strength of connection to obtain reasonable coarsening.

Barry Smith <bsmith at petsc.dev> writes:

>   See the very end of the section https://petsc.org/release/manual/ksp/#multigrid-preconditioners on how to control the smoothers (and coarse grid solve) for multigrid in PETSc including for algebraic multigrid.
>
>    So, for example, -mg_levels_pc_type fieldsplit would be the starting point. Depending on the block size of the matrices it may automatically do simple splits, you can control the details  of the fieldsplit preconditioner with -mg_levels_pc_fieldsplit_...  and the details for each split with -mg_levels_fieldsplit_.... 
>
>    See src/ksp/ksp/tutorials/ex42.c for example, usage 
>
>    Feel free to ask more specific questions once you get started.
>
>> On Jul 26, 2023, at 9:47 PM, Michael Wick <michael.wick.1980 at gmail.com> wrote:
>> 
>> Hello PETSc team:
>> 
>> I wonder if the current PETSc implementation supports using AMG monolithically for a multi-field problem and using fieldsplit in the smoother.
>> 
>> Thank you very much,
>> 
>> Mike


More information about the petsc-users mailing list