计算化学公社

标题: (更新5.0版)Gaussian优化过渡态的监控/诊断小脚本-tsmonitor [打印本页]

作者
Author:
ggdh    时间: 2019-7-30 11:02
标题: (更新5.0版)Gaussian优化过渡态的监控/诊断小脚本-tsmonitor
本帖最后由 ggdh 于 2021-8-1 17:00 编辑

和本脚本功能类似,但用于orca结果监控的程序见ORCA几何优化的监控/诊断小脚本-orcamonitor

6.0版新特性(先立flag)
目前弄大文件的时候有点慢,6.0版应该会重构部分代码,加速(然后别人问我重构什么代码,我说重构shell代码。。。。
其他新特性暂时想不到,等待沙雕网友们补充

5.0版新特性
1. 测量每一步的距离,角度,二面角
用法如下
  1. tsmonitor5 -m "d1-2 a1-2-3 t1-2-3-4" tsopt.log
复制代码
其中d是distance,a是angle,t是torsion,可以一次测多个指标,中间用空格隔开,用引号引起来即可。对opt,柔性扫描,irc任务都适用
可能的使用场景:
a)找过渡态时,通过观察成键/断键的原子的距离,可以更加确定过渡态的健康程度
b)柔性扫描时,可以观察其他的一些结构参数伴随扫描坐标的改变,也可以直接测量扫描的坐标,然后和能量/玻尔兹曼分布那些一起拷贝出来方便作图

2. 从中途提取一个或者多个结构并保存为gjf文件
可能的使用场景:
a)找过渡态小连招
在进行经典的柔性扫描--找过渡态小连招过程中,我们需要取柔性扫描最高点附近的点作为过渡态的初始猜,这里假设我们先通过tsmonitor发现第9步是最高点,然后再运行:
  1. tsmonitor5 -e "s8-10"  -K  "opt(ts,noeigentest,calcall) m062x def2svp em(gd3)" -N 20 -M 20GB  relaxscan.log  
复制代码
这里-e "s8-10"是提取柔性扫描中8,9,10这三步的坐标,并在当前目录下产生优化过渡态的输入文件。
输出文件名是relaxscan_s8.gjf relaxscan_s9.gjf relaxscan_s10.gjf (因为输入文件名是relaxscan.log)
-K -N 和 -M分别设置guassian输入文件的关键词,核数和内存。
如果你计算资源充足,可能同时对这3个任务进行计算,这样成功找到过渡态的概率更大。
b)中途介入,挽救过渡态
有时候过渡态前4步还正常,第5步突然跟丢了,那这时候我们可以把第四步捞出来,减小其步长,增加calcall关键词,看能不能挽救:
  1. tsmonitor5 -e "o4"  -K  "opt(ts,noeigentest,calcall,maxstep=2,notrust) m062x def2svp em(gd3)"  tsopt.log  
复制代码
注意这里o4是指优化任务(opt)的第四步。
优化基态或者激发态也可以类似的操作,有时候优化任务时候会出现震荡,那我可以在最后的振荡结构中提出能量最低的那个结构,然后减少步长继续算,或者直接进行主观收敛。
c)结合Multiwfn制作炫酷动画
有时候我们需要把IRC或者是扫描的中间结构拿出来,算单点获得波函数,进而制作炫酷动画,参考:
通过键级曲线和ELF/LOL/RDG等值面动画研究化学反应过程
产生Gaussian的IRC和SCAN任务每个点的波函数文件的工具
用我这个工具也可以完成和sob那个工具类似的功能,操作如下:
  1. tsmonitor5 -e "r1-10 f1-10"  -K  "m062x def2svp"  irc.log  
复制代码
这里r1-10和f1-10对应irc的正反向各10步(注意这里面没用包含过渡态本身的结构),另外柔性扫描也能搞动画,比如:
  1. tsmonitor5 -e "s1-16"  -K  "td cam-b3lyp def2svp density scrf(pcm)"  tictscan.log  
