计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1593|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[Gaussian/gview] G4MP2_XK脚本在win10下gjf运行成功,但perl脚本是针对的linux下的,需要对log文件修改

[复制链接 Copy URL]

9

帖子

1

威望

597

eV
积分
626

Level 4 (黑子)

本帖最后由 fastspeaker 于 2023-1-2 09:39 编辑

一直想计算下SbCL5的能量,查了下文献有说G4MP2_XK非常适合。于是下载了G4(MP2)-XK: A Variant of the G4(MP2)-6X Composite Method with
Expanded Applicability for Main-Group Elements up to Radon文献以及对应的脚本。然后在电脑上安装了Strawberry perl。由于脚本中针对linux的,我的windows中没有home文件夹,将自定义基组的路径由"@/home/el_buno/g4mp2xk_basis/maSVXP.gbs"改成了“@D:\G16W\g4mp2xk_basis/maSVXP.gbs”,并将相应gbs文件拷贝到该目录,将CHK文件目录也相应改了,提交gjf运行成功显示“Normal termination of Gaussian 16”,perl脚本执行得得到的结果为
File                                     NImag           eE               H0             H298
HI_G4MP2XK.LOG                             0        -0.57271021      -0.56743453      -0.56412973
觉得这个能量有点不正常。于是从社长的链接里下载了G4MP2_6x.gjf和G4MP2_6x.pl,将运行了。结果正常
C:\gaussian\G4MP2XK\script>G4MP2_6x.pl G4MP2_6X.LOG
G4MP2_6X.LOG
   Temperature (K)   298.15
   NImag     0
   E_ele    -114.40449865
   H(0K)    -114.37809561
H(298K)    -114.37427924
U(298K)    -114.37522343
G(298K)    -114.39909483
然后我就觉得gjf执行以及perl都没有问题。由于G4(MP2)-XK的脚本文件中带了gjf的运行结果log文件,我把这个log文件,用脚本执行了下,发现结果是正常的,如下
File                                     NImag           eE               H0             H298
HI_G4MP2XK.log                             0      -297.81711347    -297.81183778    -297.80853299
于是我仔细对比了两个log文件的每一步的计算结果,发现每一步结果的能量都是一样的如下:
第一步 BMK/GenECP Opt Freq  HF=-297.2900888 一致
第二步 Geom=AllCheck Guess=Read CCSD(T,FrzG4)/GenECP CCSD(T)=-297.4092556 一致
第三步 Geom=AllCheck Guess=Read MP2(FrzG4)/GenECP MP2=-297.7898008 一致
第四步 Geom=AllCheck Guess=Read HF/GenECP(基组maTZVP.gbs) HF=-297.2420448 一致
第五步 Geom=AllCheck Guess=Read HF/GenECP(基组maQZVP.gbs)HF=-297.2439412 一致。
我运行的是 Gaussian 16:  EM64W-G16RevA.03(win10);例子中的是Gaussian 16:  ES64L-G16RevB.01。我的log文件只有138K,则例子中log文件有382K,且里面输出了自定义基组的参数。
为了验证这个想法,于是我将例子log文件中的基组相关文字全部删除,并用脚本执行下,发现结果也不对了。确定就是这个原因;继续努力,我将我运行的log文件中从第一步开始,逐个拷贝例子log文件中的基组定义,当拷贝到第4个文件后,运行脚本时,能量数值有变化,如下
File                                     NImag           eE               H0             H298
HI_G4MP2XK-add1-4.LOG                      0        71.85736174      71.86263743      71.86594223
拷贝完全时,运行脚本,能量数值正常,如下
File                                     NImag           eE               H0             H298
HI_G4MP2XK-add1-5.LOG                      0      -297.81711347    -297.81183778    -297.80853299

然后我又用记事本打开脚本仔细看了下,发现有以下代码影响第4-5步
### Determine external type of basis sets ###
                elsif ((/AtFile/) && (/maTZVP/)) {
                        $hfbs = 3;
                }
                elsif ((/AtFile/) && (/maQZVP/)) {
                        $hfbs = 4;
                }
这是由于gauss的输出log文件,第4步和第5步,均为Geom=AllCheck Guess=Read HF/GenECP,无法区分,linux下输了基组文件可以通过atFile和maTZVP的关键字来识别第4 段,atFile和maQZVP来识别第5段。这样就清楚了,我们只需要在log文件第4步开始拷入字符 atFile maTZVP,第五步开始拷入字符 atFile maQZVP,结果应该就OK了。试了下ctrl+end定位到文件末端,向上搜索Normal termination,在第2个拷入atFile maQZVP,第3个拷入atFile maTZVP。如下

结果很理想。就不啰嗦了。最后附上我的gjf,log文件以及修改后的log文件以便新手学习使用
这可能不是最好的办法,可是我翻了G16说明书,查遍了基组的关键词也没有找到能输出自定义基础的方法。可能是水平不够,如果有更好的办法,一起交流,谢谢


202301020929556060..png (48.67 KB, 下载次数 Times of downloads: 2)

202301020929556060..png

G4MP2XK.gjf

1.16 KB, 下载次数 Times of downloads: 2

我的输入gjf文件

G4MP2XK.LOG

249 KB, 下载次数 Times of downloads: 1

G16运行结果log文件,脚本输出不对

G4MP2XK-addword.LOG

249.03 KB, 下载次数 Times of downloads: 1

原log文件修改后,脚本执行正常

ct9b00449_si_002.zip

127.73 KB, 下载次数 Times of downloads: 0

文献中下载的脚本文件

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-23 17:24 , Processed in 0.179439 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list