Jonathan Guyer | 10 Jul 19:16

Re: Error in code


On Jul 10, 2008, at 9:58 AM, Rashmi Ranjan Mohanty wrote:

> I am running a Fipy code with a system size of 400x400 mesh points  
> on a Mac Pro 3GHz Dual-Intel Xeon processor with 2GB memory. After  
> running few steps it stops with the following error message:
>
> python(1013) malloc: *** vm_allocate(size=7921664) failed (error  
> code=3)
> python(1013) malloc: *** error: can't allocate region
> python(1013) malloc: *** set a breakpoint in szone_error to debug
> malloc fails for local dworkptr[].Traceback (most recent call last):
>  File "isothermal-new2D.py", line 355, in <module>
>    compRes = compEq.sweep(var = comp, boundaryConditions = BCsC,  
> dt=time, solver=solver)
>  File "/sw/lib/python2.5/site-packages/fipy/terms/term.py", line  
> 153, in sweep
>    self._solveLinearSystem(var, solver, matrix, RHSvector)
>  File "/sw/lib/python2.5/site-packages/fipy/terms/term.py", line  
> 102, in _solveLinearSystem
>    solver._solve(matrix, array, RHSvector)
>  File "/sw/lib/python2.5/site-packages/fipy/solvers/ 
> linearLUSolver.py", line 92, in _solve
>    LU = superlu.factorize(L._getMatrix().to_csr())
> MemoryError
>
> I guess it has something to do with memory, but could not figure out  
> a solution.
> I would appreciate your help.

My suspicion would lie on your use of the LU solver. The PySparse LU  
solver is robust, and often faster than the iterative solvers, but it  
does so by using a great deal of memory.

Have you tried other solvers?


Gmane