【VASP】计算声子谱详细步骤!

声子谱是描述晶体中晶格振动模式(声子)的频谱分布,反映了不同波矢(q)对应的振动频率。声子是晶格振动的量子化表现形式,其能量和动量关系通过声子谱直观呈现,与材料的热力学性质(如热容、热导率)和动力学行为(如相变、稳定性)密切相关。
Phonopy是目前计算声子谱的主流工具,通过过超胞有限位移法或密度泛函微扰理论(DFPT)计算力常数,支持一次性移动多个原子方向,显著减少了计算量,并与第一性原理软件(如VASP、QuantumESPRESSO)无缝对接,可直接读取输出文件(如vasprun.xml)生成力常数,以下是详细的操作步骤。
一、密度泛函微扰理论/线性响应方法 (DFPT)
  必要的输入文件:
INCAR
KPOINTS
POSCAR-unitcell # 优化得到的初始晶胞
POTCAR
band.conf
1.扩胞得到计算所需的POSCAR
#在Linux终端直接运行命令
#1. 生成超胞
phonopy -d –dim=”2 2 2″ -c POSCAR-unitcell #–dim=’2 2 2’表示’x y z’方扩的大小

#2. 将生成的SPOSCAR拷贝成POSCARcp SPOSCAR POSCAR

 
2.提交VASP计算
INCAR设置如下:
 ISMEAR =  0            (Gaussian smearing)
SIGMA  =  0.05         (Smearing value in eV)
IBRION =  8            (determines the Hessian matrix using DFPT)
EDIFF  =  1E-08        (SCF energy convergence; in eV)
PREC   =  Accurate     (Precision level)
ENCUT  =  500          (Cut-off energy for plane wave basis set, in eV)
IALGO  =  38           (Davidson block iteration scheme)
LREAL  = .FALSE.       (Projection operators: false)
LWAVE  = .FLASE.       (Write WAVECAR or not)
LCHARG = .FLASE.       (Write CHGCAR or not)
ADDGRID= .TRUE.        (Increase grid; helps GGA convergence)
NSW    = 1
NELM   = 100
NELMDL = -5
KPOINTS需适当减小,可以的话最好再进行一次收敛测试;
A
0
M
3  3  3
0  0  0
提交VASP计算
mpirun -np 16 vasp_std > vasp.log
 
3.计算声子谱
准备band.conf文件,如下所示:(参数含义详见phonopy官网)
 ATOM_NAME =Si
DIM = 2 2 2
PRIMITIVE_AXES=Auto
MP = 24 24 24
BAND =0.0 0.0 0.0  0.5 0.0 0.5  0.625  0.25  0.625, 0.375 0.375 0.75  00 0.0 0.0  0.5 0.5 0.5
BAND_POINTS = 101
FORCE_CONSTANTS= READ
获取声子谱后处理步骤;
 #直接在终端运行
#1. 提取力常数,得到FORCE_CONSTANTS文件。
phonopy –fc vasprun.xml

#2. 计算声子谱并保存为pdf格式
phonopy -c POSCAR-unitcell band.conf -p -s

#3. 将声子谱进一步输出为数据文件,用于其它软件画图。

#旧版本phonopy
bandplot  –gnuplot> phonon.out
#新版本phonopy
phonopy-bandplot –gnuplot > phonon.out
#phonon.out文件中首行是高对称点在x轴上的坐标

 
二、有限位移方法
必要的输入文件:
INCAR 
KPOINTS
POSCAR-unitcell # 优化得到的初始晶胞
POTCAR
band.conf
1. 扩胞得到计算所需的POSCAR
#在Linux终端直接运行命令
#1. 生成超胞
phonopy -d –dim=”2 2 2″ -c POSCAR-unitcell #–dim=’2 2 2’表示’x y z’扩胞的大小#会得到一系列POSCAR-001,POSCAR-002,… 数量由对称性决定。
#2. 建立disp-*文件夹,具体数量以生成POSCAR-*的数量决定。将POSCAR-POTCAR, INCAR, KPOINTS放入disp-*文件夹
mkdir disp-001
cp POSCAR-001 ./disp-001/POSCAR
cp POTCAR ./disp-001/POTCAR
cp INCAR ./disp-001/INCAR
cp KPOINTS ./disp-001/KPOINTS
 
2. 提交VASP计算
INCAR设置如下(静态计算):
 PREC = Accurate
IBRION = -1
ENCUT = 500
EDIFF = 1.0e-08
EDIFFG = -0.001
ISMEAR = 0
SIGMA = 0.05
ALGO = 38
LREAL = .FALSE.
LWAVE = .FALSE.
LCHARG = .FALSE.
KPOINTS需适当减小,可以的话最好再进行一次收敛测试
A
0
M
3  3  3
0  0  0
提交VASP计算
mpirun -np 16 vasp_std > vasp.log
 
3.计算声子谱
准备band.conf文件,如下所示:(参数含义详见phonopy官网)
 ATOM_NAME =Si
DIM = 2 2 2
PRIMITIVE_AXES=Auto
MP = 24 24 24
BAND =0.0 0.0 0.0  0.5 0.0 0.5  0.625  0.25  0.625, 0.375 0.375 0.75  0.0 0.0 0.0  0.5 0.5 0.5
BAND_POINTS = 101
FULL_FORCE_CONSTANTS = .TRUE.
FORCE_CONSTANTS= WRITE #生成FORCE_CONSTANTS
准备mesh.conf文件,如下所示:
ATOM_NAME = Si
DIM = 2 2 2
MP = 24 24 24
获取声子谱后处理步骤
bash
 #直接在终端运行
#1. 提取动力学矩阵,进入disp-*的上一级文件夹
phonopy -f ./disp-*/vasprun.xml #会生成FORCE_SET

#2. 计算声子谱并保存为pdf格式,同时生成FORCE_CONSTANTS
phonopy -c POSCAR-unitcell band.conf -p -s

#3. 将声子谱进一步输出为数据文件,用于其它软件画图。
#旧版本phonopy
bandplot  –gnuplot> phonon.out
#新版本phonopy
phonopy-bandplot –gnuplot > phonon.out
#phonon.out文件中首行是高对称点在x轴上的坐标

【VASP】计算声子谱详细步骤!
如果侵权,请及时告知我们,我们将在最短的时间内删除。

 

 

声明:如需转载请注明出处(华算科技旗下资讯学习网站-学术资讯),并附有原文链接,谢谢!
(0)
上一篇 2025年3月21日 上午10:18
下一篇 2025年3月21日 上午10:22

相关推荐