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...
> Yes - doing so with the existing functions would break backwards
> compatibility for other NonlinearSystem users; doing so by adding new
> functions would make the API redundant and confusing, especially if we
> had to do so again later for whatever grander idea we settle on.
I'm not certain we need a grander idea. After thinking about it more... I
really think just adding an argument might be good enough. It really should
have been there since the beginning.
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....
> If you're up to being a guinea pig on the DiffSolver(ImplicitSystem)
> combination then let me know and I'll do that now; if not then I'd
> suggest a private fork until we've got time to put the "grander ideas"
> in place.
Private forks are the path to the darkside. All my users pull sources direct
from sourceforge... I really don't want to change that.
Derek------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel