I agree, this is an extra hard problem when you add PML to it. Here is
a link to a paper that presents a few tricks applied to some aspects of
this problem.
Koyama, T. and Govindjee, S., ``Solving generalized
complex-symmetriceigenvalue problems arising fromresonant MEMS
simulations with PETSc," in Proceedings in AppliedMathematics and
Mechanics, 1141701-1141702 (2008)
<http://dx.doi.org/10.1002/pamm.200700206>.
http://dx.doi.org/10.1002/pamm.200700206
-sg
On 7/15/16 1:46 AM, Mark Adams wrote:
On Thu, Jul 14, 2016 at 9:10 PM, Barry Smith <[email protected]
<mailto:[email protected]>> wrote:
This is a very difficult problem. I am not surprised that GAMG
performs poorly, I would be surprised if it performed well at all.
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
http://www.math.tau.ac.il/services/phd/dissertations/Singer_Ido.pdf
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
http://www.sciencedirect.com/science/article/pii/S0022247X11005063
Barry
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.
Indefinite Helmholtz is hard unless you are not shifting very far.
This zero diagonals must come from PML.
First get rid of PML and see if you can solve anything to your
satisfaction.
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.
> On Jul 13, 2016, at 2:30 PM, Safin, Artur
<[email protected] <mailto:[email protected]>> wrote:
>
> Dear PETSc community,
>
> 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.
>
> 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
>
> -ksp_type fgmres \
> -pc_type gamg \
> -mg_levels_pc_type bjacobi \
> -pc_mg_type full \
> -ksp_gmres_restart 150 \
>
> Can anyone suggest some way of speeding up the convergence? Any
help would be appreciated. I am attaching the output from kspview.
>
> Best,
>
> Artur
>
> <kspview>
--
-----------------------------------------------
Sanjay Govindjee, PhD, PE
Professor of Civil Engineering
779 Davis Hall
University of California
Berkeley, CA 94720-1710
Voice: +1 510 642 6060
FAX: +1 510 643 5264
[email protected]
http://www.ce.berkeley.edu/~sanjay
-----------------------------------------------
Books:
Engineering Mechanics of Deformable
Solids: A Presentation with Exercises
http://www.oup.com/us/catalog/general/subject/Physics/MaterialsScience/?view=usa&ci=9780199651641
http://ukcatalogue.oup.com/product/9780199651641.do
http://amzn.com/0199651647
Engineering Mechanics 3 (Dynamics) 2nd Edition
http://www.springer.com/978-3-642-53711-0
http://amzn.com/3642537111
Engineering Mechanics 3, Supplementary Problems: Dynamics
http://www.amzn.com/B00SOXN8JU
-----------------------------------------------