MatStash() use linked list of chunks

Barry Smith bsmith at mcs.anl.gov
Tue Dec 13 15:38:05 CST 2005


  Rich,

   Outline what you use/need in terms of an interface for that case.
We can gather the cases to see what commonality comes out.

   Barry

BTW: I was joking about the "stinking ..."


On Tue, 13 Dec 2005, Richard Katz wrote:

> A PETSc linked-list object might also be useful in implementations of
> characteristics-based advection schemes such as semi-Lagrangian advection.
> Perhaps you could give it some sorting methods too?
> 
> but then again, this is just "stinking computer science"...
> 
> Rich
> 
> 
> On Dec 13, 2005, at 1:22 PM, Richard Tran Mills wrote:
> 
> > I agree with Matt's take on this.  Having a linked-list to be used
> > throughout PETSc as appropriate could be quite useful.
> > 
> > I am a fan of doubly-linked list implementations like the one described at:
> > 
> >   http://www.cs.utk.edu/~plank/plank/classes/cs360/360/notes/Dllists/
> > 
> > (This is part of Jim Plank's libFDR library, which also includes a nice
> > red-black tree implementation.)
> > 
> > Jim's Dllist stuff stores "Jvals" which are a union of all intrinsic C data
> > types -- that way you can stash whatever you want in a node of the list.  I
> > don't know if an approach that general is needed in PETSc or not, but the
> > flexibility is nice.
> > 
> > --Richard
> > 
> > Matthew Knepley wrote:
> > 
> > >      If we are really going to do this, shouldn't we approach it as a
> > > data structures problem? We need a certain structure, which here appears
> > > to be "vector", or maybe "list". We make a general interface, and then
> > > code up some implementation, like a linked list. Then we can use this
> > > interface/impl other places in the code, like the LU part, rather than
> > > rely on our old cut&paste strategy.
> > >      Matt
> 
> 




More information about the petsc-dev mailing list