分类:
2009-12-31 08:45:45
在采用pwscf计算研究材料的超导性质时,可以计算出声子振动频率、
Eliashberg函数alpha^2 F和电声耦合常数lamda以及Tc温度。
pwscf是根据线性响应理论来计算声子振动频率以及电声耦合相互作用的。在最新版本(3.2.1)中,计算步骤为:i)选取很密的k点网格,用pw.x
进行自洽计算;ii)选取略疏的k点网格,用pw.x进行自洽计算;iii)选取较疏的q点网格,用ph.x进行声子的计算,得到每一个q点的动力学矩
阵;iv)用q2r.x由每一个q点的动力学矩阵得到实空间中力常数矩阵;v)选取沿高对称q点走向所确定的线,用matdyn.x计算这些线上每一个q
点的本征频率(也就是计算声子色散曲线);vi)选取较密的q点网格,用matdyn.x计算声子态密度、Eliashberg函数alpha^2
F和电声耦合常数lamda。
下面以采用pwscf3.2.1来计算Al的为例:
1)、选取很密的k点网格,用pw.x进行自洽计算
在这一步中,输入文件中必须加入la2F = .true.,k网格要求足够密,以致它包含下面两步中的小k点网格和q网格之和所确定的k点和k+q点。
&control
calculation='scf'
restart_mode='from_scratch',
prefix='al',
pseudo_dir = './',
outdir='./tmp'
/
&system
ibrav= 2, celldm(1) =7.5, nat= 1, ntyp= 1, ecutwfc =15.0,
occupations='smearing', smearing='methfessel-paxton', degauss=0.05,
la2F = .true.,
/
&electrons
conv_thr = 1.0d-8
mixing_beta = 0.7
/
ATOMIC_SPECIES
Al 26.98 Al.vbc.UPF
ATOMIC_POSITIONS
Al 0.00 0.00 0.00
K_POINTS {automatic}
16 16 16 0 0 0
此例子中采用16x16x16的k点网格。
2)、选取略疏的k点网格,用pw.x进行自洽计算
&control
calculation='scf'
restart_mode='from_scratch',
prefix='al',
pseudo_dir = './',
outdir='./tmp'
/
&system
ibrav= 2,
celldm(1) =7.5, nat= 1, ntyp= 1,
ecutwfc =15.0,
occupations='smearing', smearing='methfessel-paxton', degauss=0.05
/
&electrons
conv_thr = 1.0d-8
mixing_beta = 0.7
/
ATOMIC_SPECIES
Al 26.98 Al.vbc.UPF
ATOMIC_POSITIONS
Al 0.00 0.00 0.00
K_POINTS {automatic}
8 8 8 0 0 0
这里采用了8x8x8的k点网格,而且不需再输入文件中加入la2F=.true.的设置。
3)、选取较疏的q点网格,用ph.x进行声子的计算,得到每一个q点的动力学矩阵;
Electron-phonon coefficients for Al
&inputph
tr2_ph=1.0d-10,
prefix='al',
fildvscf='aldv',
amass(1)=26.98,
outdir='./tmp' ,
fildyn='al.dyn',
elph=.true.,
trans=.true.,
ldisp=.true.
nq1=4, nq2=4, nq3=4
/
这
里通过nq1,nq2和nq3设置采用4x4x4的q点网格。另外因为要计算电声耦合常数,因此,在ph.x的输入文件中须设置elph=.true.,
另外要计算声子色散曲线,也须把ldisp设置为.true.,同时这些都是与声子性质相关的物理量,因此要对它们进行计算,也必须设置trans为.
true.。
4)、由每一个q点的动力学矩阵用q2r.x得到实空间中力常数矩阵
输入文件的例子:
&input
zasr='simple',
fildyn='al.dyn',
flfrc='Al444.fc',
la2F=.true.
/
这些参数与在计算声子时的一样,此时要为了计算电声耦合常数,la2F必须设置.true.。flfrc是用来设置保存所计算出来的力常数矩阵的文件名。 fildyn是用来设置上一步已经计算得到的q点的动力学矩阵的文件名。
5)、选取沿高对称q点走向所确定的线,用matdyn.x计算这些线上每一个q点的本征频率(也就是计算声子色散曲线)
输入文件的例子:
&input
asr='simple',
amass(1)=26.98,
flfrc='Al444.fc',
flfrq='Al444.freq',
la2F=.true.,
dos=.false.
/
19
0.000 0.0 0.0 0.0
0.125 0.0 0.0 0.0
0.250 0.0 0.0 0.0
0.375 0.0 0.0 0.0
0.500 0.0 0.0 0.0
0.750 0.0 0.0 0.0
1.000 0.0 0.0 0.0
0.825 0.125 0.125 0.0
...........
同样这里也必须设置la2F为.true.。
6)、选取较密的q点网格,用matdyn.x计算声子态密度、Eliashberg函数alpha^2 F和电声耦合常数lamda。
输入文件的例子:
&input
asr='simple',
amass(1)=26.98,
flfrc='Al444.fc',
flfrq='Al444.freq',
la2F=.true.,
dos=.true.
fldos='phonon.dos',
nk1=10, nk2=10, nk3=10,
ndos=50
/
同样这里也必须设置la2F为.true.。
为了计算得到准确而收敛的结果,需要测试所选取的k 点和q网格。