<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 14, 2016 at 9:10 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
   This is a very difficult problem. I am not surprised that GAMG performs poorly, I would be surprised if it performed well at all.<br>
<br>
   I think you need to do some googling of   "helmholtz PML linear system solve" to find what other people have used. The first hit I got was this <a href="http://www.math.tau.ac.il/services/phd/dissertations/Singer_Ido.pdf" rel="noreferrer" target="_blank">http://www.math.tau.ac.il/services/phd/dissertations/Singer_Ido.pdf</a> and every iterative method he tried ended up requiring MANY iterations with refinement. This is 14 years old so there will be better suggestions out there. One that caught my eye was <a href="http://www.sciencedirect.com/science/article/pii/S0022247X11005063" rel="noreferrer" target="_blank">http://www.sciencedirect.com/science/article/pii/S0022247X11005063</a><br>
<br>
<br>
  Barry<br>
<br>
Just looking at the matrix makes it clear to me that conventional iterative methods are not going to work well, many of the diagonal entries are zero and even in rows with a diagonal entry it is much smaller in magnitude than the diagonal entries.<br></blockquote><div><br></div><div>Indefinite Helmholtz is hard unless you are not shifting very far. This zero diagonals must come from PML.</div><div><br></div><div>First get rid of PML and see if you can solve anything to your satisfaction.</div><div><br></div><div>I have a paper on this, using AMG, and I tried to be inclusive, but I did miss a potentially useful method of adding a complex shift to damp the system. You can Google something like 'complex shift helmholtz damp'.  If you are shifting deep (high frequency Helmholtz), then use direct solvers.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<span class=""><br>
> On Jul 13, 2016, at 2:30 PM, Safin, Artur <<a href="mailto:aks084000@utdallas.edu">aks084000@utdallas.edu</a>> wrote:<br>
><br>
</span><div><div class="h5">> Dear PETSc community,<br>
><br>
> I am working on solving a Helmholtz problem with PML. The issue is that I am finding it very hard to deal with the resulting matrix system; I can get the correct solution for coarse meshes, but it takes roughly 2-4 times as long to converge for each successively refined mesh. I've noticed that without PML, I do not have problems with convergence speed.<br>
><br>
> I am using the GMRES solver with GAMG as the preconditioner (with block-Jacobi preconditioner for the multigrid solves). I have also tried to assemble a separate preconditioning matrix with the complex shift 1+0.5i, that does not seem to improve the results. Currently I am running with<br>
><br>
>    -ksp_type fgmres \<br>
>    -pc_type gamg \<br>
>    -mg_levels_pc_type bjacobi \<br>
>    -pc_mg_type full \<br>
>    -ksp_gmres_restart 150 \<br>
><br>
> Can anyone suggest some way of speeding up the convergence? Any help would be appreciated. I am attaching the output from kspview.<br>
><br>
> Best,<br>
><br>
> Artur<br>
><br>
</div></div>> <kspview><br>
<br>
</blockquote></div><br></div></div>