[petsc-dev] Bug introduced in MatGetSubmatrices()

Matthew Knepley knepley at gmail.com
Fri Jan 20 11:49:29 CST 2017


On Fri, Jan 20, 2017 at 10:49 AM, Hong <hzhang at mcs.anl.gov> wrote:

> Matt,
> By default, the flag C->submat_singleis = false.
> In PCSetUp_ASM(), we set it as 'true' to use MatGetSubMatrices_MPIAIJ_
> SingleIS().
>
> Can you check the value of this flag in your case?
>

The problem is the following:

  1) We use MatGetSubMatrices() to extract small matrices in order to form
a preconditioner

  2) We do this at each Newton iteration

  3) We use ASM as a preconditioner for the eventual Newton solve

  4) The second time we call MatGetSubMatrices(), it has this flag set,
even though we are using multiple ISes

Solution: ALSO check that the user is in fact passing a single IS.

  Matt


> Hong
>
>>
>> It comes from here:
>>>
>>>   https://bitbucket.org/petsc/petsc/commits/c10200c1442b553b
>>> 7ad65c70101560db4fa22e78
>>>
>>> If we ask for more than 1 matrix, it dispatches to
>>>
>>>   MatGetSubMatrices_MPIAIJ_SingleIS()
>>>
>>> but then fails here
>>>
>>>   https://bitbucket.org/petsc/petsc/annotate/2e559809f9aee9c
>>> 95ee79eb0939630cfe5502c8d/src/mat/impls/aij/mpi/mpiov.c?at=m
>>> aster&fileviewer=file-view-default#mpiov.c-1306
>>>
>>> because ismax > 1. I think the ismax check needs to move up to here
>>>
>>>   https://bitbucket.org/petsc/petsc/annotate/2e559809f9aee9c
>>> 95ee79eb0939630cfe5502c8d/src/mat/impls/aij/mpi/mpiov.c?at=m
>>> aster&fileviewer=file-view-default#mpiov.c-2012
>>>
>>> but I don't know for sure. Please fix this since it is breaking PyLith.
>>>
>>>   Matt
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to which their
>>> experiments lead.
>>> -- Norbert Wiener
>>>
>>
>>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170120/236d60d9/attachment.html>


More information about the petsc-dev mailing list