[mpiexec@cu35] control_cb (../../pm/pmiserv/pmiserv_cb.c:773): connection to proxy 0 at host cu35 failed
[mpiexec@cu35] HYDT_dmxu_poll_wait_for_event (../../tools/demux/demux_poll.c:76): callback returned error status
[mpiexec@cu35] HYD_pmci_wait_for_completion (../../pm/pmiserv/pmiserv_pmci.c:501): error waiting for event
[mpiexec@cu35] main (../../ui/mpich/mpiexec.c:1059): process manager error waiting for completion
bash: vncserver: command not found
我的QE-6.1的epw沒(méi)有編譯好滥沫,換6.2.1就可以了
Atomic positions and unit cell read from directory:
./mgb2.save/
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine pw_readschemafile (1):
XML data file not found
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
自洽用6.1算的侣集,直接用6.2繼續(xù)算會(huì)報(bào)這個(gè)錯(cuò)
Error: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
python3在windows上的一個(gè)典型錯(cuò)誤,通過(guò)加r'''your_path'''即可解決兰绣。e.g.
a2f_dat = open(r'''C:\\\Users\\\Administrator\Desktop\Results and Graph\Data\MgB2\0.05\MgB2.imag_aniso_gap0_015.00.dat''')
調(diào)整matplotlib中的字體世分,包括tex字體以及l(fā)abel的字體
mpl.rcParams['mathtext.fontset'] = 'cm'
mpl.rcParams['mathtext.rm'] = 'serif'
plt.rcParams.update({
"font.family":"serif",
"font.family":"Times New Roman",
"font.serif":[],
"font.sans-serif":["DejaVu Sans"],
})
Error in routine broaden (1): factorization
Error in routine broyden (1): factorization
unfortunately this is a very tough error to solve.
It usually points to really bad convergence problems,
due to a weird system, or bad pseudopotentials
------- Paolo Giannozzi, Dept. Chemistry&Physics&Environment,
configure:4912: WARNING: assuming F90=gfortran, discarding ifort
編譯QE-6.3的時(shí)候遇到的問(wèn)題,在suanpan上邊缀辩。
use,intrinsic :: ieee_arithmetic
1
Fatal Error: Can't find an intrinsic module named 'ieee_arithmetic' at (1)
編譯EPW的時(shí)候遇到的問(wèn)題
上邊兩個(gè)問(wèn)題好像是由gfortran版本導(dǎo)致的臭埋,mpif90并行編譯器指定的串行編譯器是gfortran,所以即使再configure里邊指定F90=ifort也會(huì)被disregard臀玄,解決的辦法就是使用mpiifort編譯器作為并行編譯器
./configure MPIF90=mpiifort FC=ifort F90=ifort F77=ifort
在這里不得不感慨ifort的強(qiáng)大瓢阴,實(shí)際上之所以會(huì)出現(xiàn)IEEE那個(gè)問(wèn)題就是由于gfortran 在5.0之前的版本不支持這種寫法,所以才會(huì)不通過(guò)健无,而使用ifort就沒(méi)有這個(gè)問(wèn)題出處見stack_overflow荣恐。最后解決這個(gè)問(wèn)題也是參考的Using Intel Fortran, C++ complier- parallel, serial versions。
Error in routine dos (1):
'pools not implemented, or incorrect file read'
這里是因?yàn)閐os.x似乎不能并行睬涧,改成1個(gè)核就好了募胃。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine epw_readin (19):
reading input_epw namelist
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
EPW版本問(wèn)題,在新的EPW 5.0里邊parallel_q 和parallel_k被移除畦浓。如果繼續(xù)用就會(huì)產(chǎn)生這個(gè)錯(cuò)誤痹束。
還有一次是在里邊用了wannier的dis_num_iter
也報(bào)了這個(gè)錯(cuò)誤。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
from epw_setup : error # 1
coarse k-mesh needs to be strictly positive in 1st BZ
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nscf非自洽計(jì)算的k點(diǎn)坐標(biāo)需要嚴(yán)格為正讶请,使用wannier90包歷面/utility中的腳本可以生成全是正坐標(biāo)的k點(diǎn)
Wannier90: Execution started on 22Oct2018 at 17:08:45
Exiting.......
param_get_projection: too many projections defined
這是在計(jì)算wannier的時(shí)候遇到的報(bào)錯(cuò)祷嘶,是因?yàn)橥队败壍劳顺艘栽訑?shù)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine checkallsym (1):
some of the original symmetry operations not satisfied
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
這個(gè)是在計(jì)算非自洽nscf的時(shí)候沒(méi)有注意用了1個(gè)單胞的硼原子
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine wannierize (1):
inconsistent nscf and elph k-grids
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
wann_main: problem computing schur form 1
forrtl: severe (24): end-of-file during read, unit -5, file Internal List-Directed Read
Image PC Routine Line Source
pw.x 0000000000D1A60E Unknown Unknown Unknown
pw.x 0000000000D48CFD Unknown Unknown Unknown
pw.x 0000000000D47466 Unknown Unknown Unknown
pw.x 00000000009936AB read_cards_module 136 read_cards.f90
pw.x 0000000000849462 read_input_mp_rea 85 read_input.f90
pw.x 0000000000408866 MAIN__ 76 pwscf.f90
pw.x 000000000040870E Unknown Unknown Unknown
libc-2.12.so 0000003363C1ED1D __libc_start_main Unknown Unknown
pw.x 00000000004085A9 Unknown Unknown Unknown
這個(gè)錯(cuò)誤是輸入文件的問(wèn)題夺溢,這個(gè)地方是因?yàn)?code>&CELL ... /與下面一個(gè)模塊之間多輸入了3個(gè)空格论巍,導(dǎo)致它在讀入輸入文件的時(shí)候產(chǎn)生了異常。輸入文件里邊最好不要有多余的空格风响,另外這類問(wèn)題一般會(huì)在工作區(qū)留下一個(gè)input_tmp.in的文件嘉汰。
*** glibc detected *** /home/xbLiu/src/qe-6.3/bin/epw.x: free(): invalid next size (normal): 0x0000000006915b70 ***
*** glibc detected *** /home/xbLiu/src/qe-6.3/bin/epw.x: free(): invalid next size (normal): 0x0000000005a22b90 ***
*** glibc detected *** /home/xbLiu/src/qe-6.3/bin/epw.x: free(): invalid next size (normal): 0x00000000074e8cd0 ***
#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['mathtext.fontset'] = 'cm'
mpl.rcParams['mathtext.rm'] = 'serif'
plt.rcParams.update({
"font.family":"serif",
"font.family":"Times New Roman",
# "font.serif":[],
# "font.sans-serif":["DejaVu Sans"],
})
在matplotlib中實(shí)現(xiàn)英文字母使用Times New Roman字體而且希臘字母使用symbol字體。當(dāng)然前提是你已經(jīng)安裝了這兩個(gè)字體状勤,這兩個(gè)字體在github上都可以下載到
from matplotlib.font_manager import _rebuild; _rebuild()
安裝字體之后matplotlib的字體管理器依然找不到鞋怀,因?yàn)樾掳惭b的字體并沒(méi)有被載入緩存,這個(gè)時(shí)候加上這一句就可以將字體載入緩存持搜。后邊就用不到了密似。
/epw.x: free(): invalid next size (normal): 0x0000000006abeb20 ***
這個(gè)問(wèn)題困擾了很久,就是程序在讀入贗勢(shì)的時(shí)候就會(huì)停下來(lái)然后log里邊輸出這個(gè)錯(cuò)誤葫盼,google說(shuō)這個(gè)是并行的時(shí)候內(nèi)存處理的錯(cuò)誤残腌,在
EPW論壇上也看到有人遇到類似的問(wèn)題但是開發(fā)者說(shuō)是版本的問(wèn)題,然而我已經(jīng)用的是已發(fā)布的最新版本。最后發(fā)現(xiàn)是階段能設(shè)置的問(wèn)題抛猫,因?yàn)槭褂玫氖悄J睾阙I勢(shì)蟆盹,所以默認(rèn)電荷截?cái)嗄苁悄芰拷財(cái)嗟?倍,但是我在這里高出了4倍邑滨,可能開發(fā)者沒(méi)有想到會(huì)有人這么做日缨,所以程序每次讀入贗勢(shì)都會(huì)崩潰钱反。將電荷截?cái)嗄?code>ecutrho標(biāo)簽去掉問(wèn)題就解決了掖看。
# WARNING: there are pending errors
# PENDING ERROR (ierr=1)
# ERROR IN: iotk_open_read (iotk_files.f90:611)
# CVS Revision: 1.20
# unit
file=../phonons/save/B.phsave/patterns.1.xml
epw.x試圖去找pattern.1.xml這個(gè)文件結(jié)果沒(méi)找著。這里是因?yàn)閑pw的計(jì)算取消了電荷截?cái)嗄艿捻?xiàng)而phonons的計(jì)算里沒(méi)有取消的問(wèn)題面哥。
Error in routine sum_eliashberg_aniso_iaxis (1):
increase nsiter or reduce conv_thr_iaxis
Error in routine pw2wannier90 (7):
Direct lattice mismatch
scf計(jì)算和pw2wan計(jì)算用到的晶格參數(shù)不同哎壳,應(yīng)該scf計(jì)算中用CELL_PARAMETERS使得與wannier計(jì)算中晶哥參數(shù)一致。
Error in routine setphases_wrap (1):
only one proc per pool
在epw.x 后邊加上 -npool 40 <epw.in> epw.out解決尚卫。
forrtl: severe (174): SIGSEGV, segmentation fault occurred
很頭疼的一個(gè)問(wèn)題归榕,剛開始搜的時(shí)候發(fā)現(xiàn)是說(shuō)內(nèi)存不足可能會(huì)導(dǎo)致這個(gè)問(wèn)題,檢查fsthick大小吱涉,發(fā)現(xiàn)相對(duì)于的例子刹泄,fsthick確實(shí)設(shè)置的太大了,應(yīng)該是聲子最高能量的4倍左右(多聲子散射相互作用不考慮)于是就設(shè)置小一點(diǎn)怎爵,中間包括還有懷疑是否是因?yàn)閝點(diǎn)是分開算的原因特石,包括有人在算VASP碰到類似的問(wèn)題會(huì)在腳本里邊加一個(gè)
ulimit -s unlimited
的命令,來(lái)取消對(duì)內(nèi)存的限制鳖链。結(jié)果發(fā)現(xiàn)還是不行姆蘸,這個(gè)問(wèn)題的全部報(bào)錯(cuò)是
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
epw.x 0000000000E98CCD Unknown Unknown Unknown
libpthread-2.12.s 00002B995F21E710 Unknown Unknown Unknown
epw.x 0000000000F8BE44 Unknown Unknown Unknown
epw.x 000000000058155A kpoint_grid_epw_ 141 kpoint_grid_epw.f90
epw.x 000000000054192D transport_mp_tran 943 transport.f90
epw.x 00000000004468E9 ephwann_shuffle_m 1406 ephwann_shuffle_mem.f90
epw.x 000000000041BDAA elphon_shuffle_wr 765 elphon_shuffle_wrap.f90
epw.x 0000000000409E75 MAIN__ 150 epw.f90
epw.x 00000000004091CE Unknown Unknown Unknown
libc-2.12.so 00002B995F6CED1D __libc_start_main Unknown Unknown
epw.x 0000000000409069 Unknown Unknown Unknown
通過(guò)一個(gè)一個(gè)去看源代碼發(fā)現(xiàn),應(yīng)該是k點(diǎn)設(shè)置的問(wèn)題芙委,改成nqf = 8 8 1
nkf = 16 16 1
后可以繼續(xù)算了逞敷。
Error in routine cdiaghg (31):
S matrix not positive definite
這個(gè)錯(cuò)誤在計(jì)算非自洽的時(shí)候有時(shí)候會(huì)出現(xiàn),目前沒(méi)什么很好的辦法灌侣,但是把'cg'
改成‘david’
好像可以一定程度上解決這個(gè)問(wèn)題推捐。有時(shí)候是有的參數(shù)設(shè)的錯(cuò)的比較嚴(yán)重也會(huì)出這個(gè)錯(cuò)誤,所以看到這個(gè)也可以再檢查一下自己的參數(shù)設(shè)置侧啼,然后增加截?cái)嗄苡袝r(shí)候也可以解決問(wèn)題牛柒,這個(gè)問(wèn)題是最頭疼的問(wèn)題之一,可能的原因有很多慨菱。
running on 1 processors
在所里機(jī)器曙光上算的時(shí)候焰络,由于曙光上同時(shí)部署了openmpi和intelmpi甚至還有mpich的并行環(huán)境,導(dǎo)致在編譯的時(shí)候使用的并行編譯器和mpirun不是一家的符喝,導(dǎo)致只能在1個(gè)核上并行同時(shí)還會(huì)輸出12遍闪彼,使用which可以查看正在使用的mpif90和mpirun,最后把環(huán)境變量都改成intel的mpiifort和mpirun所在的文件夾解決了問(wèn)題。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine allocate_bec_type (41):
cannot allocate bec%nc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
這個(gè)應(yīng)該是內(nèi)存問(wèn)題畏腕,換一個(gè)內(nèi)存更大的機(jī)器或者把k點(diǎn)取少一點(diǎn)缴川,可以看PW的user_guide估算計(jì)算所需的內(nèi)存大小,和K點(diǎn)數(shù)目描馅、截?cái)嗄艽笮“芽洹FT數(shù)量呈正相關(guān)。
Error in routine check_initial_status (1):
recover file found, change in start_q not allowed
這個(gè)是在minicluster上計(jì)算的聲子譜遇到的問(wèn)題铭污,由于機(jī)器walltime最多只能設(shè)置為12個(gè)小時(shí)恋日,所以需要掉下來(lái)以后在聲子輸入文件加
recover=.true.
來(lái)恢復(fù)前邊的計(jì)算,但是由于中斷是突然進(jìn)行的嘹狞,所以在恢復(fù)的時(shí)候產(chǎn)生了錯(cuò)誤岂膳,所以解決的方法有兩個(gè),第一就是不要讓它突然中斷磅网,比如如果機(jī)器有時(shí)間限制的話谈截,就在輸入文件里面加入時(shí)間限制(max_seconds
標(biāo)簽),第二個(gè)就是看輸出文件里面計(jì)算到了哪個(gè)不可約表示的時(shí)候中斷了(這種情況更有可能發(fā)生涧偷,因?yàn)榻?jīng)常由于計(jì)算量大的緣故簸喂,內(nèi)存常常會(huì)溢出,當(dāng)內(nèi)存不夠用的時(shí)候往往會(huì)中斷)燎潮,然后看_ph0/prefix.phsave/文件夾下面有沒(méi)有對(duì)應(yīng)的不可約表示的dynmat.xx.xx.xml和elph.xx.xx.xml喻鳄,第一個(gè)xx表示第幾個(gè)點(diǎn),第二個(gè)xx表示第幾個(gè)不可約表示跟啤。如果有中斷的那個(gè)不可約表示對(duì)應(yīng)的xml文件诽表,刪除之然后再恢復(fù)計(jì)算就行了。比如你的輸出文件算到第5個(gè)不可約表示還沒(méi)收斂就中斷了隅肥,但是你的_ph0/preifx.phsave里面如果有dynmat.xx.5.xml或elph.xx.5.xml文件或者兼而有之的話竿奏,就把這兩個(gè)文件改名成別的文件(備份,或者刪除也行)腥放。然后再做recover計(jì)算泛啸。
Error in routine read_namelists (1):
bad line in namelist &cell: "6 6 6 0 0 0" (error could be in the previous line)
這是一個(gè)很粗心的錯(cuò)誤,但是卻不容易被發(fā)現(xiàn)秃症,所以還是記下來(lái)以防再犯候址,這里是由于直接把relax的文件改成vc-relax
,導(dǎo)致找不到&CELL
模塊种柑,所以導(dǎo)致這個(gè)錯(cuò)誤岗仑。
在算石墨烯聲子譜的時(shí)候遇到在Gamma點(diǎn)附近虛頻的問(wèn)題,大概是左右聚请,通過(guò)提高Gamma點(diǎn)附近的聲子收斂精度解決荠雕。通過(guò)加大degauss得到了類似的結(jié)果稳其。
dis_spheres_first_wann is larger than num_bands-num_wann+1
在用EPW算graphene聲子譜的時(shí)候碰到這個(gè)問(wèn)題,是在計(jì)算wannier的時(shí)候報(bào)的炸卑,EPW論壇上說(shuō)是重新編譯可以解決既鞠,但是我的EPW是好的呀,跑別的例子都沒(méi)問(wèn)題盖文,而且我重新編譯以后并沒(méi)有解決問(wèn)題嘱蛋。發(fā)現(xiàn)是因?yàn)榍懊嫠惴亲郧⒌臅r(shí)候忘了指定nbnd
導(dǎo)致這里出現(xiàn)問(wèn)題。
wrong number of nsw
這個(gè)問(wèn)題一般是由截?cái)嗄艿膯?wèn)題導(dǎo)致的五续,調(diào)整wscut
即可洒敏。wscut是EPW在求解Eliashberg方程的時(shí)候用于求和的頻率上限,一般取最高聲子能量的4~10倍返帕。
*今天的計(jì)算里邊得到的電聲耦合偏低的情況桐玻,雖然結(jié)果收斂到1.14但是與文獻(xiàn)中的結(jié)果相差很大,懷疑可能是dis_froz_max取的不夠大導(dǎo)致的荆萤,之前是23.6大概在費(fèi)米面以上1個(gè)eV現(xiàn)在嘗試取到28eV,但是這樣就要重新擬合wannier軌道了铣卡。
關(guān)于wannier擬合中outer window和inner window的選取mail list里邊有一段解釋
Firstly, you need to appreciate the need for disentanglement:
For an isolated set of bands (eg valence bands of an insulator) we can directly apply the Marzari-Vanderbilt scheme for minimisating the spread of the wannier functions.
However, for entangled bands (typically for metals or conduction states) we cannot do this directly and must first extract an optimal set of bands (according to the scheme of Souza, Marzari and Vanderbilt). Which means that at each kpoint we need to find a set of N bands which are some linear combination of the full set of bands. These N 'disentangled' bands are then used to form the N MLWF.
The inner energy window is used to select bloch states which will be included completely in the optimal set. This means that the MLWF will reproduce the true electronic properties at energies within the inner window,b ut outside there is no guarantee of this. So a common usage would be to place the inner window around the fermi energy - thus reproducing the fermi-surface properties. In the graphite example it has been chosen to reproduce all of the valence states, and a few eV above the Fermi energy.
The outer window is less important. Try running the graphite example without it, and compare the bands.
This is used to select a set of states out of which the optimal set can be chosen. One reason for doing this is to exclude any high energy bands which might have the same symmetry character as the lower states (and thus mix with them). Sometimes using an outer window can improve the convergence of the disentanglement procedure.
Before you can set the windows you do need to know something about the bandstructure. One route is to look at the position of the fermi level from the scf calculation, and set the inner window a few eV above this. Obtain the MLWF and compare the bandstructure to the ab-initio one. Then you can decide (maybe by trial and error) to see if you need an outer window.
Probably. But it is better to understand why those values were chosen. There are examples in the tutorial, which could be modified to look at the effect of changing the window (eg try having no windows) - and also plenty of examples in the past literature - see [http://www.wannier.org/papers.html](http://www.wannier.org/papers.html) - probably start with the CPC article listed first on that page which contains more details on the graphite example.
EPW算完100K之后再計(jì)算后面的點(diǎn)的時(shí)候遇到這個(gè)問(wèn)題链韭。
forrtl: severe (24): end-of-file during read, unit 71, file /public/home/xbliu/espresso/yh10/epw2/YH.imag_aniso_0*****
Image PC Routine Line Source
epw.x 0000000000E65FC3 Unknown Unknown Unknown
epw.x 0000000000E9C6AA Unknown Unknown Unknown
epw.x 00000000005055CC superconductivity 1966 superconductivity.f90
epw.x 000000000050376E superconductivity 1543 superconductivity.f90
epw.x 0000000000413B01 eliashberg_eqs_ 66 eliashberg.f90
epw.x 0000000000408086 MAIN__ 170 epw.f90
epw.x 000000000040761E Unknown Unknown Unknown
libc-2.17.so 00002B2482BB7C05 __libc_start_main Unknown Unknown
epw.x 0000000000407529 Unknown Unknown Unknown
google報(bào)錯(cuò)找到了源代碼中對(duì)應(yīng)的部分,不得不佩服google真是強(qiáng)大\點(diǎn)贊
IF (mpime .eq. ionode_id) THEN
!
temp = estemp(itemp) / kelvin2eV
! anisotropic case
IF ( temp .lt. 10.d0 ) THEN
WRITE(name1,'(a,a13,f4.2)') TRIM(prefix),'.imag_aniso_0', temp
ELSEIF ( temp .ge. 10.d0 ) THEN
WRITE(name1,'(a,a12,f5.2)') TRIM(prefix),'.imag_aniso_', temp
ENDIF
OPEN(iufilgap, file=name1, form='formatted', err=100, iostat=ios)</pre>
在計(jì)算各項(xiàng)異性gap的部分eliashberg_aniso_iaxis.f90的子函數(shù)eliashberg_read_aniso_iaxis( itemp)里看到如果temp大于10的話煮落,他就會(huì)寫在imag_aniso_里面,雖然還不清楚為什么這個(gè)導(dǎo)致計(jì)算中斷的問(wèn)題敞峭,但是將temp
改成小于10的就可以解決,或者在一開始的計(jì)算中就設(shè)置temp
為大于10的數(shù)蝉仇。
Error in routine efermig (1):
internal error, cannot bracket Ef
這個(gè)問(wèn)題可以通過(guò)手動(dòng)設(shè)置費(fèi)米面解決,但是必須要check EPW計(jì)算得出的能帶與DFT計(jì)算的能帶是否相符合旋讹。以及在EPW中引用wannier作為庫(kù)函數(shù)的模式得出的能帶三者必須相符合。
efermi_read = .t.
fermi_energy = **
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
epw.x 0000000000EF698D Unknown Unknown Unknown
libpthread-2.17.s 00002B98BAA3F6D0 Unknown Unknown Unknown
epw.x 0000000000485AE9 selfen_phon_q_ 406 selfen_phon.f90
epw.x 00000000004230C2 ephwann_shuffle_ 1309 ephwann_shuffle.f90
epw.x 0000000000412CE7 elphon_shuffle_wr 767 elphon_shuffle_wrap.f90
epw.x 0000000000407E34 MAIN__ 150 epw.f90
epw.x 00000000004071DE Unknown Unknown Unknown
libc-2.17.so 00002B98BAF70445 __libc_start_main Unknown Unknown
epw.x 00000000004070E9 Unknown Unknown Unknown
段錯(cuò)誤轿衔,這個(gè)很棘手沉迹,很多錯(cuò)誤都會(huì)導(dǎo)致段錯(cuò)誤。
Error in routine createkmap (1):
is this a uniform k-mesh?
最近遇到pade近似下求解各向異性Eliashberg方程所需內(nèi)存太大的問(wèn)題害驹,求解論壇之后Roxana提示計(jì)算低溫下的超導(dǎo)轉(zhuǎn)變溫度時(shí)由于溫度太低導(dǎo)致求和所需的Matsubara頻率大大增加鞭呕,所以在低溫下求解各向同性Eliashberg方程更好。
Error in routine do_projwfc (1):
Cannot project on zero atomic wavefunctions!
做分波態(tài)密度的時(shí)候遇到這個(gè)問(wèn)題宛官,查了一下是贋勢(shì)的問(wèn)題葫松,ONCV贋勢(shì)沒(méi)法做分波態(tài)密度投影,換成超軟就可以了底洗。
今天遇到一個(gè)非常討厭的問(wèn)題腋么,就是在計(jì)算doping 的時(shí)候,在doping-0.1的時(shí)候可以擬合的很好亥揖,但是當(dāng)我加到doping 0.2個(gè)電子的時(shí)候珊擂,總是在某一個(gè)軌道上spreading特別大阔加,嘗試了調(diào)能量窗口(說(shuō)起來(lái)都是淚)信峻,改變投影方式等等,不奏效。最后瀏覽mailist的時(shí)候發(fā)現(xiàn)有一個(gè)人遇到擬合能帶震蕩比較厲害的情況昭娩,最后有人提議讓他關(guān)掉
dis_froz
窗口,我試了一下確實(shí)效果不錯(cuò)宪郊。得到了很好的擬合效果艰匙。
Fatal Python error: init_sys_streams: can't initialize sys standard streams Attribute
第一次使用TDAP腳本的時(shí)候碰到的問(wèn)題,因?yàn)樾枰猧mport超哥寫的包pyramid庇绽,就需要在Spyder的PYTHONPATH里邊添加pyramid的路徑锡搜,但是添加之后就碰到這個(gè)問(wèn)題,刪除就可以了瞧掺。參考python-forum.io
今天遇到一個(gè)很奇怪的問(wèn)題耕餐,用wannier tools計(jì)算表面態(tài)的時(shí)候無(wú)論怎么改輸入?yún)?shù)算出來(lái)的能帶都非常模糊,而且slabek.png始終只有十個(gè)點(diǎn)辟狈,但是我明明已經(jīng)設(shè)置了Nk1=101肠缔,但是WT.out里面仍然是Nk1=10,仔細(xì)對(duì)比我和同學(xué)的輸入文件哼转,一個(gè)一個(gè)地對(duì)明未,最后終于發(fā)現(xiàn)是&SYSTEM
寫在&PARAMETERS
后面了,導(dǎo)致沒(méi)有讀入后者的輸入?yún)?shù)壹蔓,所以一直取的都是默認(rèn)值10趟妥,改到前面去就好了。
sras.amn has too many projections to be used without selecting a subset
這是做wannier擬合的時(shí)候碰到的錯(cuò)誤佣蓉,原因是因?yàn)橥队八枰能壍罃?shù)大于num_wann
披摄,碰到這個(gè)錯(cuò)誤需要仔細(xì)check投影軌道的個(gè)數(shù)是否等于所選取wanneir軌道的數(shù)目
Wrong classes for D_3h
這是原子位置使用單精度小數(shù)導(dǎo)致的,再ph.in輸入文件里加search_sym=.FALSE.
可以解決勇凭。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine frc_blk (1):
wrong total_weight
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
把wsweight.f90第55行的eps改成1.0d-5疚膊,然后重新編譯phmake ph
解決,參考https://lists.quantum-espresso.org/pipermail/users/2017-November/039776.html
大概是q點(diǎn)權(quán)重加和的問(wèn)題套像,代碼里是這么注釋的酿联,但是看不懂。
! - if a point is inside the Wigner-Seitz cell: weight=1
! - if a point is outside the WS cell: weight=0
! - if a point q is on the border of the WS cell, it finds the number N
! of translationally equivalent point q+G (where G is a lattice vector)
! that are also on the border of the cell. Then: weight = 1/N
! I.e. if a point is on the surface of the WS cell of a cubic lattice
! it will have weight 1/2; on the vertex of the WS it would be 1/8;
! the K point of an hexagonal lattice has weight 1/3 and so on.```
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine sym_rho_init_shell (3):
lone vector
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
根據(jù)mailist中的解釋夺巩,這里是因?yàn)橛?jì)算電荷密度的時(shí)候程序試圖找對(duì)稱性贞让,但是提供的晶格不嚴(yán)格對(duì)稱(比如晶格是六角的,但是晶格參數(shù)可能稍微差一點(diǎn)點(diǎn)不是六角晶格柳譬,就會(huì)出現(xiàn)這個(gè)問(wèn)題喳张,把晶格改成對(duì)稱的或者使用ibrav來(lái)指定對(duì)稱性就可以解決這個(gè)問(wèn)題。)
Error in routine pw2wannier90 (512):
Wrong number of k-points
這個(gè)錯(cuò)誤是在做wannier擬合的時(shí)候碰到的美澳,當(dāng)我對(duì)拉伸之后的結(jié)構(gòu)做wannier擬合的時(shí)候销部,由于對(duì)稱性被破壞了摸航,導(dǎo)致在算非自洽的時(shí)候,程序自動(dòng)的取了對(duì)稱點(diǎn)舅桩,導(dǎo)致取點(diǎn)超過(guò)了指定的k點(diǎn)以至于進(jìn)行wannier擬合的時(shí)候報(bào)這個(gè)錯(cuò)誤酱虎,只需要在做非自洽的時(shí)候設(shè)nosym = .t.
就可以了,其實(shí)example里面是指定了的擂涛,而且我當(dāng)時(shí)還注意到了读串,但是沒(méi)當(dāng)回事,終于在這里出了問(wèn)題撒妈,排查了好久恢暖。。狰右。
高對(duì)稱點(diǎn)問(wèn)題
這個(gè)問(wèn)題碰到過(guò)一次杰捂,但是忘了怎么弄的了,在計(jì)算能帶的時(shí)候棋蚌,如果連續(xù)兩個(gè)高對(duì)稱點(diǎn)的x坐標(biāo)都是負(fù)數(shù)嫁佳,就會(huì)出現(xiàn)一個(gè)問(wèn)題,band.dat.gnu上x坐標(biāo)重疊到一個(gè)點(diǎn)上附鸽,就沒(méi)法畫能帶脱拼。
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 0.0000
high-symmetry point: 0.0000 0.0000 1.2955 x coordinate 1.2955
high-symmetry point: -0.0439 0.1049 1.2955 x coordinate 1.4092
high-symmetry point: -0.2719 0.6500 0.7046 x coordinate 1.4092
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 1.4092
第一時(shí)間想到的解決辦法就是用python腳本生成k點(diǎn)然后復(fù)制到輸入文件里去。腳本還是很簡(jiǎn)單的坷备,貼在這里,注意這是python2腳本情臭。但是并沒(méi)有解決這個(gè)問(wèn)題省撑,囧。
import numpy as np
import os
def gen_high_symmetry_points(num_hk,hk,num_k,kpoints_file):
kk_coor = np.array([hk[0]])
for i in range(num_hk-1):
i = i+1
for j in range(num_k):
k_coor = hk[i-1] + (hk[i]-hk[i-1])*(j+1)/num_k
kk_coor = np.append(kk_coor,k_coor)
return kk_coor
def write(data,filename,col):
for i in range(col):
for j in range(3):
filename.write('{:.12f}'.format(data[i][j]))
if j < 2: filename.write(' ')
filename.write("\n")
filename.close()
kpoints_file = open(r'kpoints.dat', 'w+')
kk_coor = gen_high_symmetry_points(num_hk,hk,100,kpoints_file)
kk_coor = kk_coor.reshape(401,3)
#print kk_coor
write(kk_coor, kpoints_file, len(kk_coor))
想了一下只有找和上面高對(duì)稱點(diǎn)等價(jià)的點(diǎn)了俯在。結(jié)果還是不行竟秫,只能去看看他這塊是怎么寫的,通過(guò)grep bands.out相應(yīng)的輸出我們知道這是在bands.f90里邊的SUBROUTINE punch_plottable_bands
函數(shù)來(lái)算的跷乐,他的一個(gè)注釋吸引了我的注意
IF (dxmod > dxmod_save*5) THEN
!
! A big jump in dxmod is a sign that the point xk(:,n) and xk(:,n-1)
! are quite distant and belong to two different lines. We put them on
! the same point in the graph
也就是說(shuō)如果高對(duì)稱點(diǎn)離的太遠(yuǎn)的話肥败,它會(huì)把x坐標(biāo)糊到一個(gè)點(diǎn)上,這也是為什么這個(gè)問(wèn)題不經(jīng)常碰到的原因愕提,我們把dxmod_save
改成100馒稍,再重新編譯make pp
就解決了。
Error in routine createkmap (1):
q-vec not commensurate
EPW在讀取q點(diǎn)坐標(biāo)的時(shí)候會(huì)做一個(gè)驗(yàn)證浅侨,在createkmap.f90
里面纽谒。如果前后相差過(guò)大,就會(huì)報(bào)這個(gè)錯(cuò)誤如输。我當(dāng)時(shí)是計(jì)算聲子取的8x8x1的q點(diǎn)網(wǎng)格鼓黔,改成6x6x1之后就可以了央勒。
Segmentation fault divide_class.f90 78
在計(jì)算聲子譜的時(shí)候遇到段錯(cuò)誤,提示信息在divide.f90函數(shù)的第78行澳化,段錯(cuò)誤一般是由于讀取數(shù)組越界造成的崔步。看了一下divide_class.f90這一段是什么
DO irot=1,nrot
IF (done(irot)==0) THEN
nclass=nclass+1
DO jrot=1,nrot
CALL coniug_mat(smat(1,1,jrot),smat(1,1,irot),cmat)
DO krot=1,nrot
IF (compare_mat(cmat,smat(1,1,krot)).AND.done(krot)==0) THEN
nelem(nclass)=nelem(nclass)+1
elem(nelem(nclass),nclass)=krot
write(6,*) krot
done(krot)=1
ENDIF
ENDDO
ENDDO
ENDIF
ENDDO
很明顯是用來(lái)判斷對(duì)稱性的缎谷,函數(shù)上邊已經(jīng)規(guī)定了done數(shù)組的大小是48井濒,挨個(gè)打印出來(lái),發(fā)現(xiàn)沒(méi)有問(wèn)題慎陵,怎么回事呢眼虱?原來(lái)它提示的行數(shù)并不一定準(zhǔn)確,所以可能是上邊那一句出錯(cuò)席纽,于是把上邊的nclass什么的也打印出來(lái)捏悬,發(fā)現(xiàn)果然是nelem(nclass)數(shù)組越界了,因?yàn)檫@個(gè)晶格結(jié)構(gòu)對(duì)稱性比較高润梯,在算自洽的時(shí)候24 sym found过牙,這里應(yīng)該是QE編寫的時(shí)候一個(gè)bug,明顯是沒(méi)有考慮到這種情況導(dǎo)致的數(shù)組越界纺铭。目前想到的方法就是稍微調(diào)整一下晶格結(jié)構(gòu)寇钉,可以改動(dòng)小數(shù)點(diǎn)后第四位也就是0.0001埃就可以了。
記一次和上述情況類似的錯(cuò)誤舶赔,也是識(shí)別對(duì)稱性相關(guān)的扫倡。在計(jì)算TiSe2超胞對(duì)稱性非常接近六角晶格的時(shí)候,它先是6 Sym. Ops. (no inversion) found
竟纳,然后在計(jì)算聲子的時(shí)候撵溃,程序會(huì)先識(shí)別對(duì)稱性來(lái)去掉一些簡(jiǎn)并的representation的計(jì)算以減小計(jì)算量。然后由于對(duì)稱性很接近六角晶格但是又有一點(diǎn)差別锥累,導(dǎo)致它出現(xiàn)報(bào)錯(cuò)
Error in routine divide_class (1):
Wrong classes for C_3v
于是為了減少對(duì)稱性帶來(lái)的麻煩缘挑,就使用了ibrav = 4
來(lái)指定對(duì)稱性,這次上面的報(bào)錯(cuò)沒(méi)有了桶略,但是多了一個(gè)新的報(bào)錯(cuò)
Error in routine set_irr_sym_new (1122):
wrong representation
根據(jù)mailist的前人的經(jīng)驗(yàn)语淘,這里是把PHonon/PH/random_matrix.f90
里面的!!#define __UNIFORM_DISTRIB
注釋去掉來(lái)解決這個(gè)問(wèn)題。
Band Structure Calculation
CG style diagonalization
c_bands: 1 eigenvalues not converged
我是在算聲子的時(shí)候遇到的际歼,在計(jì)算某一個(gè)q點(diǎn)的時(shí)候惶翻,因?yàn)槭莇ouble grid的計(jì)算,會(huì)計(jì)算一個(gè)非常密的k點(diǎn)的非自洽計(jì)算蹬挺,就遇到這個(gè)錯(cuò)誤维贺,查了一下在算能帶和費(fèi)米面的時(shí)候也會(huì)遇到這個(gè)問(wèn)題。估計(jì)是因?yàn)閗點(diǎn)個(gè)數(shù)太多了巴帮,這個(gè)判斷就出了問(wèn)題溯泣,這里的計(jì)算應(yīng)該是沒(méi)問(wèn)題的虐秋,所以我們直接把它的判定條件改了重新編譯就可以了。這里不改應(yīng)該也沒(méi)什么問(wèn)題垃沦,因?yàn)檫@是由于k點(diǎn)個(gè)數(shù)過(guò)多客给,而有些k點(diǎn)的個(gè)別本征值不收斂導(dǎo)致的一個(gè)warning,可能只是會(huì)多花一點(diǎn)時(shí)間肢簿。改了會(huì)省一點(diǎn)時(shí)間靶剑,對(duì)結(jié)果應(yīng)該也沒(méi)什么影響,畢竟都是比較高的帶不收斂池充,離費(fèi)米面比較遠(yuǎn)桩引。
run_nscf.f90
的第95行
ethr_nscf = 1.0D-9 / nelec
直接改成
ethr_nscf = 1.0 / nelec
error
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine cdiaghg (42):
problems computing cholesky
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
贋勢(shì)問(wèn)題,可以通過(guò)改對(duì)角化方法為'cg'解決
在做幾何優(yōu)化的時(shí)候收夸,經(jīng)常會(huì)碰到明明有的原子受力還很大的時(shí)候坑匠,程序就停了,說(shuō)收斂標(biāo)準(zhǔn)已經(jīng)滿足卧惜,尤其是使用bfgs
方法優(yōu)化的時(shí)候厘灼。
查了一下這個(gè)可能是由于程序是把所有受力先加在一起再做平方和來(lái)判斷的,如果剛好有些原子受力抵消了咽瓷,就會(huì)導(dǎo)致這個(gè)結(jié)果设凹。明明有些原子受力還很大,但是弛豫就是停了茅姜。從別人測(cè)試的結(jié)果來(lái)看闪朱,把 cell_dynamics
改成damp
可以部分解決這個(gè)問(wèn)題。
Catastrophic error: could not set locale "" to allow processing of multibyte characters
這是一個(gè)今天遇到的神奇問(wèn)題钻洒,在mac上編譯QE的時(shí)候突然抱這個(gè)錯(cuò)誤监透,猜測(cè)可能是因?yàn)榻K端使用的文本編碼的問(wèn)題,但是沒(méi)有解決航唆,最后我還是換了windows的筆記本編譯繞過(guò)了這個(gè)問(wèn)題。
記錄一個(gè)安裝hdf5的時(shí)候遇到的坑
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 3: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 8: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 18: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 26: 'in\r''
'home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 32: case (MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: cannot run /bin/sh ./bin/config.sub
[xbliu@login01 hdf5-1.14.5]'\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 5: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 13: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 21: '\r': command not found
/home/users/xbliu/apps/hdf5/hdf5-1.14.5/bin/missing: line 32: syntax error near unexpected token 1 in
configure: WARNING: 'missing' script is too old or missing
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: cannot run /bin/sh ./bin/config.sub
make: *** [_config] Error 2
問(wèn)了gpt之后發(fā)現(xiàn)是因?yàn)槲募袷绞莣in格式而不是linux格式院刁,刪掉重新用wget下載還是同樣的問(wèn)題糯钙,可能是因?yàn)樵趙in上打開的鏈接所以服務(wù)器返回的是win格式的安裝包文件,無(wú)奈只能用
find . -type f -exec dos2unix {} \;
把所有的文件格式轉(zhuǎn)換之后編譯成功退腥。