On Thu, Jul 02, 2009 at 01:19:59PM +0200, Johan Hake wrote: > On Thursday 02 July 2009 13:07:47 Garth N. Wells wrote: > > Marie Rognes wrote: > > > Garth N. Wells wrote: > > >> Marie Rognes wrote: > > >>> The following code gives r = 0.0. It is not supposed to be. > > >>> > > >>> The problem seems to be that f's vector is still all zeros at the call > > >>> to interpolate. Could this be easily fixed? > > >> > > >> This example should have led to an error message since f is not a > > >> discrete function. I'll take a look. > > > > > > Ok, thanks! > > > > > > However, > > > > > > (a) Why is f not a discrete function? (It is defined on a finite element > > > space?) > > > > On second thought, it may be a discrete function. I think that this is > > defined in the Python interface and not the C++ interface, so I'll take > > a look. > > A user defined function is not a discrete function untill you either call > interpolate() or vector, also in python. The problem with the later is that > you then create a vector which is initialized to 0. > > I think this has been discussed before, but should we populate the vector > using f.interpolate() when vector is called on a userdefined function? > > johan
Yes! (I still think we should.) -- Anders
signature.asc
Description: Digital signature
_______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev