<div class="gmail_quote">On Mon, Oct 24, 2011 at 15:29, Dominik Szczerba <span dir="ltr"><<a href="mailto:dominik@itis.ethz.ch">dominik@itis.ethz.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":19w">ierr = ISGetLocalSize(ix,&nx);CHKERRQ(ierr);<br>
...<br>
ierr = ISGetLocalSize(iy,&ny);CHKERRQ(ierr);<br>
...<br>
if (nx != ny) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_SIZ,"Local scatter<br>
sizes don't match");<br>
<br>
<br>
<br>
which looks quite suspicious to me, i.e. 1) If iy is PETSC_NULL, how<br>
can its size be queried?</div></blockquote><div><br></div><div>Your confusion comes from not looking at the earlier part of the function where index sets are created if you passed in NULL. The only reason ix=NULL and iy=NULL is not allowed is that it's a rare case that more frequently represents misunderstanding. If it's really what you want, then just make the index set.</div>
</div>