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?
>

Or perhaps Function::vector() should throw an error if the vector has 
not already been allocated.

Garth


> 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