With petsc-3.7.5, I had F90 code like this:

  CALL MatSeqAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,ierr); 
CHKERRQ(ierr)
  CALL 
MatMPIAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,PETSC_NULL_INTEGER,o_nnz,ierr);
 CHKERRQ(ierr)

which worked fine. Now, with petsc-3.8.4, the same code gives this compilation 
error:

  error #6634: The shape matching rules of actual arguments and dummy arguments 
have been violated.   [PETSC_NULL_INTEGER]
  CALL MatSeqAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,ierr); 
if (ierr .ne. 0) then ; call PetscErrorF(ierr); return; endif
----------------------------------------------^
  error #6634: The shape matching rules of actual arguments and dummy arguments 
have been violated.   [PETSC_NULL_INTEGER]
  CALL 
MatMPIAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,PETSC_NULL_INTEGER,o_nnz,ierr);
 if (ierr .ne. 0) then ; call PetscErrorF(ierr); return; endif
----------------------------------------------^

What's the intended usage now, simply 0 instead of PETSC_NULL_INTEGER?

Chris


dr. ir. Christiaan Klaij  | Senior Researcher | Research & Development
MARIN | T +31 317 49 33 44 | mailto:c.kl...@marin.nl | http://www.marin.nl

MARIN news: 
http://www.marin.nl/web/News/News-items/120-papers-presented-at-NAV2018.htm

Reply via email to