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.  :-)
---
Roy

------------------------------------------------------------------------------
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