← Back to team overview

dolfin team mailing list archive

Re: Removal of constructor Function(V, x)?

 


On 21 Nov 2011, at 21:53, "Marie E. Rognes" <meg@xxxxxxxxx> wrote:

> 
> 
> On 21. nov. 2011, at 21:52, Anders Logg <logg@xxxxxxxxx> wrote:
> 
>> On Mon, Nov 21, 2011 at 08:46:13PM +0000, Garth N. Wells wrote:
>>> On 21 November 2011 13:07, Anders Logg <logg@xxxxxxxxx> wrote:
>>>> On Sun, Nov 20, 2011 at 11:55:43PM +0100, Anders Logg wrote:
>>>>> On Sun, Nov 20, 2011 at 11:49:42PM +0100, Marie E. Rognes wrote:
>>>>>> 
>>>>>> 
>>>>>> On 20. nov. 2011, at 23:31, Anders Logg <logg@xxxxxxxxx> wrote:
>>>>>> 
>>>>>>> Is anyone using the Function constructor that takes a vector as input
>>>>>>> argument?
>>>>>>> 
>>>>>>> Function u(V, x);
>>>>>>> 
>>>>>> 
>>>>>> Yes.
>>>>> 
>>>>> Does it work? In parallel?
>>>>> 
>>>>> Does it not work to instead use
>>>>> 
>>>>>  x = u.vector()
>>>>> 
>>>>> ?
>>>>> 
>>>>> If you need it, we should keep it but add an error message that it
>>>>> doesn't work in parallel, unless it does...
>>>> 
>>>> Any more input on this? There are several options:
>>>> 
>>>> 1. Remove this constructor
>>>> 
>>>> 2. Throw an error when running in parallel
>>>> 
>>>> 3. Check that the input vector makes sense
>>>> 
>>>> The last one is problematic since I don't see an easy way to perform
>>>> the check, other than calling get_local and having it fail.
>>>> 
>>> 
>>> I haven't heard any reason why it can't be removed. We may need to fix
>>> assignment (re earlier discussion on assign) to just copy values and
>>> not the whole object so that a user can get the vector and then assign
>>> values to it without messing up the ghosting.
>> 
>> Sounds good, but I want to wait for Marie to comment before I remove
>> it. She is using it.
>> 
>> Marie? Does it work for you to use x = u.vector()?
>> 
> 
> Probably. However removing the constructor would be changing parts of the basic interface, which I think is a bad idea. 
> 
> Add a warning if you want to deprecate it later. 
> 

Isn't the time to make an interface change now rather than later?

Garth


> --
> Marie
> 
> 
>> --
>> Anders


Follow ups

References