计算化学公社
标题:
吐槽CFour的频率计算输出格式
[打印本页]
作者Author:
beefly
时间:
2019-6-26 21:43
标题:
吐槽CFour的频率计算输出格式
本帖最后由 beefly 于 2019-6-26 21:47 编辑
因为给频率分析程序写接口的缘故,需要读CFour的频率计算输出,然后就发现CFour的输出格式太随意了。以至于每遇到一种情况,频率部分的输出格式就变了,程序就要改,一年之中不知道重写了多少次,才算基本稳定。比较大的问题主要有:
数值频率和解析频率的输出格式完全不一样。估计代码是两个不同的作者写的,但是有必要把打印的subroutine也各自写一个吗?数值频率的输出subroutine似乎是个半成品,例如,
不能打印Hessian、偶极矩导数等重要信息(反倒是做数值差分的步骤打印了一堆无用信息)
在简正模式部分,第一列只有3个有效数字,其余列是4个有效数字。为什么要定义这么奇葩格式?
线形分子应当有3N-5个振动模式,但是在多原子分子(Natom>2)情况下,简正模式输出部分只打印3N-6个振动模式,频率最高的那个模式丢了。作者似乎是把双原子和多原子分子的简正模式输出代码分开写的,后者未考虑线形分子的情况
解析频率的情况下,有对称性和没有对称性,输出格式也不一样。似乎又是两个作者写的代码。
解析频率,并且有对称性的情况下,如果对称性比较高,存在多个对称等价原子,那么简正模式输出部分的原子序号可能与输入坐标不一致。这种情况下,要打开解析频率计算产生的一个名叫GRD的临时数据文件,文件最开头是原子重新排序后的直角坐标,这才是简正模式使用的原子序号。
以上问题大部分源于CFour的前身ACES2。不过到了ACES3后,一些问题已经解决了(比如第一个问题),而在CFour里却没人动。
作者Author:
Warm_Cloud
时间:
2019-6-26 23:37
给人打工都是这样,结果对了就行,只有自己给自己写才肯精致的做。
作者Author:
granvia
时间:
2019-6-27 00:07
小众软件就不要苛求了吧
作者Author:
Daniel_Arndt
时间:
2019-6-27 04:25
这种问题并不一定是小众软件独有的。我记得高斯的客服曾经跟我说过,如果想自己写代码处理的话,相比高斯的输出文件,最好优先考虑fchk文件。
我一开始没注意听这句话。后来发现,做一些计算的时候,50个原子以内和超过50个原子的情况下,输出文件是不一样的。。。。。。还折腾了一天才发现了问题所在。如果我不是想当然地认为高斯的输出文件不会因为原子数目变化而变化的话,我不至于浪费那么多时间。
作者Author:
sobereva
时间:
2019-6-27 05:40
说来,NBO的输出NAOMO、DMNAO等矩阵信息的地方也很恶心。带弥散函数之后,由于自动去除线性依赖基函数,情况很复杂,往往不同体系的输出形式不一样,而且不同NBO版本的情况还有所不同,可烦人了,始终没弄出套代码对于所有版本所有情况都能保证完美读入
作者Author:
SigFig
时间:
2019-6-27 09:30
Multiwfn的CP序号顺序问题[滑稽]
做过一个反应,三个过渡态,每个IRC15帧,每帧3个关键位置的CP,每个CP需要rho和laplacian rho,每帧算单点做下来CP的数量和序号都不一样(整个体系100+个CP),然后数据处理瞬间爆炸。
作者Author:
sobereva
时间:
2019-7-1 11:26
SigFig 发表于 2019-6-27 09:30
Multiwfn的CP序号顺序问题[滑稽]
做过一个反应,三个过渡态,每个IRC15帧,每帧3个关键位置的CP,每个CP需 ...
这是原理上无法避免的,不是bug
只有对于相同结构,每次搜索的临界点的序号才肯定是一样的
对考察结构连续变化的情况,如果想保证感兴趣的区域的CP的序号相同,应当修改临界点搜索选项,只在特定片段间搜索临界点
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3