|
|
本帖最后由 光荣道彭于晏 于 2022-1-14 12:33 编辑
卢老师您好,非常感谢您提供的解答和帮助。我按照您提供的教程,一步步摸索,终于完成了RESP2电荷的计算。
一、计算过程(写这个主要是想给像我一样的纯小白用户一个参考,另外也是想让卢老师给把把关)
1. 绘制残基顺序为ABC的MMA三聚体。
之前使用ChemDraw和ChemDraw3D绘制,导致最终出现乱连键的情况,所以尝试直接使用GaussView直接绘制。但是结构优化之后还是出现了C-O-O-C这种键。根据卢老师的提示,这种情况应该和所用软件没有关系,而是要在GaussView中仔细检查分子,看看是不是有距离过近的原子,通过二面角工具手动调整分子的构象,使之有一个相对合理的初始结构,原子之间尽量疏离一些。保存为.gjf文件。
(对于一点也不会Gaussian和GaussView的同学,可以先看一下Gaussian入门教程,纯小白向)
2. 在.gjf文件中编辑关键词。
这一步非常重要,卢老师教程里面是将三个任务(结构优化、气相下的计算和液相下的计算)写到一个文件里面了,而我分成了三个任务分别跑(其实没有这个必要)。我在初期尝试计算的时候出现了报错,没有意识到需要去对应的.out文件里查找详细的报错原因(对于.out文件的简单解读,在Gaussian入门教程视频里面也有,终端提示的报错信息完全无法确定问题所在),就分成了三个任务分别跑,尝试确定错在了哪个任务。
结构优化:
- %chk=/run/media/root/HDD2_Linux-Win/MD_HDD2/MMA-1-RESP2(0.5)/opt.chk
- # B3LYP/TZVP em=GD3BJ opt
复制代码 气相下:
- %oldchk=/run/media/root/HDD2_Linux-Win/MD_HDD2/MMA-1-RESP2(0.5)/opt.chk
- %chk=/run/media/root/HDD2_Linux-Win/MD_HDD2/MMA-1-RESP2(0.5)/SP_gas.chk
- # B3LYP/def2TZVP em=GD3BJ geom=allcheck
复制代码 液相下:
- %oldchk=/run/media/root/HDD2_Linux-Win/MD_HDD2/MMA-1-RESP2(0.5)/opt.chk
- %chk=/run/media/root/HDD2_Linux-Win/MD_HDD2/MMA-1-RESP2(0.5)/SP_solv.chk
- # B3LYP/def2TZVP em=GD3BJ scrf(read,solvent=generic) geom=allcheck
- eps=4.0
- epsinf=1.9
复制代码 关键词的设置方法,参照楼上卢老师提供的链接。
3. 调用Gaussian进行计算
- g16 < 文件名.gjf > 文件名.out (我自己安装的是Gaussian16,就用g16)
复制代码 通过检查三个任务的.out文件,证明所有的计算都已完成。
结构优化:
- Item Value Threshold Converged?
- Maximum Force 0.000024 0.000450 YES
- RMS Force 0.000003 0.000300 YES
- Maximum Displacement 0.001669 0.001800 YES
- RMS Displacement 0.000353 0.001200 YES
- Predicted change in Energy=-1.061396D-08
- Optimization completed.
- -- Stationary point found. (出现4个yes就证明完成了结构优化)
复制代码- Job cpu time: 2 days 10 hours 28 minutes 27.0 seconds.
- Elapsed time: 0 days 3 hours 41 minutes 18.7 seconds. (翻到最下面能看到任务持续的时间,第二个时间是任务持续的实际时长。i7-10700K,设置Gaussian使用16核,47个原子的结构,在B3LYP/TZVP下,任务持续不到四小时,完全可以接受)
复制代码 经过检查.chk文件,发现没有乱连键的情况,而且分子的姿态更为舒展,原子之间的距离也更加疏离,应该是得到了正确的优化结构。
气相下:
- Job cpu time: 0 days 3 hours 21 minutes 23.0 seconds.
- Elapsed time: 0 days 0 hours 12 minutes 45.6 seconds. (在较好的优化结果基础上,气相下的计算很快就能完成)
复制代码 液相下:
- Job cpu time: 0 days 4 hours 27 minutes 16.7 seconds.
- Elapsed time: 0 days 0 hours 16 minutes 57.3 seconds. (液相下的计算同样很快)
复制代码
4. 计算RESP2(0.5)电荷
(参照教程在centOS下正确安装Multiwfn https://www.bilibili.com/video/av41402462/)
把SP_gas.chk和SP_solv.chk都转换为fch文件:
将/sob/Multiwfn_3.8_dev_bin_Linux/examples/RESP/calcRESP.sh 拷贝到当前目录 (这里偷懒使用了脚本来计算RESP2(0.5)电荷)
- ./calcRESP.sh SP_gas.fch SP_solv.fch (这行代码是直接复制卢老师帖子的,但是我这里报错了,报错原因是因为上一步的格式转换,把.chk转成了.fchk,所以这里也必须是.fchk,不然脚本找不到文件)
复制代码- ./calcRESP.sh SP_gas.fchk SP_solv.fchk (这一行代码就能正确使用脚本并调用Multiwfn来计算了)
复制代码 “运行过后,RESP电荷会输出到当前目录下的与输入文件同名但是后缀为chg的文件中,而RESP2电荷会输出为RESP2.chg。chg是Multiwfn的私有的记录原子电荷的格式,其中2~4列是来自fch文件里的坐标,最后一列是算出来的电荷值。”
5. 确定残基的原子和原子电荷,把数据和分子结构对应起来
在CentOS中,使用GaussView打开opt.chk文件(我的win系统下,GaussView6.0搭配Gaussian09打不开该文件),右击—view—labels,让程序显示原子序号;然后观察分子结构,找到封端的残基和中间的残基,并通过分别右击原子——选择原子的方式,讲中间的残基标注出来(选中之后的原子会变成黄色)
将RESP2.chg文件中原子顺序与GaussView打开的结构进行对照,发现两者是完全对应的。(这里学过量化的同学应该可以直接能确定,我是自己手动验证的)
将RESP2.chg数据拷贝到表格文件,并进行分列,对照GaussView,把其中三个残基的原子分别标注出来。到这里就完成了RESP电荷计算。
二、几个问题需要再请教卢老师
1. RESP2电荷的计算包含了液相下的计算,对于我要计算的任务,需要自定义溶液参数。而甲基丙烯酸甲酯三聚体是液体,PMMA是固态,分子结构上两者只有重复单元数这一点区别,那么,在自定义溶液的eps和epsinf时,要参照甲基丙烯酸甲酯单体溶液的参数(三聚体的参数应该很难找),还是要参照PMMA固体的相关参数?
2. 另外,时间关系,我只在一篇中文期刊上查到了PMMA的介电常数是4.0,根据您的帖子,把epsinf设成了1.9(“大部分溶液的epsinf在这附近”),这个参数是否合理?
3. 还有就是,对于MMA这种体系,应该不需要考虑液相非极性部分贡献吧?
|
|