复制代码
做一个TICT激发态势能面扫描,然后做激发态电子密度/空穴电子分布随角度的变化动画。
d)普通续算
有时候我们简单的需要最后一个结构进行后续计算,比如优化完了算个性质什么的:
  1. tsmonitor5 -e e opt.log  
复制代码
-e e 就是用最后一个结构取产生gjf文件。

3. 修复bug若干
4. 输出排版进一步优化

4.0版新特性(脚本介绍在后面,第一次接触的同学建议先看后面的脚本介绍):
根据各位热心网友(尤其是冰释之川)的建议增加了下面一些特性:
1.IRC的输出信息更丰富了,增加scf cycle,相对上步能差(dE(kCal)),MAX force, RMS force,,
2.普通优化的任务,增加相对上一步能量差,方便快速判断能量收敛情况
3.柔性扫描任务,增加每个点的boltzmann分布(用-t选项设温度),方便看不同构象之间的比例
4.输出宽度超出窗口宽度时,不会自动换行,影响观看。

3.0版新特性(脚本介绍在后面,第一次接触的同学建议先看后面的脚本介绍):
根据各位热心网友的建议增加了下面一些特性:
1.对于有多个Link的Gaussian任务,会分别分析每个link
2.对于激发态优化,显示跃迁波长
3.对于IRC任务,优化了输出结果如下,其中F代表Forward,R代表Rerverse:
(, 下载次数 Times of downloads: 106)
4.显示了每一步的SCF圈数
5.对于普通的优化任务,也显示了本征值(如果都是0,那说明这步没有本征值)
6.改进排版


2.0版新特性(脚本介绍在后面,第一次接触的同学建议先看后面的脚本介绍):

根据各位热心网友的建议增加了下面一些特性:
1.显示收敛情况,也就是Gaussian的4个收敛指标,如下图所示
(, 下载次数 Times of downloads: 111)
这4列分别式Max Force,RMS Force,Max Displacement, RMS Displacement中的当前指标和收敛限的比值。
如果小于1,说明对应项达到了收敛指标,越大就离收敛指标越远。
用途:通过观察这一项,可以判断某些震荡体系离收敛还有多远的距离。

2. 支持读取柔性扫描的log文件,如下图所示
(, 下载次数 Times of downloads: 120)
用途:1,找过渡态之前往往会用柔性扫描找初始猜。心急的同学往往等不到扫描结束,只要出现最高点就可以中止任务,然后拿最高点,或者最高点的前一个点来做初猜。
2,通过最高点的能量,可以估计一下这个过渡态是否合理。


3.增加-c选项,比如
  1. tsmonitor -a "11 12 45"  -c a TS45a1.log
复制代码
可以输出所有的出现过的内坐标对应的原子序号。
用途:方便大家查看优化中间出现过哪些虚频

4.增加step列,方便查看当前优化了几步,或者是从中间取结构做续算
用途:1,某些震荡体系中间会出现能量最小值,取这个结构往往比取最后一帧有利。
2,TS优化过程中某一步很健康,其后健康状况恶化,可以取这一步加calcfc续算。

5.支持读取关键词以#p开头的激发态优化中基态和激发态的能量

6.增强排版,避免Eigenvector不对齐的情况出现,Eigenvalue 现在显示的值乘以了100,避免一行太长以及方便肉眼阅读。

欢迎大家找bug,提出建议!



下面开始脚本介绍:

