dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #14179
Re: Issues with interpolate
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@xxxxxxxxxx
> >>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
Follow ups
References