Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Smith, Barry F.
> On May 14, 2018, at 12:04 PM, Sanjay Govindjee wrote: > > Yes the error is shape mis-match since PETSC_NULL_INTEGER has been changed to > be an array (whereas it used to just be an integer), and the subroutine is > expecting an integer not an array. > > If 0 is what

Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Sanjay Govindjee
Yes the error is shape mis-match since PETSC_NULL_INTEGER has been changed to be an array (whereas it used to just be an integer), and the subroutine is expecting an integer not an array. If 0 is what will always be expected, then I agree, just pass 0. But if there is a potential for this to

Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Smith, Barry F.
> On May 14, 2018, at 10:45 AM, Sanjay Govindjee wrote: > > Barry, > Is it then incorrect (and potentially dangerous) to use > PETSC_NULL_INTEGER(1) for these arguments, even if that > currently works? I thought you got warnings or errors because you are passing an

Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Satish Balay
Its best to avoid passing 'constant' values directly to petsc fortran routines. For eg: src/ksp/ksp/examples/tests/ex16f.F90 PetscInt izero izero = 0 etc.. Satish On Mon, 14 May 2018, Smith, Barry F. wrote: > Chris, > >These arguments should never have been

Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Sanjay Govindjee
Barry,   Is it then incorrect (and potentially dangerous) to use PETSC_NULL_INTEGER(1) for these arguments, even if that currently works? -sanjay On 5/14/18 5:40 PM, Smith, Barry F. wrote: Chris, These arguments should never have been PETSC_NULL_INTEGER since they are integers (and not

Re: [petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Smith, Barry F.
Chris, These arguments should never have been PETSC_NULL_INTEGER since they are integers (and not pointers or arrays), you should pass 0 for them. Barry > On May 14, 2018, at 4:45 AM, Klaij, Christiaan wrote: > > With petsc-3.7.5, I had F90 code like this: > > CALL

[petsc-users] using PETSC_NULL_INTEGER in preallocation routines

2018-05-14 Thread Klaij, Christiaan
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