Dear Baagaard,
I hope this message finds you well.
I am currently running a poroelastic simulation using PyLith 4.2.0. The input model file is approximately 38 MB in size. However, the simulation fails at the beginning of the time stepping and produces the following PETSc error:
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: 2147483818 is too big for PetscInt, you may need to ./configure using --with-64-bit-indices.
Could you please advise why this error occurs and how I can resolve it?
For reference, here is the full error message:
/public1/home/a8s000279/pylith-4.2.0-linux-x86_64/lib/python3.12/site-packages/pylith/problems/TimeDependent.py:132:run
– timedependent(info)
– Solving problem.
0 TS dt 1742. time 0.
[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: 2147483818 is too big for PetscInt, you may need to ./configure using --with-64-bit-indices
[0]PETSC ERROR: WARNING! There are unused option(s) set! Could be the program crashed before usage or a spelling mistake, etc!
…
Fatal error. Calling MPI_Abort() to abort PyLith application.
…
RuntimeError: Error detected while in PETSc function.
Thank you very much for your time and assistance.
Best regards,
Xiaoyang
It would help if you could provide more information, including the entire output after Solving problem
.
Are you running in serial or parallel? How many cells and vertices are in the input mesh? Does the same problem (all parameters exactly the same) run with a coarser mesh?
All the files I used are included in the attachments below. As the model requires a relatively precise stress distribution on the fault, further simplification may not be feasible. The file named error.txt contains the error message I encountered; I would be very grateful if you could kindly take a look at it.The model file exceeds 10 MB, so the upload was unsuccessful.
file.zip (35.6 KB)
The PETSc stack trace indicates the error is coming during preallocation of the sparse matrix. This could mean the 64-bit indices are needed or there is some other problem.
Are you running in serial or parallel? How many cells and vertices are in the input mesh?
I am not suggesting that you simplify the mesh or problem for your final run, but checking if a coarse mesh produces the same error can help identify source of the error. For example, if a much coarser mesh produces the same error, then the error is probably related to problem setup. If the coarse mesh does not produce the same error, then it could be related to the mesh or the size of the mesh.
At the moment, I am using single-core serial computation, as my previous attempts at running the model in parallel resulted in no error messages, but the computation did not progress.The computation shows a total of 249,899 vertices (nodes) and 1,369,327 cells (elements), distributed across 21 mesh blocks.
I noticed that this a simulation with poroelasticity and faults. We worked on better solver settings for this case at the PyLith hackathon last month. For the solver settings to work, they require an updated version of PETSc. I will try to find time next week to finalize those updates and put together a bugfix release.
In the meantime, the only workarounds I know are to remove the faults or use a much coarser mesh.
Thank you very much for your kind assistance and prompt response. I sincerely look forward to your further updates.