||
关注:
1) 线性响应计算声子谱的原理;
2) gamma点测试的重要性及gamma点与声学支的关系;
3) PWscf线性响应计算声子谱的步骤
插播:
由此可见gamma点测试的结果是快速判定结构是否有虚频,如有可与光学支最低频率数值可比拟的虚频则可认为结构不稳定!!!
自洽k点取20 20 11
grep cm *dyn*
q = ( 0.000000000 0.000000000 0.000000000 )
**************************************************************************
omega( 1) = -1.963360 [THz] = -65.490645 [cm-1] #结构真的不稳定?
omega( 2) = 1.569010 [THz] = 52.336542 [cm-1]
omega( 3) = 1.569010 [THz] = 52.336542 [cm-1]
omega( 4) = 8.326116 [THz] = 277.729323 [cm-1] # 光学支的最低频率数值?
omega( 5) = 8.326116 [THz] = 277.729323 [cm-1]
omega( 6) = 16.453483 [THz] = 548.829117 [cm-1]
omega( 7) = 38.652389 [THz] = 1289.304923 [cm-1]
自洽k点取27 27 15
q = ( 0.000000000 0.000000000 0.000000000 )
**************************************************************************
omega( 1) = -1.955992 [THz] = -65.244873 [cm-1] # 增大自洽k点没什么改观!
omega( 2) = 1.577053 [THz] = 52.604817 [cm-1]
omega( 3) = 1.577053 [THz] = 52.604817 [cm-1]
omega( 4) = 8.330829 [THz] = 277.886536 [cm-1]
omega( 5) = 8.330829 [THz] = 277.886536 [cm-1]
omega( 6) = 16.459378 [THz] = 549.025757 [cm-1]
第一次算的结果,自洽k点取16 16 9
grep cm *dyn1*
sch4-i4mm.dyn1: omega( 1) = -1.964115 [THz] = -65.515826 [cm-1]
sch4-i4mm.dyn1: omega( 2) = 1.568968 [THz] = 52.335128 [cm-1]
sch4-i4mm.dyn1: omega( 3) = 1.568968 [THz] = 52.335130 [cm-1]
sch4-i4mm.dyn1: omega( 4) = 8.329003 [THz] = 277.825633 [cm-1]
sch4-i4mm.dyn1: omega( 5) = 8.329003 [THz] = 277.825641 [cm-1]
1. Gamma点测试
自洽计算的k点选取要足够好的gamma点声子没有虚频
export name='c2m'
for i in 14 16 18 24
do
cat > $name.scf.in_$i << EOF
&control
calculation = 'scf'
restart_mode='from_scratch',
prefix=$name,
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav=2,
celldm(1)=7.836769829,
nat= 4, ntyp= 2
ecutwfc =60,
occupations='smearing', smearing='methfessel-paxton', degauss=0.02
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-8
/
ATOMIC_SPECIES
H 1.008 H.pbe-van_ak.UPF
Sc 44.9559 Sc.pbe-nsp-van.UPF
ATOMIC_POSITIONS (crystal)
H 0.250146949 0.250146938 0.250146944
H 0.749853056 0.749853058 0.749853056
H 0.000000001 -0.000000001 0.000000000
Sc 0.500000000 0.500000000 0.500000000
K_POINTS {automatic}
$i $i $i 0 0 0
EOF
$PARA_PREFIX $PW_ROOT/pw.x < $name.scf.in_$i >$name.scf.out_$i
cat >$name.phG.in_$i << EOF
phonon of $name at Gamma
&inputph
tr2_ph=1.0d-12,
prefix='$name',
amass(1)=1.008,
amass(2)=44.955910,
outdir='$TMP_DIR',
fildyn='$name.dyn$i',
/
0 0 0
EOF
$PARA_PREFIX $PW_ROOT/ph.x < $name.phG.in_$i > $name.phG.out_$i
done
结果查看:
(1) k点选18 18 18时
q = ( 0.000000000 0.000000000 0.000000000 )
**************************************************************************
omega( 1) = 0.088842 [THz] = 2.963474 [cm-1]
( 0.000003 0.000000 0.353720 0.000000 -0.353717 0.000000 )
( 0.000003 0.000000 0.353720 0.000000 -0.353717 0.000000 )
( 0.000003 0.000000 0.353958 0.000000 -0.353955 0.000000 )
( 0.000003 0.000000 0.352821 0.000000 -0.352817 0.000000 )
omega( 2) = 0.088842 [THz] = 2.963474 [cm-1]
( 0.408439 0.000000 0.204217 0.000000 0.204222 0.000000 )
( 0.408439 0.000000 0.204217 0.000000 0.204222 0.000000 )
( 0.408714 0.000000 0.204354 0.000000 0.204360 0.000000 )
( 0.407400 0.000000 0.203697 0.000000 0.203703 0.000000 )
omega( 3) = 0.188427 [THz] = 6.285302 [cm-1]
......
(2)k点选24 24 24时,
Diagonalizing the dynamical matrix
q = ( 0.000000000 0.000000000 0.000000000 )
**************************************************************************
omega( 1) = 0.070193 [THz] = 2.341418 [cm-1]
( 0.040149 0.000000 0.372085 0.000000 -0.331935 0.000000 )
( 0.040149 0.000000 0.372085 0.000000 -0.331935 0.000000 )
( 0.040170 0.000000 0.372279 0.000000 -0.332109 0.000000 )
( 0.040051 0.000000 0.371176 0.000000 -0.331124 0.000000 )
omega( 2) = 0.070193 [THz] = 2.341418 [cm-1]
( 0.406466 0.000000 0.168463 0.000000 0.238003 0.000000 )
( 0.406466 0.000000 0.168463 0.000000 0.238003 0.000000 )
( 0.406679 0.000000 0.168551 0.000000 0.238128 0.000000 )
( 0.405473 0.000000 0.168051 0.000000 0.237422 0.000000 )
omega( 3) = 0.185659 [THz] = 6.192952 [cm-1]
( 0.288793 0.000000 -0.288793 0.000000 -0.288793 0.000000 )
( 0.288793 0.000000 -0.288793 0.000000 -0.288793 0.000000 )
( 0.288991 0.000000 -0.288991 0.000000 -0.288991 0.000000 )
( 0.288123 0.000000 -0.288123 0.000000 -0.288123 0.000000 )
omega( 4) = 24.347901 [THz] = 812.163938 [cm-1]
( 0.211137 0.000000 0.184517 0.000000 0.026619 0.000000 )
( 0.211137 0.000000 0.184517 0.000000 0.026619 0.000000 )
( 0.687119 0.000000 0.600489 0.000000 0.086630 0.000000 )
( -0.024944 0.000000 -0.021799 0.000000 -0.003145 0.000000 )
omega( 5) = 24.347901 [THz] = 812.163938 [cm-1]
( -0.091162 0.000000 0.137269 0.000000 -0.228431 0.000000 )
2. 声子谱计算输入文件
export name='c225'
for a in 1000
do
cat > $name.scf.in_$a << EOF
&control
calculation = 'scf'
restart_mode='from_scratch',
prefix='$name',
pseudo_dir = '$PSEUDO_DIR/',
outdir='$TMP_DIR/'
tstress=.t.,
tprnfor=.t.
/
&system
ibrav=2,
celldm(1)=7.836769829,
nat= 4, ntyp= 2
ecutwfc =90,
nbnd= 30,
occupations ='smearing', degauss =0.01
smearing ='mp'
/
&electrons
mixing_beta = 0.7
conv_thr = 1.0d-8
/
ATOMIC_SPECIES
H 1.008 H.pbe-van_ak.UPF
Sc 44.9559 Sc.pbe-nsp-van.UPF
ATOMIC_POSITIONS (crystal)
H 0.250146949 0.250146938 0.250146944
H 0.749853056 0.749853058 0.749853056
H 0.000000001 -0.000000001 0.000000000
Sc 0.500000000 0.500000000 0.500000000
K_POINTS {automatic}
15 15 15 0 0 0 【选的不够,gamma点有虚频】
EOF
$PARA_PREFIX $PW_ROOT/pw.x < $name.scf.in_$a >$name.scf.out_$a
done
ic=6
qpoints="0.500000000000000E+00,-0.500000000000000E+00,0.100000000000000E+01\
-0.250000000000000E+00,-0.125000000000000E+01,0.250000000000000E+00\
-0.500000000000000E+00,-0.500000000000000E+00,0.000000000000000E+00\
0.000000000000000E+00,-0.100000000000000E+01,0.500000000000000E+00\
0.500000000000000E+00,-0.500000000000000E+00,-0.500000000000000E+00"
for qpoint in $qpoints ; do
ic=`expr $ic + 1`
qx=`echo $qpoint | cut -d, -f1`
qy=`echo $qpoint | cut -d, -f2`
qz=`echo $qpoint | cut -d, -f3`
cat >$name.ph$ic.in << EOF
phonon of $name at Gamma
&inputph
tr2_ph=1.0d-12,
prefix='$name',
amass(1)=1.008
amass(2)=44.955910,
outdir='$TMP_DIR',
fildyn='$name.dyn$ic',
/
$qx $qy $qz
EOF
$PARA_PREFIX $PW_ROOT/ph.x < $name.ph$ic.in > $name.ph$ic.out
done
结果查看:
q = ( 0.000000000 0.000000000 0.000000000 )
**************************************************************************
omega( 1) = -0.633470 [THz] = -21.130409 [cm-1]
( 0.153492 0.000000 -0.250602 0.000000 0.404093 0.000000 )
( 0.153492 0.000000 -0.250602 0.000000 0.404093 0.000000 )
( 0.154843 0.000000 -0.252807 0.000000 0.407651 0.000000 )
( 0.152559 0.000000 -0.249079 0.000000 0.401638 0.000000 )
omega( 2) = -0.633470 [THz] = -21.130409 [cm-1]
( -0.377988 0.000000 -0.321922 0.000000 -0.056066 0.000000 )
( -0.377988 0.000000 -0.321922 0.000000 -0.056066 0.000000 )
( -0.381316 0.000000 -0.324756 0.000000 -0.056560 0.000000 )
( -0.375692 0.000000 -0.319966 0.000000 -0.055726 0.000000 )
附- 转载:PWscf 线性响应理论作声子谱
(1) Gamam点声子
1.对体系进行能量自洽循环计算
2.对Gama点进行声子计算,重点设置参数:tr2_ph(频率收敛截断), fildyn动力学矩阵文件), amass(原子质量)。如果是绝缘体还要考虑加入玻恩有效电荷的计算参数:epsil=true
(2) Gama 点以外的单点声子
1. 对体系进行能量自洽循环计算
2. 进行一个能量的非自洽计算,设置calculation=`phonon`; 在输入文件的phonon域给出特殊点的直角坐标(xqq(1), xqq(2), xqq(3))
3. 对特殊点进行声子计算,重点设置参数:tr2_ph(频率收敛截断), fildyn(动力学矩阵文件), amass(原子质量)。
(3) 拟合特殊方向上的声子谱
1. 在布里渊区选取一个合适(既保证足够精细同时又在可接受计算时间范围)的q 格子,即一些代表性的q点。这步工作可以利用PWscf自带的程序 /expresso-3.2/pwtools/kpoints.x完成。
2. 对q格子上的点分别进行单点计算,方法如上(1),(2)所示。
3. 根据单点计算得到的动力学矩阵文件拟合出所需要的特殊方向上的声子谱。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 01:21
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社