TRIQS/TRIQS — Issue #24: SumK_LDA.find_mu very slow and sometimes crashes
Author: vanroeke
Created: 2012-02-08 11:30:34+00:00
State: open

Hi,

As I have discussed with Olivier some days ago, finding chemical potential on some real materials systems (for instance pnictides) appears to be much longer than with previous versions of triqs (pythacore). It may be due to non-optimised coding of inversion of Green functions or sums. This increase of computation time is comparable to the solver part computation time.

Plus, it sometimes crashes because of "MemoryError". Unfortunately I am unable to reproduce the bug 100% of time. Relaunching the program usually works. Here is the output:

Dichotomy adjustment of Chemical_Potential to obtain Total Density = 68.000000 +/- 0.000100
MemoryError
[n066][[33206,1],10][btl_tcp_frag.c:214:mca_btl_tcp_frag_recv] mca_btl_tcp_frag_recv: readv failed: Connection reset by peer (104)
/home/vanroeke/bin/pytriqs: line 4: 14980 Killed python2.6 $@
--------------------------------------------------------------------------
mpirun has exited due to process rank 12 with PID 14973 on
node n070.cluster exiting without calling "finalize". This may
have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
Traceback (most recent call last):
File "DMFT_slater_SF_useprevious.py", line 94, in
Chemical_Potential = SK.find_mu( precision = prec_mu ) # find the chemical potential
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Wien2k/SumK_LDA.py", line 933, in find_mu
verbosity = 3)[0]
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Base/Utility/Dichotomy.py", line 54, in Dichotomy
y1 = Function(x)
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Wien2k/SumK_LDA.py", line 924, in
F = lambda mu : self.total_density(mu = mu)
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Wien2k/SumK_LDA.py", line 910, in total_density
S = self.latticeGF_Matsubara(ik=ik,mu=mu)
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Wien2k/SumK_LDA.py", line 299, in latticeGF_Matsubara
for sig,gf in tmp: tmp[sig] <<= self.upfold(ik,icrsh,sig,stmp[icrsh][sig],gf)
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Wien2k/SumK_LDA.py", line 218, in upfold
gf_upfolded = gf_inp.copy()
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Base/GF_Local/_GFBloc_base_data_tail.py", line 80, in copy
Name = self.Name, Note = self.Note)
File "/home/vanroeke/TRIQS/BUILD/INSTALL_DIR/lib/python2.6/site-packages/pytriqs/Base/GF_Local/GFBloc_ImFreq.py", line 90, in __init__
self._init_before_injection__(*self._param_for_cons)
RuntimeError: PyArray : can not construct
postExec.sh:0 running script /opt/sge/current/serviware/postExec/00removeEmptyOuput.sh
postExec.sh:0 running script /opt/sge/current/serviware/postExec/01xferFiles.sh