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 <[email protected]> wrote: > > On Tue, Jul 19, 2016 at 9:53 PM, Safin, Artur <[email protected]> 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
