Re: [Libmesh-devel] FEMContext design issue

2009-01-11 Thread Roy Stogner
On Sun, 11 Jan 2009, John Peterson wrote: > Maybe you can hide that behind another function call. For example, > > const std::vector& JxW = this->context()->fe->get_JxW(); > > (the this-> part is of course not necessary). The first call to > context() performs the dynamic_cast to a FEMContext*

Re: [Libmesh-devel] FEMContext design issue

2009-01-11 Thread John Peterson
On Sun, Jan 11, 2009 at 5:48 PM, Roy Stogner wrote: > > On Sat, 10 Jan 2009, John Peterson wrote: > > It sounds like you've got it right. And I guess requiring a context > factory method and reinit method for new context classes isn't so bad; > 99% of users won't need to create a new context clas

Re: [Libmesh-devel] FEMContext design issue

2009-01-11 Thread Roy Stogner
On Sat, 10 Jan 2009, John Peterson wrote: > How low-level do users of BSys::method() need to get? I mean, is it > imperative that they be able to provide the context, or is the library > going to be smart enough to do it for them? Well, it depends on how much context they need. The library wil

Re: [Libmesh-devel] FEMContext design issue

2009-01-10 Thread John Peterson
On Fri, Jan 9, 2009 at 5:29 PM, Roy Stogner wrote: > > To enable a bit more modularity, automatic multithreading, etc., as > I've mentioned before, I'd like to change the DiffSystem/FEMSystem > interface. > > Right now, the library has methods like: > > DiffSystem::element_residual() > > Which, ov

Re: [Libmesh-devel] FEMContext design issue

2009-01-09 Thread Derek Gaston
Well what I gave you was non optimal for sure... And not exactly what we have implemented... But there will always be some overhead with this scheme. We get away with it by caching references/pointers to the data and only updating them when necessary. Also you don't have to use maps. You

Re: [Libmesh-devel] FEMContext design issue

2009-01-09 Thread Roy Stogner
On Fri, 9 Jan 2009, Derek Gaston wrote: > (Sorry if you get multiples I was having trouble sending it) In an odd coincidence, one thing I don't like about your idea is the inefficiency. ;-) It sounds like you've got a pretty good solution for some cases, but it won't work for my user appli

Re: [Libmesh-devel] FEMContext design issue

2009-01-09 Thread Derek Gaston
Let's see... we _do_ have a similar situation in one part of our code and one solution is instead of storing data as member variables of a class store them in containers in that class that way there is one interface... but any of the derived objects can provide whatever data the

Re: [Libmesh-devel] FEMContext design issue

2009-01-09 Thread Derek Gaston
(Sorry if you get multiples I was having trouble sending it) Let's see... we _do_ have a similar situation in one part of our code and one solution is instead of storing data as member variables of a class store them in containers in that class that way there is one interface... bu