前言:
在使用Gaussian优化激发态时,我们通常使用opt(ts,calcfc,noeigentest)关键词来寻找过渡态,参考:
简谈Gaussian里找过渡态的关键词opt=TS和QST2、3
如何判断是否得到了想要的过渡态,这里引用sob上面这个帖子里面的原话:
“怎么验证过渡态找没找对?如果优化出来的过渡态结构在期望的反应物和产物之间,同时有且只有一个虚频,一般能有6成把握认为过渡态找对了。如果通过gview查看,发现仅有的那个虚频的振动方向对应反应坐标方向,那8成可以认为过渡态找对了;如果走IRC还能连通自己期望的反应物和产物结构,那么说明100%找对了。”
在一些情况下,由于初猜不够合理,导致开始优化就没有走到正确的轨迹上,或者是优化到一半跑偏了(优化过渡态就像是玩某个即时跟踪类游戏,一旦跟丢目标,往往很难找回来),或者出现震荡,如果我们不闻不问,只等最后的结果,无疑会造成cpu机时和国家电力资源的巨大浪费。
其实这时候我们可以通过观察log文件中振动对应的Eigenvalues 和 Eigenvectors来进行早期诊断,如果发现情况不妙,可以及时修改结构初猜,中止没有前途的计算,避免浪费。
基于这个原理,这里编了一个bash脚本,用于诊断和监控Gaussian过渡态优化的情况。下面举例介绍一下用法。

脚本用法:

1. 确定关键原子AOI(Atom of Interest)的编号
(, 下载次数 Times of downloads: 129)
这里优化的是一个还原消除反应的过渡态,这个反应中11-45和12-45键断裂,而11-12键生成,因此这步反应中的关键原子(AOI)被定为11 12 45

2. 运行脚本进行诊断
根据上面AOI的编号,输入命令,这里TS45a1.log是本例反应的log文件。
  1. tsmonitor -a "11 12 45"  TS45a1.log
复制代码
可以得到如下结果:
(, 下载次数 Times of downloads: 128)
下面就这个结果中每一部分对应的意思做下简介(能够直接看懂结果的可以略过此部分):
第一行:这个脚本首先会检测Gaussian运算是否正常结束,第一行如果是Normal termination...就是正常结束,如果是Error termination...就是错误结束,如果没有第一行,那么可能是异常中止或者正在运行。
A部分:A部分列出了相对第一步的能量(单位kCal/mol),主要用于判断收敛情况以及是否有震荡。
B部分:B部分列出了前4个最小的振动本征值,一个健康的过渡态优化过程中应该始终保持一个负的绝对值较大(小于-0.01)的本征值,最后的频率大概是这个值乘以10000,最后收敛时应只剩一个负值。
C部分:C部分列出了过渡态虚频对应的内坐标,以及这些坐标中是否含有AOI,比如D22-12,45的意思是虚频对应的第22号二面角中包含了AOI中的12 45号原子。一个健康的的过渡态优化过程中,AOI应该尽可能多的参与到虚频对应的内坐标中,在本例中,我们定义的11 12 45号原子,始终参与到了虚频对应的内坐标中。
D部分:列出最后一步虚频内坐标对应的原子编号。有时候AOI不出现在内坐标当中,我们又想知道这些内坐标到底对应哪些原子,可以分别复制这些原子编号到gview中的atom selection部分观察。

优化失败的例子:
下面再举一个优化失败的例子,和上面成功的例子是同一个过渡态,但是初猜不同,我们使用相同的命令进行分析
(, 下载次数 Times of downloads: 135)
可以看到在三步的时候,虚频突然变得很小,而且AOI从内坐标中消失。这说明这个过渡态优化已经“病入膏肓”,或者可以理解为gaussian“跟丢了”过渡态,可以“放弃治疗”了。果然,后续的优化都无法回到正轨上了。

后记:

脚本的安装方法:
1,不支持bash3 版本,使用前请运行bash --version 确定你的bash是4.x版本
2,拷贝到PATH中的某个路径下(不知道怎么操作的同学,首先确定你的当前目录下有tsmonitor这个文件,然后的复制下面代码到terminal即可)
  1. mkdir ~/scripts
  2. cp tsmonitor ~/scripts/tsmonitor
  3. chmod +x ~/scripts/tsmonitor
  4. echo 'export PATH=~/scripts:$PATH' >> ~/.bashrc
  5. source ~/.bashrc
