On Dec 23, 2011, at 12:02 PM, Jed Brown wrote: > On Fri, Dec 23, 2011 at 10:48, Mark F. Adams <mark.adams at columbia.edu> > wrote: > There is the implementation in Prometheus that uses my C++ linked lists and > hash tables. I would like to implement this with STLs. I also hack into > MPIAIJ matrices to provide a primitive of applying G-S on an index set of > local vertices, required for the algorithm. This should be rethought. I > would guess that it would take about a week or two to move this into PETSc. > > The complex communication required make this code work much better with large > subdomains, so it is getting less attractive in a flat MPI mode, as it is > currently written. If I do this I would like to think about doing it in the > next programming model of PETSc (pthreads?). Anyway, this would take enough > work that I'd like to think a bit about its design and even the algorithm in > a non flat MPI model. > > Note, I see the win with G-S over Cheby in highly unsymmetric (convection, > hyperbolic) problems where Cheby is not very good. > > Can we mix with Eisenstat to apply multiple cycles?
Eisenstat is not computing with zero data if there is no initial guess, right? I'm not sure I understand you here. > I know the theory doesn't argue for it, but G-S with Cheby sometimes wins > over everything else I've tried. People damp G-S for convection etc, which is what Cheb/GS does. Do you do this for SPD systems? > Is there any hope of doing nonlinear G-S where the user can provide something > moderately simple? Nonlinear should be very simple actually. Just replace my hacks into (MPI)AIJ matrices with your own operator. Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111223/9aed7c79/attachment.html>
