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
signature.asc
Description: Digital signature
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
