dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #15807
Re: [HG DOLFIN] merge
On Tue, Sep 29, 2009 at 11:05:55PM +0100, Garth N. Wells wrote:
>
>
> 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.
> >
>
> Should we have the functions
>
> void Function::interpolate(const Expression& expression)
> const Function& Function::operator= (const Expression& expression)
>
> to interpolate an expression in a FE space?
Yes, and these should replace the old u.interpolate() function.
--
Anders
Attachment:
signature.asc
Description: Digital signature
References