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

Nico Schlömer nico.schloemer at gmail.com
Thu Apr 4 11:43:19 CDT 2013


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,
||r(i)||/||b|| doesn't seem to be what the stopping criterion looks at
(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.

Anyone else?

--Nico


More information about the petsc-users mailing list