Author Topic: Error reading and/or creating large meshes  (Read 16504 times)

JStorm

  • Sr. Member
  • ****
  • Posts: 250
Re: Error reading and/or creating large meshes
« Reply #15 on: June 30, 2021, 10:37:35 PM »
If you really want to get to crazy large problems you can build feap with ipr.eq.1 but you will also have to re-build petsc to use large integers too.

I had tried to compile parFEAP 8.4 and PETSc with integer*8.
But this is not working because the data size for the MPI commands is hard coded into parFEAP.

arktik

  • Jr. Member
  • **
  • Posts: 46
Re: Error reading and/or creating large meshes
« Reply #16 on: July 01, 2021, 06:31:41 AM »
Thank you very much Prof. Govindjee for the solution. It worked flawlessly. I tested both the partitioning and the full solution of very large meshes with history (so far successful up to ~50E6 elements).

I haven't yet approached or tested a problem of the order of 1E8 or 1E9 elements. But I think correction in write statements and full integration with integer(kind=8) for PETsc (NB. JStorm's remark) should be added to the wish list for future releases.

Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1164
Re: Error reading and/or creating large meshes
« Reply #17 on: July 01, 2021, 08:58:08 AM »
@JStorm

Why do you think that is?  FEAP itself only uses integer:: declarations, so the compile flag should take care of those.  Its connection to PETSc is via PETSc variable declarations so those should be ok.  The only thing that could perhaps be amiss is the direct MPI calls that use things like MPI_INT but if the PETSc build was done as 64-bit then I would imagine that those should be ok too (assume the MPI was configured and built together with the PETSc).

Do you see some other spots where this is a problem?  If it is the MPI calls, then replacing the data type macro with PETSC_INT should fix that problem.  Writing some small standalone test programs should sort the issue out quickly.

JStorm

  • Sr. Member
  • ****
  • Posts: 250
Re: Error reading and/or creating large meshes
« Reply #18 on: July 01, 2021, 12:26:21 PM »
Dear Prof. Govindjee,

I took a look into my tests which I had performed on FEAP 8.4 about two years ago.
You are right. The PETSc interface is implemented via PETSc data type declarations.
PetscInt was successfully set to integer*8. MPICH was compiled with PETSc.
However, MPI_INT was still integer*4.

That was the point where a big integer MPI compilation could work.
On the other side, setting the data size in the MPI calls to either integer or introducing a FEAP_INT could be a better solution.
But the time for further tests and modifications was more then I could offer.


Prof. S. Govindjee

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 1164
Re: Error reading and/or creating large meshes
« Reply #19 on: July 01, 2021, 12:50:02 PM »
I am guessing that using PETSC_INT will then solve the problem.  I will put that on the to do list.

JStorm

  • Sr. Member
  • ****
  • Posts: 250
Re: Error reading and/or creating large meshes
« Reply #20 on: July 01, 2021, 01:28:32 PM »
great