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
