dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #15796
Re: [HG DOLFIN] merge
On Tue, Sep 29, 2009 at 08:55:03PM +0100, Garth N. Wells wrote:
> I'm looking forward to seeing the new code. Is all the old functionality
> still in place?
Yes and no. Everything except the generated CoefficientSet stuff
should still work in the C++ interface, but the Python interface won't
work until the corresponding changes have been made on the Python side.
Here's some more information about the changes:
1. Subclassing Function and overloading eval() has been replaced by
the Expression subclass which works in the same way with eval().
2. All the old functionality/logic of the Function class is still in
place but it can now be cleaned up and simplified.
3. A Function will now *always* have a FunctionSpace and *always* have
a vector.
4. An Expression *never* has a FunctionSpace and *never* has a vector.
5. FunctionSpaces are not attached to coefficients when doing a.f = f.
6. The DOLFIN wrappers have been simplified and now rely on the
new very simple CoefficientAssigner class.
7. The assembler works through the common base class Coefficient, in
particular the restrict() function for restricting to a local element.
8. Some checks have been removed in Assembler since a Coefficient does
not (if it is an Expression) have a FunctionSpace so we can't check
value_rank etc.
Things that need to be done now:
1. Clean up Function.
2. Use the Expression class in demos where appropriate (just need to
change the class name, everything else is the same).
3. Fix Python interface.
I won't be touching it until tomorrow afternoon so feel free to poke
around.
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References