复制代码

3,chmod +x tsmonitor 改可执行权限(复制了上面代码的同学略过此步)


最后所有苦哈哈找过渡态的同学们共勉,我们太难了。。。大家有啥意见和建议,欢迎留言









作者
Author:
chemzhh    时间: 2019-7-30 11:51
谢谢分享,正在找过渡态中,使用后再来汇报
作者
Author:
granvia    时间: 2019-7-30 12:01
支持! 这个程序固然是好,但可能也失去了“意外惊喜发现”的机会 :D
作者
Author:
杨开心    时间: 2019-7-30 15:19
谢谢分享
作者
Author:
sobereva    时间: 2019-7-30 18:43
试了下,很好用。已经把这个程序结合我的实际例子加入到科音基础量化班ppt里进行推广
作者
Author:
Shine剪水    时间: 2019-7-30 20:28
谢谢钟老师!不仅是方便了监控,还进一步加深了对优化过程细节的认识!
作者
Author:
409407227    时间: 2019-7-31 07:47
谢谢分享
作者
Author:
浪里白条    时间: 2019-8-1 11:07
有个小问题想请教一下钟老师,程序里面eigenV=$(grep -A 1 ITU $1 | grep Eigenvalues | awk '{print $3" "$4" "$5" "$6"\n"}'),可我的log文件中没有“ ITU”关键词,因此运行脚本 没有得到Eigenvalues , 请问只有我一个人是这样的吗?
作者
Author:
ggdh    时间: 2019-8-1 11:27
请问你计算用的关键词是什么啊?
作者
Author:
浪里白条    时间: 2019-8-2 14:36
本帖最后由 浪里白条 于 2019-8-2 14:43 编辑

我的关键词是:#p b3lyp/genecp  fopt=(ts,noeigen,calcfc) optcyc=300 freq
作者
Author:
mutron    时间: 2019-8-4 17:25
本帖最后由 mutron 于 2019-8-4 20:24 编辑

不知道可否把D部分修改为:所有值小于-0.01对应的内坐标原子编号,以及,如果一行里面只剩下一个负值,输出其内坐标对应原子编号。

因为原D部分输出除了虚频内坐标,其它好像没太多作用。如果碰到跟丢过渡态的情况,我们比较感兴趣的是到底跟错了哪个虚频,以及最初最大那几个负值Eigenvalue有没有包含感兴趣的方向

当然内坐标对应原子编号可以在log文件里面找,但是把感兴趣的虚频内坐标一起输出来看会方便很多,不用来回切换找
作者
Author:
zsu007    时间: 2019-8-4 17:53
谢谢分享!
作者
Author:
mutron    时间: 2019-8-4 19:59
本帖最后由 mutron 于 2019-8-4 20:14 编辑

写错编辑掉
可以考虑左边加上优化的步数序号,有时候看到哪一步开始走偏了定位会比较快,优化步数多了不用一行行数下去

作者
Author:
ggdh    时间: 2019-8-5 22:11
浪里白条 发表于 2019-8-2 14:36
我的关键词是:#p b3lyp/genecp  fopt=(ts,noeigen,calcfc) optcyc=300 freq

我试了你的关键词 其中optcyc=300不认,说我语法错误。是不是你的Gaussian版本太老?
我建议你使用g09的版本。
把这个关键词删掉以后可以正常运行脚本。
作者
Author:
ggdh    时间: 2019-8-5 22:17
mutron 发表于 2019-8-4 17:25
不知道可否把D部分修改为:所有值小于-0.01对应的内坐标原子编号,以及,如果一行里面只剩下一个负值,输出 ...

