Further to this, I debugged into PetscObjectTypeCompare().

It's returning PETSC_FALSE because the type name of the variable mat is "seqbaij" (and I guess would normally be something like "mpibaij" if running in parallel outside gdb), which doesn't match with MATMFFD (= "mffd").

Does that mean I should be setting the matrix type to MATMFFD to get this to work?

- Adrian


On 24/06/16 16:35, Adrian Croucher wrote:
On 24/06/16 15:58, Adrian Croucher wrote:

I will try debugging into MatMFFDSetType() and seeing what it's doing when I pass in "ds".


I did this. In MatMFFDSetType() (mffd.c: 116), it executes

ierr = PetscObjectTypeCompare((PetscObject)mat,MATMFFD,&match);CHKERRQ(ierr);

which returns match = PETSC_FALSE. The next line

  if (!match) PetscFunctionReturn(0);

means it just returns out of there without doing anything.

- Adrian

--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: [email protected]
tel: +64 (0)9 923 84611

Reply via email to