经验分享
Phonopy- spectroscopy是一个为Phonopy代码添加模拟振动光谱能力的项目。
它可以从Phonopy或VASP计算红外(IR)强度,和计算Raman活度张量和远离共振近似的标量平均强度。
参考该软件examples的计算流程,整理了这篇教程。
准备内容
软件安装
声子谱&三阶力常数计算
红外强度计算
Raman计算
Part.1
软件安装
软件安装包可从github下载
https://github.com/JMSkelton/Phonopy-Spectroscopy/
解压后,主要文件如下
首先要将执行命令所在的文件夹Scripts添加到环境变量中,或者根据所在目录直接调用文件夹内命令。
然后将文件夹SpectroscoPy添加到Python环境可调用的库中。因为我这里使用的是Anaconda,所以将该文件夹移动到site-packages文件夹中。
由于在我的使用环境中出现了一些报错
在phonopy.py中添加下图中阴影内容后即可正常使用
Part.2
声子谱&三阶力常数计算
声子谱的计算主要目的是获得二阶力常数文件FORCE_CONSTANTS,而为了计算光学性质,同时需要计算波恩电荷,写出BORN文件。需要在计算声子谱的INCAR中加入下面这条:
LEPSILON = .TRUE
按照软件案例,作者可能更喜欢hdf5格式的数据文件,生成force_constants.hdf5文件的命令如下
phonopy --fc vasprun.xml --hdf5
生成mash.yaml或mash.hdf5文件:
phonopy --dim="6 6 3" --readfc --hdf5 --fc-symmetry --mesh="1 1 1" --eigenvectors
使用phono3py软件进行三阶力常数文件的计算。具体计算流程可以参考VASP+phono3py:快速计算晶格热导率
生成&Gamma点模式的声子线宽:
phono3py --dim="2 2 2" --dim_fc2="6 6 3" --fc2 --fc3 -v --br --thm --mesh="48 48 48" --write_gamma --gp=0
Part.4
红外强度计算
这时需要使用之前准备好的BORN文件,生成室温(300 K)线宽的模拟红外光谱和峰值表,命令如下
phonopy-ir --ir_reps --linewidth_hdf5="kappa-m484848-g0.hdf5" --linewidth_temperature=300
Part.5
Raman计算
通过irreps.yaml的振动信息,并参考D3点组的字符表,判断可能显示Raman活动的模式,并生成计算文件。
phonopy-raman -d --bands="4 5 6 7 8 9 11 12 13 14 15 17 18 20 21 22 23 25 26 27"
bands的值为需要计算的模式。
计算的INCAR 参考软件的example,如下
ALGO = Normal
EDIFF = 1E-8
ENCUT = 700
ISIF = 2
ISMEAR = 0
LASPH = .TRUE.
LCHARG = .FALSE.
LEPSILON = .TRUE.
LREAL = .FALSE.
LWAVE = .FALSE.
NSW = 0
PREC = Accurate
SIGMA = 0.01
SYSTEM = SiO2
计算完成后处理OUTCAR文件
phonopy-raman -r OUTCAR.*
最后获得Raman计算结果
phonopy-raman -p --ir-reps --linewidth-hdf5="kappa-m484848-g0.hdf5" --linewidth-temperature=300
愿有所成
引喻失义 妄自菲薄