<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Dec 23, 2011, at 12:02 PM, Jed Brown wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Fri, Dec 23, 2011 at 10:48, Mark F. Adams <span dir="ltr"><<a href="mailto:mark.adams@columbia.edu">mark.adams@columbia.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>Note, I see the win with G-S over Cheby in highly unsymmetric (convection, hyperbolic) problems where Cheby is not very good.</div></blockquote></div><br><div>Can we mix with Eisenstat to apply multiple cycles? </div></blockquote><div><br></div><div>Eisenstat is not computing with zero data if there is no initial guess, right?  I'm not sure I understand you here.</div><br><blockquote type="cite"><div>I know the theory doesn't argue for it, but G-S with Cheby sometimes wins over everything else I've tried. </div></blockquote><div><br></div><div>People damp G-S for convection etc, which is what Cheb/GS does.  Do you do this for SPD systems?</div><br><blockquote type="cite"><div>Is there any hope of doing nonlinear G-S where the user can provide something moderately simple?</div></blockquote><br></div><div>Nonlinear should be very simple actually.  Just replace my hacks into (MPI)AIJ matrices with your own operator.</div><div><br></div><div>Mark</div></body></html>