<div dir="ltr">On Fri, Apr 5, 2013 at 3:43 AM, Nico Schlömer <span dir="ltr"><<a href="mailto:nico.schloemer@gmail.com" target="_blank">nico.schloemer@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I've got this complex-valued problem<br>
<br>
 - \Delta u + i omega u = f<br>
<br>
(where omega typically >>1). According to<br>
<<a href="https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=877730&tag=1" target="_blank">https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=877730&tag=1</a>>,<br>
this problem can be solved well with, e.g., BiCGStab and and AMG<br>
approach (after it's been broken up into real and imaginary part).<br>
<br>
Using PETSc, this approach indeed works well. Except, that is, for<br>
somewhat rough discretizations. The output I'm getting would be<br>
something like<br>
<br>
 0 KSP preconditioned resid norm 4.941153318127e+75 true resid norm<br>
5.201089914056e+02 ||r(i)||/||b|| 1.000000000000e+00<br>
  1 KSP preconditioned resid norm 6.449747027242e+59 true resid norm<br>
2.018314797006e+03 ||r(i)||/||b|| 3.880561248425e+00<br>
<br>
after which PETSc happily aborts with CONVERGED_RTOL. First of all,<br></blockquote><div><br></div><div style>"abort" is used incorrectly here.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

||r(i)||/||b|| doesn't seem to be what the stopping criterion looks at<br></blockquote><div><br></div><div style>Its looking at preconditioned r / b.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

(I always thought it would be). Second, obviously there's something<br>
fishy going on with the hypre_amg preconditioner, but I can't quite<br>
point my finger at it.<br></blockquote><div><br></div><div style>Your problem is likely close o singular and Hypre is known to crap out there.</div><div style>Use ML, and you can use -coarse_pc_type svd.</div><div style>
<br></div><div style>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Anyone else?<br>
<span class="HOEnZb"><font color="#888888"><br>
--Nico<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>