[petsc-users] Multigrid with PML

Barry Smith bsmith at mcs.anl.gov
Tue Jul 19 18:38:54 CDT 2016


  For jacobi smoothing with a .5 damping you need -ksp_type richardson -pc_type jacobi -ksp_richardson_scale .5 but instead of the scale you can try -ksp_richardson_self_scale  which claims to use the optimal scale factor for each iteration (at a cost of some vector operations).

  Barry

> On Jul 19, 2016, at 12:58 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Tue, Jul 19, 2016 at 9:53 PM, Safin, Artur <aks084000 at utdallas.edu> wrote:
> Hello,
> 
> In order to achieve reasonable performance for Helmholtz with PML, Erlangga in his paper used
> 
> 1) Matrix dependent interpolation in the multigrid. The operators are nonlinear, for example an intermediate computation reads something like
> d = max(|a+c|, |b|, …)
> 
> You can use this http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCMGSetInterpolation.html
> to set your own interpolation operators.
>  
> 2) Full weighting (This is linear, so I believe I can achieve that with PCMGSetRestriction).
> 
> 3) F-cycle with one pre- and postsmoothing with the Jacobi iteration and relaxation factor ω = 0.5.
> 
> -pc_mg_type full
> -pc_mg_smoothup 1
> -pc_mg_smoothdown 1
> -mg_levels_pc_type sor
> -mg_leves_pc_sor_omega 0.5
> 
> and use -ksp_view to check that you have what you want.
> 
>    Matt
>  
> I am not sure how to do 1 & 3 in PETSc. Can anyone suggest a way of implementing these?
> 
> Thanks,
> 
> Artur
> 
> PS. for anyone curious, the paper is "Advances in Iterative Methods and Preconditioners for the Helmholtz Equation"
> 
> 
> 
> -- 
> 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



More information about the petsc-users mailing list