Anders Logg wrote:
> On Thu, Jul 02, 2009 at 01:42:41PM +0200, Johan Hake wrote:
>> On Thursday 02 July 2009 13:24:28 Garth N. Wells wrote:
>>> 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.
>> I vote for this.
>>
>> The error message can include information about the user might want to call 
>> interpolate?
>>
>> Johan
> 
> Sounds good.
>

Unfortunately this won't work because we often do

     Function u(V);
     solve(A, u.vector(), b);

Garth

> Just to check: this only occurs (in Python) when a user defines a
> Function using a C++ expression or overloads eval(), right?
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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