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