<div dir="ltr">Hi Satish,<div><br></div><div>Thanks for your reply. </div><div>When the code is compiled using the petsc library built with the option, an error message suggests that I need to use 'long long' rather than 'int'. I can replace variable types with long long in my codes, but I am wondering if there is any better way. If I replace 'int' with 'long long', it means that I have to maintain two versions of PETSC application codes for small and big problems. </div><div><br></div><div>Best,</div><div>Evan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 2, 2020 at 1:47 PM Satish Balay <<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">You need PetscInt to be 64-bit-integer - so rebuild PETSc with the option: --with-64-bit-indices=1<br>
<br>
Satish<br>
<br>
On Tue, 2 Jun 2020, Evan Um wrote:<br>
<br>
> Dear PETSC users,<br>
> <br>
> Using C++, I tried to build a very large sparse matrix and had a problem<br>
> shown below. Indices of the matrix should be "long int" rather than "int"<br>
> but PETSC does not allow this. How could I dodge this problem? Thanks for<br>
> your comments.<br>
> <br>
> Regards,<br>
> Evan<br>
> <br>
> fe.cpp(2009): error: argument of type "long *" is incompatible with<br>
> parameter of type "const PetscInt={int} *"<br>
>                 ierr=MatSetValues(Bseq, 1, &mat_b_i_partitioned[i], 1,<br>
> &mat_b_j_partitioned[i], &mat_b_val_partitioned[i], ADD_VALUES);<br>
> <br>
<br>
</blockquote></div>