[petsc-users] problem using 64-bit-indices

Randall Mackie rlmackie862 at gmail.com
Tue Nov 17 17:06:16 CST 2015


Thanks Satish,

This fixed all error messages.

Randy


> On Nov 17, 2015, at 9:12 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> 
> 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.



More information about the petsc-users mailing list