Desired behavior of Sliced

Jed Brown jed at 59A2.org
Fri Apr 10 11:50:16 CDT 2009


I have run into some issues with Sliced for bs!=1.  I have mostly fixed
them and can push a patch after testing, but had a couple questions
about the desired behavior.

First, matrix preallocation cannot pass the same d_nnz,o_nnz for AIJ and
BAIJ.  I think the user should provide the BAIJ version and Sliced
should generate the AIJ version if necessary.  This should respect
(something like) DASetBlockFills.  Do you think DMSetBlockFills is a
good idea, or just SlicedSetBlockFills?

Also, with SlicedSetGhosts, we have a few choices for the arguments

  nlocal
  Nghosts
  ghosts

Should nlocal be the number of blocks or the total number of entries?
The latter is consistent with VecCreateGhostBlock, but I'm not convinced
it's most natural since other block operations are indexed by block.
Certainly Nghosts should be the number of blocks, and then ghosts can
either be indexed by block or by first entry of each block (again, the
latter is consistent with VecCreateGhostBlock).

Presumably in SlicedGetMat, we should set both the block and scalar
local-to-global map.  My patch fixes preallocation (minus block fills)
and provides both local-to-global maps, while staying consistent with
VecCreateGhostBlock.  Unless I hear otherwise, I'll push it after some
testing.

Jed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090410/0018c305/attachment.sig>


More information about the petsc-dev mailing list