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

Reply via email to