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

> > (b) I would very much like this not to give an error, but rather work ;)
> > I would use something like this all the time when checking convergence.
>
> Just do
>
>    f.interpolate()
>
> Garth
>
> > --
> > Marie
> >
> >> Garth
> >>
> >>> --
> >>> from dolfin import *
> >>>
> >>> mesh = UnitSquare(1,1)
> >>> V_h = FunctionSpace(mesh, "CG", 1)
> >>> f = Function(V_h, "1.0")
> >>>
> >>> Q_h = FunctionSpace(mesh, "DG", 1)
> >>> Pi_f = interpolate(f, Q_h)
> >>>
> >>> r = norm(Pi_f)
> >>> print "r = ", r
> >>> ---
> >>>
> >>> --
> >>> Marie
> >>>
> >>>
> >>> _______________________________________________
> >>> DOLFIN-dev mailing list
> >>> DOLFIN-dev@fenics.org
> >>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@fenics.org
> http://www.fenics.org/mailman/listinfo/dolfin-dev


_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@fenics.org
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to