"Smith, Barry F. via petsc-users" <petsc-users@mcs.anl.gov> writes:

>    Well the thing is the indices you pass in are currently always
>    "blocked base", they work automatically for both blocked and non
>    blocked versions of MatSetValuesLocal(). 

What do you mean?  You pass block indices to MatSetValuesBlocked and
scalar indices to MatSetValues.  In MatSetValues_SeqBAIJ, for example

  for (k=0; k<m; k++) { /* loop over added rows */
    row  = im[k];
    brow = row/bs;

>    To support what you want you need to be able to pass in nonblock
>    based version of the indices and (as you noted) keep track of
>    whether you pass in the blocked or non blocked indices so you can
>    apply the scaling or not.
>
>    Ok, give it a try, it does change the interface a bit but I suppose
>    is worth it since it introduces more functionality.

How would the interface change?

Reply via email to