On 24 Feb 2015, at 19:27, Matthew Knepley <[email protected]> wrote:

> That is what happens. It does check for snes->jacobian, but that would not
> be
> set on coarse levels anyway. I think we should have an option that makes
> SNESSetUpMatrices() create two matrices.

In the general case, snes->jacobian and snes->jacobian_pre will have different 
sparsity, but if I just call back to DMCreateMatrix twice I won't know which 
one to make.  One way to fix this would be for DMCreateMatrix to have the 
option of creating two matrices at once:

DMCreateMatrix(dm, Mat *mat, Mat *pmat)

One could then call

DMSetCreateMatricesSeparately(PETSC_TRUE)

(better names much appreciated).

to indicate that one wants separate matrices for the jacobian and its pmat.

Thoughts?

Lawrence

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to