ierr is of type 'PetscErrorCode' - not 'PetscInt'

Perhaps the dmdavecgetarrayf90 issue is also due to the difference in types 
used for parameters

Satish

On Tue, 17 Nov 2015, Randall Mackie wrote:

> 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