On 09/20/2012 02:08 PM, Roy Stogner wrote:
> Since various FEMSystem changes are on their users' minds lately, it
> might be good to mention some more serious changes I'd been
> considering for some time after the next official libMesh release:
>
> 1.  Separate the "output" parts of the Context classes into a separate
> class.  Right now we're passing around Context objects which contain
> output members (element residual/jacobian, local qoi, etc) along with
> input members (element solutions, FE data, etc), and because the
> former can't be const we're prevented from enforcing const-correctness
> on the latter.  Leaving the inputs in the Context class and creating
> something like a DiffOutput/FEMOutput class (or better name t.b.d.)
> for everything mutable would fix that.
>
> 2.  Put accessors around the raw member variables.  Hopefully then
> future changes would be less likely to cause API breakage.
>
> 3.  Shorten some of the member names: "DiffContext::elem_solution"
> would become "DiffContext::solution", for example.  Vikram just
> pointed out to me that it's somewhat odd to have a side_qoi() function
> assembling into a context.elem_qoi variable.
>
> Any other suggestions?  Obviously this would break everybody's
> DiffContext code (even the reduced_basis people would have to make
> changes like "c.elem" -> "c.elem()"), so "what are you thinking, just
> leave it alone" would also be acceptable feedback.  :-)

I wouldn't mind these API changes, short term pain for long term gain...

In terms of renaming, some people using the RB code have been confused 
by the "jacobian" and "residual" nomenclature, which isn't relevant when 
you're assembling linear systems. How about "matrix" and "rhs" or 
something instead?



------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to