Hello, I'm trying to solve for the first ten smallest eigenvalues of a diffusion equation in a 3d heterogeneous medium (varying diffusion coefficient), but I'm getting an error message:
Traceback (most recent call last): > File "eigendrake_spe10_v2.py", line 121, in <module> > es.solve() > File "SLEPc/EPS.pyx", line 1132, in slepc4py.SLEPc.EPS.solve > petsc4py.PETSc.Error: error code 55 > [0] EPSSolve() line 136 in > /tmp/pip-req-build-6t_4bkg3/src/eps/interface/epssolve.c > [0] EPSSetUp() line 269 in > /tmp/pip-req-build-6t_4bkg3/src/eps/interface/epssetup.c > [0] STSetUp() line 271 in > /tmp/pip-req-build-6t_4bkg3/src/sys/classes/st/interface/stsolve.c > [0] STSetUp_Shift() line 119 in > /tmp/pip-req-build-6t_4bkg3/src/sys/classes/st/impls/shift/shift.c > [0] KSPSetUp() line 391 in > /tmp/pip-req-build-070lpqqd/src/ksp/ksp/interface/itfunc.c > [0] PCSetUp() line 932 in > /tmp/pip-req-build-070lpqqd/src/ksp/pc/interface/precon.c > [0] PCSetUp_LU() line 99 in > /tmp/pip-req-build-070lpqqd/src/ksp/pc/impls/factor/lu/lu.c > [0] MatLUFactorSymbolic() line 3111 in > /tmp/pip-req-build-070lpqqd/src/mat/interface/matrix.c > [0] MatLUFactorSymbolic_SeqAIJ() line 366 in > /tmp/pip-req-build-070lpqqd/src/mat/impls/aij/seq/aijfact.c > [0] PetscMallocA() line 390 in > /tmp/pip-req-build-070lpqqd/src/sys/memory/mal.c > [0] MatLUFactorSymbolic_SeqAIJ() line 366 in > /tmp/pip-req-build-070lpqqd/src/mat/impls/aij/seq/aijfact.c > [0] Out of memory. Allocated: 0, Used by process: 14097043456 > [0] Memory requested 18446744069467867136 I'm using code from Firedrake Project <https://www.firedrakeproject.org/> (finite-element method) to discretize the equations. My code is available here: https://github.com/rbpiccinini/codes/blob/master/eigendrake/eigendrake_spe10_v2.py The code was run with 64GB available as RAM memory. The requested memory seems to be abnormally high, though. I'm able to solve for the eigenvalues of a 2d smaller problem. However, if I try to solve the 3d problem, I get the out of memory error. Could anybody help me understand the issue? Thanks in advance. -- Rodrigo
