[petsc-users] API cal to set mg_levels_pc_type

Barry Smith bsmith at petsc.dev
Fri May 20 13:48:53 CDT 2022



> On May 20, 2022, at 2:39 PM, Jeremy Theler <jeremy at seamplex.com> wrote:
> 
> The default smoothing PC changed from sor to jacobi in 3.17.

  Note that this is only for GAMG, it is not for geometric multigrid (using PCMG directly).


> The
> Changelog says the old behavior can be recovered by using
> -mg_levels_pc_type sor.

   The easiest is just doing 

    PetscOptionsSetValue(NULL,"-mg_levels_pc_type","sor");

   Unfortunately, there is no good way to set it with calls directly on the KSP or MG object. One
needs to loop through the levels and set it for the PC on each level.

> 
> 1. Is there a way to set the mg_levels_pc_type via an API call?
> 2. Are there any changes in efficiency expected with this new PC?

  This was changed mainly because PCSOR is not effective (currently in PETSc) for GPUs. For CPUs
it will definitely be problem dependent, you need to try both smoothers at scale to determine the most effective.


  Barry

> 
> 
> Regards
> --
> jeremy theler
> 



More information about the petsc-users mailing list