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>
