On Dec 7, 2010, at 1:59 PM, Jed Brown wrote:

> On Tue, Dec 7, 2010 at 20:53, Barry Smith <bsmith at mcs.anl.gov> wrote:
> BTW: I consider the DMDA Vec just a very special case that gets way to much 
> attention and can sometimes distort the overall design of PETSc in issues 
> that are not important in that non-special case.
> 
> Along these lines, I'm curious about using an API like VecGhost for the DA.  

   Interesting suggestion. 

> That is, what if there was a level where a Vec could know about a local form. 
>  When you get the local form, one implementation would return the contiguous 
> local form (no copy) and another implementation would return a separate 
> vector.  

  How with the DMDA could you have a no copy and still allow nice 2 d and 3d 
array access of ghost points? It seems to me with DMDA you would always need a 
copy (or some crazy overloading of [])? Or do you mean in the DMDA case you get 
a copy but in the unstructured grid case you get no copy, but the basic 
paradigm of "local form" is always used? 


   Barry

> Then you could VecUpdateVector(Xglobal,Xlocal,imode,scattermode) or so (need 
> an unambiguous name).  Then DMComposite could operate without forcing 
> separate local and global vectors.

  In other words all parallel Vecs could have related local forms and the model 
is "give me local form Vec", scatter to/from local form vec etc? 

   Barry

> 
> Jed


Reply via email to