← Back to team overview

dolfin team mailing list archive

Re: DOLFIN-stable

 

On Tue, Dec 05, 2006 at 10:47:54PM +0100, Garth N. Wells wrote:
> I see modules as a conglomerations of low-level functionality to produce 
> something specialised, but of sufficient importance and appeal to 
> warrant inclusion. This might be in the form of solver, but could be 
> something else. Modules together building blocks to do something useful 
> and likely complicated. Inevitably as the number of modules expand, some 
> modules will depend on other modules.

Yes, this is also how I see modules. However, I think it's important
to make the separation between a module according to this definition,
and just a pure equation which only uses tools from the kernel and
does not provide any significant low-level functionality
itself.

I think though that if modules start depending on eachother, then that
functionality should be moved to the kernel? Or do you see modules
more as "drivers" for the Linux kernel? I think that's a different
concept. If something is general and used for solving equations, then
it should be in the kernel.

...

> Is the form for a given equation unique? I don't think so. It's not 
> possible to strictly separate equations and solvers.

If the (weak) equation is unique, then the form should also be unique,
since it should just be a transcription into the form language. I
admit we don't yet have a canonical form for PDEs, but surely you
agree that this is the aim? Two candidates are:

(dot(u), v) = (f(u), v)

or 

(R(u), v) = 0

Right now the finite element is specified in the form, but that is
separate, since it determines the discretization method.

It should be an equivalent situation to solving initial value ODEs.

> Building on what I wrote above, I like the way it is now. I would like 
> to have modules which are useful tools built on top of the kernel 
> functionality.

Yes, I am not opposing this. The difference seems to be that you
believe they indefinitely will stay as equation-specific modules,
where I believe they eventually will be generalized or obsoleted by
other general functionality in the kernel. But these two opinions can
co-exist, it's absolutely no problem.

  Johan


References