PWSCF计算电声耦合常数 在采用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点。

 

#################SCF at dense k-mesh, good enough for electronic DOS##############
&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

 

$PW_COMMAND  < al.scf.fit.in > al.scf.fit.out


此例子中采用16x16x16的k点网格。


2)、选取略疏的k点网格,用pw.x进行自洽计算

###### #  SCF at k-mesh good enough for phonons #########
&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


$PW_COMMAND < al.scf.in > al.scf.out


这里采用了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.,   #5.0.2改为electron_phonon='interpolated',
trans=.true., 
ldisp=.true. 
nq1=4, nq2=4, nq3=4
/

$PH_COMMAND < al.elph.in > al.elph.out


这里通过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.
/

 

$Q2R_COMMAND < q2r.in > q2r.out


这些参数与在计算声子时的一样,此时要为了计算电声耦合常数,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 

0.750 0.250 0.250 0.0

 0.625 0.375 0.375 0.0

 0.500 0.500 0.500 0.0

 0.325 0.325 0.325 0.0

 0.250 0.250 0.250 0.0

 0.125 0.125 0.125 0.0

 0.000 0.000 0.000 0.0

 0.125 0.125 0.000 0.0

 0.250 0.250 0.000 0.0

 0.325 0.325 0.000 0.0

 0.500 0.500 0.000 0.0

EOF

 

 

$MATDYN_COMMAND < matdyn.in.freq > matdyn.out.freq


同样这里也必须设置la2F为.true.。



6)、选取较密的q点网格,用matdyn.x计算声子态密度、Eliashberg函数alpha^2 F和电声耦合常数lamda。
(a) 计算声子态密度

输入文件的例子
cat > matdyn.in.dos << EOF

&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
/

EOF

$MATDYN_COMMAND < matdyn.in.dos > matdyn.out.dos

 


同样这里也必须设置la2F为.true.。


为了计算得到准确而收敛的结果,需要测试所选取的k 点和q网格。

 

(a) 计算Eliashberg函数alpha^2 F和电声耦合常数lamda

cat > lambda.in << EOF

10  0.12  1    ! emax (something more than highest phonon mode in THz), degauss, smearing method

   8          ! Number of q-points for which EPC is calculated,

   0.0000000  0.0000000  0.0000000   1.00  ! the first q-point, use kpoints.x program to calculate

   -0.2500000 -0.2500000  0.2500000   8.00  ! q-points and their weight

   -0.5000000 -0.5000000  0.5000000   4.00  !

    0.0000000  0.0000000  0.5000000   6.00  ! 4th q-point, qx,qy,qz

   -0.2500000 -0.2500000  0.7500000  24.00  !

   -0.5000000 -0.5000000  1.0000000  12.00  !

    0.0000000  0.0000000  1.0000000   3.00  !

   -0.5000000  0.0000000  1.0000000   6.00  ! the last q-point

elph. 0.000000. 0.000000. 0.000000 ! elph output file names,

elph.-0.250000. 0.250000.-0.250000 ! in the same order as the q-points before  

elph. 0.500000.-0.500000. 0.500000

elph. 0.000000. 0.500000. 0.000000

elph. 0.750000.-0.250000. 0.750000

elph. 0.500000. 0.000000. 0.500000

elph. 0.000000.-1.000000. 0.000000

elph.-0.500000.-1.000000. 0.000000

0.10                     ! \mu the Coloumb coefficient in the modified

                        ! Allen-Dynes formula for T_c (via \omega_log)

EOF

 

$LAMBDA_COMMAND < lambda.in > lambda.out

 

 

http://blog.sciencenet.cn/blog-567091-725236.html



http://blog.sciencenet.cn/blog-685489-894962.html  此文来自科学网巩朋来博客,转载请注明出处。 

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()