摘要:原子振动频率的计算通常基于对系统能量对原子坐标的二阶导数(Hessian 矩阵)的计算。Hessian 矩阵描述了系统在原子位置变化时的能量变化,其特征值对应于振动频率的平方。通过计算 Hessian 矩阵,可以得到系统的振动模式和对应的振动频率。
VASP原子振动频率计算原理
原子振动频率的计算通常基于对系统能量对原子坐标的二阶导数(Hessian 矩阵)的计算。Hessian 矩阵描述了系统在原子位置变化时的能量变化,其特征值对应于振动频率的平方。通过计算 Hessian 矩阵,可以得到系统的振动模式和对应的振动频率。
首先,通过几何优化(如共轭梯度算法)找到系统的最低能量结构,以确保计算的稳定性。在优化后的结构基础上,通过计算 Hessian 矩阵或使用有限位移法(finite difference method)或密度泛函微扰理论(DFPT)来计算振动频率。最后通过分析输出文件(如 OUTCAR)中的振动频率数据,可以得到系统的振动模式和对应的频率值。
准备工作
VASP计算需要准备超算连接软件EASYCONNECT与SSH,建模软件VESTA,超算连接软件Winscp
VESTA软件下载链接
EASYCONNCT软件下载链接
EasyConnect下载-EasyConnect最新版下载V7.6.7.0
Winscp软件下载链接
Downloading WinSCP-6.5.3-Setup.exe :: WinSCP
VASP输入参数说明
INCAR文件:
ISTART=0 #开始新的任务,随机产生初始波函数
ICHARG=2 #开始新的任务,从原子电荷密度产生体系初始电荷密度
PREC=M #计算精度,决定ENCUT
ISPIN=2 #打开自旋极化
ALGO=N #确定电子优化的算法
NELM=60 #电子波函数最多计算60步
EDIFF=1E-5 #相邻两步电子迭代的能量差收敛标准
ENCUT=400 #平面波截断能400 eV
IVDW=11 #考虑范德华力修正
IBRION=5 #原子振动频率计算
NSW=1 #离子弛豫的步数
ISIF=2 #固定晶格优化原子坐标
EDIFFG=-0.1 #离子弛豫的force的收敛标准
ISMEAR=0 #费米能级附近电子占据数为高斯分布,适合金属、半导体、绝缘体
SIGMA=0.1 #高斯分布展宽0.1 eV
NFREE = 2 #中心差分法计算能量对位移的微分
POTIM=0.015 #差分法步长
KPOINTS文件:
Automatic generation #注释行
0 #自动产生K点网格
G #布里渊区K点网格以Gamma点为中心
6 6 1 #K点网格密度
0 0 0 #K点网格中心平移矢量
pt001吸附原子振动频率计算
第一步,进入pt计算文件夹
cd crystal/pt
将结构优化h文件夹复制成自洽计算h2ofreq文件夹
cp -r h2o h2ofreq
进入h2ofreq文件夹
cd h2ofreq
cp CONTCAR POSCAR
第二步,修改结构优化的 INCAR 文件
修改 INCAR 文件,修改IBRION=5、NSW=1、NFREE=2、POTIM=0.015。
vi INCAR
第三步,提交振动计算
sbatch JOB
计算完成后查看输出文件output
cat output
第四步,用zpe和ts脚本提取零点振动能和熵
总结
今天华算科技朱老师给大家介绍Pt吸附水之后的零点振动能及熵计算,这个常用于催化案例中。之前已经做好了吸附水的结构计算,然后把它这个文件夹复制成 h2ofreq 做振动计算,首先把结构保留下来,然后修改INCAR,IBRION 改成5, NSW 改成1,再加上 NFREE 等于2,POTIM 等于0.015,这里的ISTART 和 ICHARG也改成1,读取波函数及电荷密度加快计算。POSCAR当中的原子坐标除了吸附原子以外其他都固定,也就是说催化剂都是F,只计算吸附物质的振动频率和对能量的贡献,提交任务。
这边有说有限差分法的步长是0.015,自由度是 9 个,因为是三个原子水分子,每个原子有三个自由度,那么总共是九个自由度,采用的是中心差分,每个自由度算两个位移来做一个差分代替微分的这样一个计算,所以就二九一十八个能量计算完成之后就可以得到振动频率,算完之后用两个脚本分别提取零点振动能和熵的数值。
振动计算会随着吸附物种原子数的增加计算量而增加,这就是为什么会把催化剂原子给固定,如果不固定的话,催化剂动辄两三百个原子,那这个计算量还是很大的。
算完之后用第一个脚本 zpe 提取它的振动能0.58,再用第二个脚本ts,这里要输入温度298.15K。它的熵是 0.15 eV,这样就把振动和熵数据的提取给大家介绍完了。
来源:朱老师讲VASP