On Nov 9, 2012, at 8:12 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Fri, Nov 9, 2012 at 7:58 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Just an implementation issue. To me the correct abstract model is "indices of 
> an element" etc and whether this is done via a "closure" or listing them etc 
> is just an implementation issue.
> 
> Right, I don't think it should be visible in the access interface whether the 
> implementation has built an Index (in the DB sense) providing the closure 
> directly or whether it's constructed on the fly from whatever indirect 
> information. There is a meaningful distinction between getting the dofs 
> associated with the element or face _interior_ versus its closure.
>  
>    I realize this is different than Matt's abstract model. I am not saying my 
> model is better than Matt's (from an abstract mathematicians Matt's is 
> probably better) but I believe my model is much more sellable to the masses 
> (remember very few abstract mathematicians use PETSc :-)).
> 
> Just a few months ago, you were arguing that (u,v) = \int u conj(v) since 
> that was the Math Convention and PETSc was for Mathematicians.

  touche

>  
>    So we are set? We design and implement a better, more general IS concept?
> 
> I think so. I think Matt wants still to pull "fields" in, as well as perhaps 
> constraints (for BCs).

   He is wrong, that all belongs in DMs.

> 
> Now where do we put the convenience interface of accessing a chunk of data in 
> a Vec or array? Or does the new IS interface only give use the index range 
> associated with the block and we as the caller must do the indexing? (I'm not 
> opposed to the latter. It's slight clutter but removes more from the inner 
> loop.)

   Accessing from an array? Maybe

    Accessing from a vector? Unlikely since the destroys the hierarchy of IS 
below Vec. So that part may need to be in the Vec,  maybe 
VecGetSection(vec,index tag,is,&values) 

Reply via email to