MatStash() use linked list of chunks

Richard Katz katz at ldeo.columbia.edu
Tue Dec 13 15:26:58 CST 2005


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