需要知道的是,所有列出的Eigenvector 都对应第一个,也是绝对值最大的那个虚频。
而且gaussian 的log里面也不会列出其他虚频对应的本征矢量。
在2.0版本中,加了-c 选项。 运行命令的时候输入 -c a 可以打印出所有出现过的内坐标及其对应的原子列表。
作者
Author:
wfmf1994    时间: 2019-8-7 15:16
超有用的小程序,谢谢分享!
作者
Author:
浪里白条    时间: 2019-8-9 10:37
ggdh 发表于 2019-8-5 22:11
我试了你的关键词 其中optcyc=300不认,说我语法错误。是不是你的Gaussian版本太老?
我建议你使用g09的 ...

应该是这样的,谢谢钟老师!
作者
Author:
elvisng    时间: 2019-11-1 01:25
實在太好用了! 希望作者以後能夠分享更多類似的小腳本, 感謝分享
作者
Author:
星斗如盘    时间: 2020-5-25 08:24
ggdh 发表于 2019-8-5 22:17
需要知道的是,所有列出的Eigenvector 都对应第一个,也是绝对值最大的那个虚频。
而且gaussian 的log里 ...

我看您留的邮箱是武汉大学,我也是武汉大学的,似乎武汉大学超算中心提交的任务只能单个运行,那么在运算的时候,不就没办法检测了吗?这样就只能等计算完了再分析了?
作者
Author:
ggdh    时间: 2020-5-30 18:03
星斗如盘 发表于 2020-5-25 08:24
我看您留的邮箱是武汉大学,我也是武汉大学的,似乎武汉大学超算中心提交的任务只能单个运行,那么 ...

任务提交了后,在命令行就能够检测运行情况了啊,和提交的任务是否单个运行没有关系。。
作者
Author:
星斗如盘    时间: 2020-5-31 09:45
ggdh 发表于 2020-5-30 18:03
任务提交了后,在命令行就能够检测运行情况了啊,和提交的任务是否单个运行没有关系。。

我尝试了一下,武大超算中心直接提交任务无法运行,命令前加上bash就可以了

bash tsmonitor -a - xxx.log

非常实用的小程序,特别是能量转化为kcal单位,特别贴心。
作者
Author:
typ_gauss    时间: 2020-7-22 10:54
您好,反馈一个bug,如果我把几何优化,过渡态和频率写在一个输入文件中,输出文件读取出来,脚本会当成柔性扫描来处理
作者
Author:
typ_gauss    时间: 2020-7-22 10:56
如果我把输出文件中“Optimization completed.
    -- Stationary point found.”这样的词去掉,能够生成我想要的数据,但是数据的排列不对
作者
Author:
ggdh    时间: 2020-7-22 12:48
typ_gauss 发表于 2020-7-22 10:54
您好,反馈一个bug,如果我把几何优化,过渡态和频率写在一个输入文件中,输出文件读取出来,脚本会当成柔 ...

这种opt + freq 的任务,如果已经结束了 你希望获得什么样的数据呢?
作者
Author:
typ_gauss    时间: 2020-7-22 14:48
ggdh 发表于 2020-7-22 12:48
这种opt + freq 的任务,如果已经结束了 你希望获得什么样的数据呢?

您好,如果全部做完,确实是不需要了,但是如果卡在ts的任务中,比如说第一个任务是把反应的核心位置冻结寻找极小值,找到了之后,再做过渡态的搜索,最后再做freq,极小值点成功找到之后,过渡态一直找不到,这时用脚本读取输出文件时,就会出现数据排列乱的情况。不过也不是特别要紧,稍微花点时间还是对得上
作者
Author:
typ_gauss    时间: 2020-7-22 15:25
ggdh 发表于 2020-7-22 12:48
这种opt + freq 的任务,如果已经结束了 你希望获得什么样的数据呢?

还有就是在找极小值时,有一些情况本征值没能读出来,还有些情况好像输出文件里也没有,这样导致后面过渡态的本征值的顺序是错位的。比如下面图片的两种情况。
作者
Author:
ggdh    时间: 2020-7-22 16:18
typ_gauss 发表于 2020-7-22 15:25
还有就是在找极小值时,有一些情况本征值没能读出来,还有些情况好像输出文件里也没有,这样导致后面过渡 ...

