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

Reply via email to