On Tue, Sep 29, 2009 at 10:10:54PM +0200, Anders Logg wrote: > 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.
UFCFunction can also be removed when the Function class has been cleaned up. -- Anders
signature.asc
Description: Digital signature
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
