On Oct 23, 2011, at 4:33 AM, Dominik Szczerba wrote:

>>    The reason it is there is because, except for input vectors x and y with 
>> very specific layout having VecScatterCreate() create default index sets 
>> leads to errors (because how is it suppose to know what parts of the vector 
>> you want0 and this is confusing for users.
> 
> To me "scatters all values" and "fills entire vector yin", as per the
> documentation, is unambiguous.
> 
>>     The best solution is for you to pass in an index set for either one or 
>> both of the IS arguments.
> 
> This is changing very many lines in a few codes, so I am looking for a
> minimalistic approach. Am I rigorously correct, or just lucky till the
> next release, to replace the first PETSC_NULL with IS created with
> ISCreateStride?

   Yes. Just make the local size of the scatter the same as the local size of 
the vector.

> I am only doing SCATTER_FORWARD.
> 
> Many thanks,
> Dominik
> 
>> 
>>     Barry
>> 
>> On Oct 22, 2011, at 4:56 PM, Dominik Szczerba wrote:
>> 
>>> After upgrade to 3.2 I face the following error:
>>> 
>>> ERROR: VecScatterCreate() line 841 in
>>> /home/dsz/pack/petsc-3.2-p3/src/vec/vec/utils/vscat.c Cannot pass
>>> default in for both input and output indices
>>> 
>>> My code is:
>>> 
>>> VecScatterCreate(bv0, PETSC_NULL, bv0Seq, PETSC_NULL, &ctx);
>>> 
>>> According to the docu, there is nothing wrong passing PETSC_NULL for
>>> both, it was also fine in 3.1. I find no mention of any changes here
>>> in the 3.2 Changes documentation. What have I missed here?
>>> 
>>> Regards,
>>> Dominik
>> 
>> 

Reply via email to