能否把你的log文件传我看看。。可以加我qq:32589927
作者
Author:
ggdh    时间: 2020-7-23 22:12
typ_gauss 发表于 2020-7-22 15:25
还有就是在找极小值时,有一些情况本征值没能读出来,还有些情况好像输出文件里也没有,这样导致后面过渡 ...

版本更新了,现在支持你的任务了。
作者
Author:
typ_gauss    时间: 2020-7-24 20:01
ggdh 发表于 2020-7-23 22:12
版本更新了,现在支持你的任务了。

感谢
作者
Author:
babyblue09    时间: 2020-8-19 22:35
能否检测AOI原子之间键长、角度等的变化
作者
Author:
wzkchem5    时间: 2020-8-19 23:03
赞!说到过渡态计算的“健康程度”,其实也许可以训练一个神经网络,根据虚频的大小、数目,AOI包含情况以及当前步骤的收敛指标值,预测当前过渡态计算成功收敛的概率,甚至预测大概还需要多少步才能收敛
作者
Author:
409407227    时间: 2020-8-23 15:52
感谢分享
作者
Author:
冰释之川    时间: 2021-1-9 15:47
钟叔,都快过年了,还没更新4.0版吗 (日常催更
作者
Author:
ggdh    时间: 2021-1-10 23:02
冰释之川 发表于 2021-1-9 15:47
钟叔,都快过年了,还没更新4.0版吗 (日常催更)

好了,做了几个微小的调整,然后无耻的把版本号变成4.0了。。
作者
Author:
lonemen    时间: 2021-1-18 21:01
钟老师厉害!
作者
Author:
星斗如盘    时间: 2021-4-27 16:56
可以导出txt结果作图吗?

作者
Author:
ggdh    时间: 2021-4-29 21:28
星斗如盘 发表于 2021-4-27 16:56
可以导出txt结果作图吗?

tsmonitor xxx.log > xxx.txt
作者
Author:
yaoYC    时间: 2021-6-21 15:26
请教一下老师,是如何查看IRC任务?我试了下并没有显示吗,做的是单向的forward
作者
Author:
wzkchem5    时间: 2021-6-21 17:47
yaoYC 发表于 2021-6-21 08:26
请教一下老师,是如何查看IRC任务?我试了下并没有显示吗,做的是单向的forward

是不是第一步都没有算完?
作者
Author:
yaoYC    时间: 2021-6-22 09:08
wzkchem5 发表于 2021-6-21 17:47
是不是第一步都没有算完?

并不是,已经有SCF Done了
作者
Author:
ggdh    时间: 2021-8-1 14:48
5.0发布啦,这次加了两个硬核功能,对找过渡态都有用(不忘初心
代码越写越大(其实也才500行。。。。),这次终于开始加入函数方便管理。
部分代码用awk重构了,awk还是强大灵活,shell的终极解决方案。

作者
Author:
冰释之川    时间: 2021-8-1 18:39
ggdh 发表于 2021-8-1 14:48
5.0发布啦,这次加了两个硬核功能,对找过渡态都有用(不忘初心)
代码越写越大(其实也才500行。。 ...

功能越来越强大了,不过好像同样大小的输出文件用5.0版比4.0老版分析慢了不少
作者
Author:
ggdh    时间: 2021-8-2 15:46
冰释之川 发表于 2021-8-1 18:39
功能越来越强大了,不过好像同样大小的输出文件用5.0版比4.0老版分析慢了不少

分析IRC的速度好像没变?你看看是不是这样,因为IRC那部分是纯awk写的。
作者
Author:
冰释之川    时间: 2021-8-2 16:33
ggdh 发表于 2021-8-2 15:46
分析IRC的速度好像没变?你看看是不是这样,因为IRC那部分是纯awk写的。

我用跑TS的输出文件测试了一下,速度似乎慢了一些;IRC还行。、
作者
Author:
elvisng    时间: 2021-11-24 13:53
尝试了一下用 IRC 生成 gjf 的功能, 但不太成功。请问一下可能是什么问题? 输入和输出如下:

$ tsm -e "r1-20 f1-20"  -K  "m062x 6-311g**"  IRC.log

1 step job detected. Unit for energy is kCal/mol
IRC job detected
TSM_GEOM/TSM_GEOM_r1 dose not exist.
TSM_GEOM/TSM_GEOM_r2 dose not exist.
TSM_GEOM/TSM_GEOM_r3 dose not exist.
TSM_GEOM/TSM_GEOM_r4 dose not exist.
TSM_GEOM/TSM_GEOM_r5 dose not exist.
TSM_GEOM/TSM_GEOM_r6 dose not exist.
TSM_GEOM/TSM_GEOM_r7 dose not exist.
TSM_GEOM/TSM_GEOM_r8 dose not exist.
TSM_GEOM/TSM_GEOM_r9 dose not exist.
TSM_GEOM/TSM_GEOM_r10 dose not exist.
TSM_GEOM/TSM_GEOM_r11 dose not exist.
TSM_GEOM/TSM_GEOM_r12 dose not exist.
TSM_GEOM/TSM_GEOM_r13 dose not exist.
TSM_GEOM/TSM_GEOM_r14 dose not exist.
TSM_GEOM/TSM_GEOM_r15 dose not exist.
TSM_GEOM/TSM_GEOM_r16 dose not exist.
TSM_GEOM/TSM_GEOM_r17 dose not exist.
TSM_GEOM/TSM_GEOM_r18 dose not exist.
TSM_GEOM/TSM_GEOM_r19 dose not exist.
TSM_GEOM/TSM_GEOM_r20 dose not exist.
TSM_GEOM/TSM_GEOM_f1 dose not exist.
TSM_GEOM/TSM_GEOM_f2 dose not exist.
TSM_GEOM/TSM_GEOM_f3 dose not exist.
TSM_GEOM/TSM_GEOM_f4 dose not exist.
TSM_GEOM/TSM_GEOM_f5 dose not exist.
TSM_GEOM/TSM_GEOM_f6 dose not exist.
TSM_GEOM/TSM_GEOM_f7 dose not exist.
TSM_GEOM/TSM_GEOM_f8 dose not exist.
TSM_GEOM/TSM_GEOM_f9 dose not exist.
TSM_GEOM/TSM_GEOM_f10 dose not exist.
TSM_GEOM/TSM_GEOM_f11 dose not exist.
TSM_GEOM/TSM_GEOM_f12 dose not exist.
TSM_GEOM/TSM_GEOM_f13 dose not exist.
TSM_GEOM/TSM_GEOM_f14 dose not exist.
TSM_GEOM/TSM_GEOM_f15 dose not exist.
TSM_GEOM/TSM_GEOM_f16 dose not exist.
TSM_GEOM/TSM_GEOM_f17 dose not exist.
TSM_GEOM/TSM_GEOM_f18 dose not exist.
TSM_GEOM/TSM_GEOM_f19 dose not exist.
TSM_GEOM/TSM_GEOM_f20 dose not exist.
sn  scf  RE  dE  MaxF*10  RMSF*10
Normal termination of Gaussian 16 at Fri Nov 12 14:05:56 2021.

作者
Author:
ggdh    时间: 2021-11-24 16:51
本帖最后由 ggdh 于 2021-11-24 17:00 编辑
elvisng 发表于 2021-11-24 13:53
尝试了一下用 IRC 生成 gjf 的功能, 但不太成功。请问一下可能是什么问题? 输入和输出如下:

$ tsm -e "r ...
IRC.log 可能有问题导致无法正确识别其中内容。
方便的话 加QQ:32589927 把IRC.log 传给我诊断一下bug?
作者
Author:
ymc1582    时间: 2022-1-11 14:49
请问:优化过渡态过程中,可不可以从中途提取一个结构并保存为gjf文件继续进行续算?(晚上电脑会关机,担心完不成计算任务)
作者
Author:
wzkchem5    时间: 2022-1-11 16:00
ymc1582 发表于 2022-1-11 07:49
请问:优化过渡态过程中,可不可以从中途提取一个结构并保存为gjf文件继续进行续算?(晚上电脑会关机,担 ...

可以
作者
Author:
neocc    时间: 2022-5-15 23:26
本帖最后由 neocc 于 2022-5-16 00:05 编辑

楼主能加入终端绘图功能嚒
我通过gnuplot搞定了无GUI绘图,超算上应该有需求,不知道matplotlib有没有这种能力,要是能搞出smile结构用于TS和scan就更666了


将以下脚本命名为OPT-E-monitor-noGUI.sh
运行时候必须要带上俩参数
如 ./OPT-g16-E-monitor.sh OPT-gaussian.out 10  
表示每10s输出一次优化次数-能量曲线

  1. #!/bin/bash

  2. # $1 = out file
  3. # $2 = delay in seconds

  4. grep 'SCF Done' $1 | awk '{print $5}' |cat -n > $1-data.txt

  5. while :
  6. do
  7. grep 'SCF Done' $1 | awk '{print $5}' |cat -n |tail -1 >> $1-data.txt

  8. gnuplot -p <<EOF
  9. reset session
  10. set term dumb 120,30
  11. set tics nomirror scale 0.5
  12. set grid
  13. set xlabel "steps"
  14. set ylabel "Energy Variation (a.u.)"
  15. unset key
  16. plot '$1-data.txt' u 1:2  w l t "Step-E_{a.u.}"
  17. EOF

  18. sleep $2

  19. done

  20. # chmod +x
复制代码



效果大概是这样的

    -2109.4 +-------------------------------------------------------------------------------------------------------+
                |                :                 :                :                :                 :                |
                |                :                 :                :                :                 :                |
    -2109.6 |+...............:.................:................:................:.................:................|
                |                :                 :                :                :                 :                |
                |*               :                 :                :                :                 :                |
    -2109.8 |*...............:.................:................:................:.................:................|
                | *              :                 :                :                :                 :                |
                | **             :                 :                :                :                 :                |
      -2110  |+.*.............:.................:................:................:.................:................|
                |   **           :                 :                :                :                 :                |
                |    **          :                 :                :                :                 :                |
                |     **         :                 :                :                :                 :                |
    -2110.2 |+.....**........:.................:................:................:.................:................|
                |       **       :                 :                :                :                 :                |
                |        ***     :                 :                :                :                 :                |
    -2110.4 |+.........**....:.................:................:................:.................:................|
                |            *** :                 :                :                :                 :                |
                |              ****                :                :                :                 :                |
    -2110.6 |+...............:******...........:................:................:.................:................|
                |                :     *********   :                :                :                 :                |
                |                :             ****************     :                :                 :                |
    -2110.8 |+...............:.................:...........**************************************************.......|
                |                :                 :                :                :                 :        ****    |
                |                :                 :                :                :                 :                |
      -2111   +-------------------------------------------------------------------------------------------------------+
            0                50               100              150              200               250              300

作者
Author:
月时计    时间: 2024-7-24 18:03
代码小白,只是好奇一个问题。如下:柔性扫描→提取最高点生成TS输入文件→过渡态结构优化→优化成功→IRC验证,这个流程通过脚本实现过渡态搜索自动化是否有可能?
作者
Author:
ggdh    时间: 2024-9-15 09:20
月时计 发表于 2024-7-24 18:03
代码小白,只是好奇一个问题。如下:柔性扫描→提取最高点生成TS输入文件→过渡态结构优化→优化成功→IRC ...

可以的,更好的方案是 :
提取最高点附近的3-4个结构
同时开展过渡态优化,并且用tsmonitor 监控。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3