I ran into a problem yesterday where a call to DMDACreate3d gave an error 
message about the size being too big and that I should use —with-64-bit-indices.

So I recompiled PETSc (latest version, 3.6.2) with that option, but when I 
recompiled my code, I found the following errors:


  call VecGetArrayF90(vSeqZero,ptr_a,ierr)
                                       1
Error: Type mismatch in argument 'ierr' at (1); passed INTEGER(8) to INTEGER(4)

  call VecRestoreArrayF90(vSeqZero,ptr_a,ierr)
                                           1
Error: Type mismatch in argument 'ierr' at (1); passed INTEGER(8) to INTEGER(4)

  call DMDAVecGetArrayF90(da,J,ptr_j,ierr)
                                                 1
Error: There is no specific subroutine for the generic 'dmdavecgetarrayf90' at 
(1)


So strangely, even though all my variables are defined like PetscInt, 
PetscReal, etc, VecGetArrayF90 is still expecting a 4 byte integer, which is 
easy enough for me to do, but there seems to be a problem with 
DMDAVecGetArrayF90. In the meantime, I’ll switch to VecGetArrayF90, and retry 
my code, but I thought I’d pass along these error messages.


Randy M.

Reply via email to