[petsc-users] complex-valued problem, singular preconditioner

Matthew Knepley knepley at gmail.com
Thu Apr 4 11:54:18 CDT 2013


On Fri, Apr 5, 2013 at 3:43 AM, Nico Schlömer <nico.schloemer at gmail.com>wrote:

> Hi,
>
> I've got this complex-valued problem
>
>  - \Delta u + i omega u = f
>
> (where omega typically >>1). According to
> <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=877730&tag=1>,
> this problem can be solved well with, e.g., BiCGStab and and AMG
> approach (after it's been broken up into real and imaginary part).
>
> Using PETSc, this approach indeed works well. Except, that is, for
> somewhat rough discretizations. The output I'm getting would be
> something like
>
>  0 KSP preconditioned resid norm 4.941153318127e+75 true resid norm
> 5.201089914056e+02 ||r(i)||/||b|| 1.000000000000e+00
>   1 KSP preconditioned resid norm 6.449747027242e+59 true resid norm
> 2.018314797006e+03 ||r(i)||/||b|| 3.880561248425e+00
>
> after which PETSc happily aborts with CONVERGED_RTOL. First of all,
>

"abort" is used incorrectly here.


> ||r(i)||/||b|| doesn't seem to be what the stopping criterion looks at
>

Its looking at preconditioned r / b.


> (I always thought it would be). Second, obviously there's something
> fishy going on with the hypre_amg preconditioner, but I can't quite
> point my finger at it.
>

Your problem is likely close o singular and Hypre is known to crap out
there.
Use ML, and you can use -coarse_pc_type svd.

    Matt


> Anyone else?
>
> --Nico
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130405/b8ff823d/attachment.html>


More information about the petsc-users mailing list