[petsc-users] ERROR: Cannot pass default in for both input and output indices

Barry Smith bsmith at mcs.anl.gov
Sat Oct 22 18:54:53 CDT 2011


  Dominik,

    In VecScatterCreate() is the new line   if (!ix && !iy) SETERRQ(((PetscObject)xin)->comm,PETSC_ERR_SUP,"Cannot pass default in for both input and output indices");
you can try taking that out and see what happens.

    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.

     The best solution is for you to pass in an index set for either one or both of the IS arguments.

     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



More information about the petsc-users mailing list