On 12/28/2014 07:12 PM, Jed Brown wrote:
Alp Kalpalp <[email protected]> writes:

Is the force moving or just increasing?  The idea with this class of
methods is that you add a Galerkin coarse correction where the basis
functions approximate some low-frequency eigenvectors of the system.
The projection is relatively expensive in parallel, but could save
iterations.  It's not "scalable" for many outlier eigenvalues because
the projection space would get too big as the problem size is increased,
but when combined with a decent-but-not-too-good preconditioner, could
improve performance.
Well, I am following the discussion since it is also interesting for me.

I am not sure if it will help for future, but let me give an overview from my research experience:

As a poor engineer, my experience was with iterative methods on ill-conditioned problems, all the FE stiffness matrices are ill conditioned due to the multiplication of the gradient operators, especially the ones for thin structures encountered in vibroacoustics, or shell like structures for instance, and on these problems I could never get successful results with my tries even with the projections w.r.t. the previous vectors. Tim Davies has some kind of nice guidelines when to use iterative methods, I do not remember the links now but you should be able to find them easily, after reading them and trying more I did not continue more on that...

Preconditioner side: my experience was that one should be really lucky to get a good preconditioner which is really really rare, as mentioned, especially for ill-conditioned problems, almost impossible. If my condition number estimate is above, say, 1e4 1e5, I do not expect much from iterative methods, for SPD problems of course, my 2 cents, without theoretical details of Krylov subspace methods.

BR,
Umut

You can implement this in the general case using PCCOMPOSITE+PCGALERKIN
or with PCMG.  You can also use KSPDGMRES or KSPAGMRES (man page missing
in the release -- I reactivated, but look at the code until it
regenerates), which attempt to automatically build a space.

http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/KSP/KSPDGMRES.html

You could implement a deflated CG in a similar way if you want to
automatically extract the deflation vectors from the CG iteration.

Reply via email to