xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

PWSCF计算声子谱-gamma点的测试很重要

已有 20775 次阅读 2013-9-23 23:34 |个人分类:PWSCF|系统分类:科研笔记

关注:

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. 根据单点计算得到的动力学矩阵文件拟合出所需要的特殊方向上的声子谱。




https://blog.sciencenet.cn/blog-567091-727329.html

上一篇:Phonopy 热力学性质及ZPE的计算
下一篇:Trouble shooting-PWscf计算过程中遇到的错误
收藏 IP: 128.84.125.*| 热度|

1 周亚梅

该博文允许注册用户评论 请点击登录 评论 (7 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-18 20:59

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部