From: Roy S. <roy...@ic...> - 2010-04-30 19:44:49
|
On Fri, 30 Apr 2010, Derek Gaston wrote: > On Apr 30, 2010, at 1:14 PM, Roy Stogner wrote: > > I went a little *too* OO with FEMSystem - in hindsight there should > have been a separate subclassable Physics object to attach which > included the residual evaluation functions, and requiring subclassing > of FEMSystem itself was more work and less flexible. > > > Yeah - but all we're talking about here is an abstract base class that consists of: > > class ProblemInterface > { > public: > virtual void residual() = 0; > virtual void jacobian() = 0; > }; > > It's not going to be a huge burden... Okay, I misunderstood what we were talking about then. This is just fine - it effectively *is* what I was calling a "functor" approach, despite it not being a plain "overload operator()". I thought you were talking about requiring users to overload NonlinearSystem. > About backward compatibility: come on! This is adding _one_ > argument to _two_ functions. Most codes will be able to fix this in > 10 seconds! We can change it and announce it on libmesh-users and > it will be fine. If users are upset about that small of a change... > then they should be using a libMesh release instead of svn.... Fair enough. I'll leave the decision up to Ben; he's the first person I thought of who would be affected. --- Roy |