On 07/05/2016 12:28 PM, Artur Safin wrote:

I have convergence to the correct solution for very coarse meshes (I
have an analytic free-space solution that I can compare to), and I have
also been able to solve the problem with a direct solver. The issue of
non-convergence crops up when I use a finer mesh, and as a result, have
a larger system to solve. I have tried to estimate the condition number
of this larger system with ksp_monitor_singular_value, and it seems
reasonable; so it still seems like the preconditioner is just not good
enough.

There are papers that already address preconditioning for PML, but since
multigrid preconditioning is a black-box method for me, I wanted to ask
if anyone can suggest a good approach that is implementable in deal.

Algebraic Multigrid methods make assumptions about the matrix that may simply not be true when you include the PML. For example, they may require a positive or real spectrum, whereas the PML may shift eigenvalues to the negative side, or off the real axis.

I think you will have to read up on whether the AMG implementation you use tolerates whatever matrix you throw at it, or if it has options to deal with other types of matrices.

Another line of investigation would be to try something like an ILU as preconditioner, to make sure again that it really is the preconditioner, not the matrix, that is the problem.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth               email:            bange...@math.tamu.edu
                                www: http://www.math.tamu.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to