kwant crashes for very large systems
Hi, I'm running KWANT for a square lattice with width 64 and length 131072 and find that the program crashes with the following message after running without problems for 8 minutes (see attached file which reproduces the problem script_anderson_singleE.py):
Traceback (most recent call last):
File "script_anderson_singleE.py", line 53, in <module>
smatrix = kwant.smatrix(syst, E)
File "/users/js2892/virtualenv_python/lib/python3.6/site-packages/kwant/_common.py", line 72, in inner
return f(*args, **kwargs)
File "/users/js2892/virtualenv_python/lib/python3.6/site-packages/kwant/solvers/common.py", line 389, in smatrix
flhs = self._factorized(linsys.lhs)
File "/users/js2892/virtualenv_python/lib/python3.6/site-packages/kwant/solvers/sparse.py", line 95, in _factorized
return factorized(a)
File "/users/js2892/virtualenv_python/lib/python3.6/site-packages/scipy/sparse/linalg/dsolve/linsolve.py", line 488, in factorized
return splu(A).solve
File "/users/js2892/virtualenv_python/lib/python3.6/site-packages/scipy/sparse/linalg/dsolve/linsolve.py", line 339, in splu
ilu=False, options=_options)
SystemError: gstrf was called with invalid arguments
This problem is not exclusive to this geometry. KWANT will crash any time that the total number of atoms inside of the sample is larger than around 10^7. I installed KWANT version 1.4.2 with pip inside a python 3.6.6 virtual environment on CentOS Linux 7 but was unable to get MUMPS working with KWANT, so I also get the following message before the previous one I mentioned
malloc fails for local dworkptr[]./users/js2892/virtualenv_python/lib/python3.6/site-packages/kwant/solvers/default.py:18: RuntimeWarning: MUMPS is not available, SciPy built-in solver will be used as a fallback. Performance can be very poor in this case.
I estimated that 60GB of RAM would be sufficient for this process, but I'm running it in an environment where 120GB are available. Could this be a problem with the alternative solver to MUMPS?