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