乙醇结构优化
POSCAR准备
bigbro推荐了一个网址还可以 http://www.chemspider.com/Default.aspx
其中可以搜索到.mol文件(操作的时候复制的时候不好复制是可能会用到Alt + shift)
这里首先一个先学一下如何书写POSCAR
首先写出头头
Ethanol
1.0
20.0 0.0 0.0
0.0 20.0 0.0
0.0 0.0 20.0
O C H
1 2 6
Cartesian #以上头部信息 下面是结构信息
1.4330 -0.5348 0.0000
0.0078 -0.5407 0.0000
-0.5147 0.9054 -0.0000
-0.3506 -1.0670 0.8867
-0.3506 -1.0670 -0.8867
-1.6061 0.9135 -0.0000
-0.1616 1.4335 -0.8875
-0.1616 1.4335 0.8875
1.7044 -1.4764 -0.0000
此处应该再写一个移动原子的脚本(。。。。。 )以后再写
INCAR准备
这里写简易的INCAR有些参数直接就是默认,直接抄bigbro
SYSTEM = ethanol
START=1
#ISPIN=2 乙醇是闭壳层分子 不用
IBRION=2
NSW=100
EDIFFG=-0.05
ISMEAR=0 #气象分子用0
SIGMA=0.01 #气象分子用0.01
POTCAR准备~简单
cat ~/pbe/O/POTCAR ~/pbe/C/POTCAR ~/pbe/H/POTCAR > POTCAR
KPOINTS也简单
KPOINTS
0
G
1 1 1
0 0 0
频率计算
INCAR修改
SYSTEM = ethanol
#频率计算
IBRION=5
NSW=1
NFREE=2
EDIFF=1E-6
EDIFFG=-0.05
ISMEAR=0 #气象分子用0
SIGMA=0.01 #气象分子用0.01
计算完后检查OSZICAR 于OUTCAR
OSZICAR 最底部可以看到一共55步
这里的55的由来: 一共9个原子9x3=27然后+POTIM与-POTIM两个方向一共9x3x2=54个 然后多一个频率计算前的单点计算
固定原子
用linux的方法固定原子
- :set nu 显示行数
- 第八行的位置插入Selected
- :10,18s/$/ T T T/g (解释一下这个命令10,18表示选取行的范围,s表示替换,T T T表示要替换的内容 g表示全部替换的意思)
- :11,17s/T/F/g 固定除了OH以外的所有东西
jmol就是显示出OUTCAR中每一条的震动信息
数据分析:OUTCAR频率信息的提取
grep cm-1 OUTCAR
可以看出9x3=27种震动模式
对于虚频来说100cm-1以下的都可以忽略
因此我们的结构是稳定的
零点能的计算
grep ‘f =’ OUTCAR | awk ‘{print $10}’ | paste -sd+ |bc
解析语言 grep ‘f =’ OUTCAR’ (注意中间是两个空格)可以检索出所有实频率, 然后用awk 把第十行的能量值打印出来,
paste是黏贴合并语言-s表示按照行合并, d+表示用+号隔开 然后bc属于计算器把前面的东西合并运算
我的计算结果与bigbro的基本一样0.5%的差距可以忽略
脚本书写
这里的scale是定义精确度,然后2000是因为 2来自于零点能得1/2 hv, 1000是因为起始单位是mev 而最后能量是ev
成功得出频率得零点能结果