[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