||
利用VASP计算力来获得声子谱的步骤如下
1. 准备POSCAR文件,一般POSCAR中为一个单胞,然后运行命令
phonopy -d --dim=”m n l”
即可生成一个SPOSCAR文件,其中包含的结构为由指定单胞扩展得到的m×n×l的超原胞,此外还会生成disp.yaml以及POSCAR-{number}等文件,前者包含所有的位移信息,后者则表示发生不同位移的超原胞(文件名序号与disp.yaml中指定位移的顺序一致)
注意:由于phonopy生产超原胞和位移时没有POTCAR文件,所以需要在POSCAR的第一行中依次指明各元素名,这与普通的POSCAR(第一行为注释行)是不一样的,而POSCAR也可以采用VASP5.2及以上的写法,即在晶格基矢后增加一行指明各元素名称。
2. 力计算,计算发生指定有限位移时的原子受力。在VASP中,直接采用POSCAR-{number}作为POSCAR计算每个指定位移下的原子受力。可以参考以下的INCAR
PREC = Accurate
IBRION = -1
ENCUT = 500
EDIFF = 1.0e-08
ISMEAR = 0; SIGMA = 0.01
IALGO = 38
LREAL = .FALSE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
注意在计算中不要弛豫结构(IBRION=-1,静态计算)
3. 后处理,主要分三步:利用力计算中得到的力来计算力常数;利用力常数构造动力学矩阵;利用动力学矩阵计算声子谱(包括本征频率及相应的本征波矢)。
在这一步开始前,可以准备如下文件mesh.conf
ATOM_NAME = Si O
DIM = 2 2 3
MP = 8 8 8
运行命令
phonopy -p mesh.conf
计算态密度
运行命令
phonopy -t mesh.conf
计算热力学性质(自由能——单位J/mol,熵——单位J/K/mol,热容——单位J/K/mol)
运行命令
phonopy –t -p mesh.conf
绘制热力学相关参数(热容、熵、自由能)随温度T(热力学温标)变化的曲线
利用VASP的DFPT方法计算声子谱的步骤如下:
1. 建立初始结构POSCAR(或其他指定的文件如POSCAR-unitcell)
2. 运行命令phonopy –d –dim="m n l"创建一个m×n×l的超原胞(存在SPOSCAR文件中)。在这一方法中POSCAR-{number}和disp.yaml都不会用到。
3. 将phonopy创建的SPOSCAR复制到POSCAR中,运行VASP进行DFPT计算(注意:VASP的DFPT只能计算 点的力常数!是否有影响?),INCAR的参考设定为
PREC = Accurate
ENCUT = 500
IBRION = 8
EDIFF = 1.0e-08
IALGO = 38
ISMEAR = 0; SIGMA = 0.1
LREAL = .FALSE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
(注意:此处在INCAR中设定IBRION=8,根据VASP说明书,设定IBRION=7或8可以进行DFPT计算并得到Hessian矩阵,但是只有在VASP5.1及更高版本中才可以进行该计算)
4. 确定VASP计算得到的vasprun.xml文件中包含Hessian 矩阵元素,然后运行命令
phonopy --fc vasprun.xml生成力常数文件FORCE_CONSTRAINTS
5. 绘制声子谱:在参数设定文件band.conf中设定FORCE_CONSTRAINTS = READ(或者在运行命令时加上选项--readfc),然后运行命令phonopy --dim="m n l" -c POSCAR-unitcell band.conf(如果原胞文件为POSCAR则不需指定)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 14:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社