计算化学公社

标题: 关于ESD的UV吸收计算请教 [打印本页]

作者
Author:
yzh    时间: 2025-6-15 13:38
标题: 关于ESD的UV吸收计算请教
本帖最后由 yzh 于 2025-6-15 13:41 编辑

各位论坛老师:
       我在参照orca6.0.1的苯计算振动分辨的UV吸收光谱,参考了例子的设置方式
inp的设置方式如下
! B3LYP/G def2-SVP def2/J ESD(ABS) tightSCF CPCM(TOLUENE)  
%maxcore  2000  
%pal nprocs  48 end
%tddft
nroots 5
iroot 1
end
%esd  
GSHESSIAN     "E001_GS.hess"  
DOHT          TRUE  
HESSFLAG    AHAS  
end
* xyzfile   0   1  E001_GS.xyz

但是计算的结果UV图只是一条曲线(没有任何的振动分辨),输出文件spectrum及其作图如附件所示。

请教一下老师,我想计算190-800nm波长的振动分辨UV吸收光谱。
修正后的inp如下,是否正确?谢谢

! B3LYP/G def2-SVP def2/J ESD(ABS) tightSCF CPCM(TOLUENE)  
%maxcore  2000  
%pal nprocs  48 end
%tddft
nroots 30
end
%esd  
GSHESSIAN     "E001_GS.hess"  
DOHT          TRUE  
HESSFLAG    AHAS  
end
* xyzfile   0   1  E001_GS.xyz


作者
Author:
cokie    时间: 2025-6-15 15:56
本帖最后由 cokie 于 2025-6-15 15:58 编辑

参见手册中这段表述

另外ORCA中做ESD计算,个人经验是,在内存首先得情况下,优先推荐少核但每个核多分配一些内存数。

作者
Author:
wal    时间: 2025-6-15 16:16
按照我的理解振动分辨光谱应该做的是两个态之间的振动跃迁吧 那怎么做190-800nm的呢?
比如算S0-S1之间的,那S2,S3等等直到你写的S30这些并没有考虑振动电子耦合效应吧
作者
Author:
yzh    时间: 2025-6-15 16:19
wal 发表于 2025-6-15 16:16
按照我的理解振动分辨光谱应该做的是两个态之间的振动跃迁吧 那怎么做190-800nm的呢?
比如算S0-S1之间的 ...

我想做多个态的振动分辨光谱,比如S1,S2,S3....S10,这样就能覆盖190-900nm的光谱范围,S0的结构我已经优化好了(E001_GS.hess)
作者
Author:
wal    时间: 2025-6-15 16:22
本帖最后由 wal 于 2025-6-15 16:30 编辑
yzh 发表于 2025-6-15 16:19
我想做多个态的振动分辨光谱,比如S1,S2,S3....S10,这样就能覆盖190-900nm的光谱范围,S0的结构我已经优 ...

那你可能得算10次振动分辨然后全叠一起

并非 见楼下

作者
Author:
yzh    时间: 2025-6-15 16:22
本帖最后由 yzh 于 2025-6-15 16:23 编辑
cokie 发表于 2025-6-15 15:56
参见手册中这段表述

另外ORCA中做ESD计算,个人经验是,在内存首先得情况下,优先推荐少核但每个核多分 ...

手册给的例子就是用的GS的HESS和xyz。不知道,这边吸收用ES,但是发射却用GS?
内存设置这个我试过48cores,用2000M每个核心没有问题

作者
Author:
wal    时间: 2025-6-15 16:29
本帖最后由 wal 于 2025-6-15 16:33 编辑
wal 发表于 2025-6-15 16:22
那你可能得算10次振动分辨然后全叠一起

哦,翻了翻手册,我看到ORCA给出了一次性算一堆态的输入方式
(, 下载次数 Times of downloads: 97)
但我没搞懂为什么只输入一个S1的hess就能算20个,2-20都是AHAS现算的么?那估计耗时就要比较哈人了

作者
Author:
yzh    时间: 2025-6-15 16:41
wal 发表于 2025-6-15 16:29
哦,翻了翻手册,我看到ORCA给出了一次性算一堆态的输入方式

但我没搞懂为什么只输入一个S1的hess就能 ...

谢谢,我也是参考这个算例,如果想算20个态的话。应该是这样的(不知道对不对):
! B3LYP/G def2-SVP def2/J ESD(ABS) tightSCF CPCM(TOLUENE)  
%maxcore  2000  
%pal nprocs  48 end
%tddft
nroots 20
end
%esd  
GSHESSIAN     "E001_GS.hess"  
DOHT          TRUE  
STATES        1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
HESSFLAG    AHAS  
end
* xyzfile   0   1  E001_GS.xyz
作者
Author:
wal    时间: 2025-6-15 16:50
yzh 发表于 2025-6-15 16:41
谢谢,我也是参考这个算例,如果想算20个态的话。应该是这样的(不知道对不对):
! B3LYP/G def2-SVP d ...

我一般直接上AH的,没怎么用过AHAS,因为我算光谱都是激发态分析完了顺带的,所以不知道你画出来光谱没有振动峰是不是AHAS模型的原因
别的设置看着也没什么问题
作者
Author:
yzh    时间: 2025-6-15 16:52
wal 发表于 2025-6-15 16:50
我一般直接上AH的,没怎么用过AHAS,因为我算光谱都是激发态分析完了顺带的,所以不知道你画出来光谱没有 ...

好的,谢谢
那我用AH计算试试
作者
Author:
cokie    时间: 2025-6-15 18:48
本帖最后由 cokie 于 2025-6-15 20:53 编辑
yzh 发表于 2025-6-15 16:22
手册给的例子就是用的GS的HESS和xyz。不知道,这边吸收用ES,但是发射却用GS?
内存设置这个我试过48cor ...

Note: 下述回答有偏颇,请参考后面 wzk5chem 老师对本层的回复

对于AHAS模型,我倾向于手册里只是没有标注S1,但其实使用的是S1的xyz。
毕竟前面在“吹”这个方法的时候,还有这么一段话,如图。



作者
Author:
wal    时间: 2025-6-15 18:59
cokie 发表于 2025-6-15 18:48
手册里只是没有标注S1,但其实使用的是S1的xyz。
包含后面用ESD模块做PHOSP,给的也是没后缀的xyz,你不 ...

这里我也有点疑问,我用Gaussian算的振动分辨时候确实算吸收的时候要用S1的结构,但是ORCA手册里给了一句调用ESD的时候xyz里的结构要匹配基态hess
(, 下载次数 Times of downloads: 110)

作者
Author:
cokie    时间: 2025-6-15 19:36
wal 发表于 2025-6-15 18:59
这里我也有点疑问,我用Gaussian算的振动分辨时候确实算吸收的时候要用S1的结构,但是ORCA手册里给了一句 ...

这个Important应该只针对上述的AH模型吧(我推测的,毕竟是紧跟在AH模型之后写的)
像用ESD模块计算ISC,用的也是末态(T1),所以ESD模块的使用应该没有“必须采用 GS geometry ”这一限制
作者
Author:
yzh    时间: 2025-6-15 19:43
cokie 发表于 2025-6-15 18:48
对于AHAS模型,我倾向于手册里只是没有标注S1,但其实使用的是S1的xyz。
毕竟前面在“吹”这个方法的时 ...

我也觉得奇怪,上面的AH还有VG都是GS.hess和S1.hess都需要的,到了AHAS不需要S1.hess,只需要GS.hess。这样的话用AHAS只需要先算GS的opt+freq就行了,少算一个S1的opt。岂不是更加友好。
作者
Author:
cokie    时间: 2025-6-15 19:57
yzh 发表于 2025-6-15 19:43
我也觉得奇怪,上面的AH还有VG都是GS.hess和S1.hess都需要的,到了AHAS不需要S1.hess,只需要GS.hess。这 ...

我看手册里,他的噱头就是这个,特别是orca至今还没有解析hessian,所以省了很多时间。
但这种近似我个人体验下来,对于“共轭片段可旋转”这一因素的描述比较看脸。

对于振动光谱,我目前用 gaussian 用的多,确实要快很多。
缺点就是报错太多,万不得已就用 gaussian 做 freq,再用公社里的方法,转换成 .hess 然后用 ORCA 算,但不得不说,即使是ORCA 6.0.1 , ESD 模块的计算速度依然是慢(当然也可能是我的分子比较大)。

另外 FCclasses 出的振动光谱也很漂亮,我很喜欢他可视化程序出的图。
作者
Author:
wzkchem5    时间: 2025-6-15 20:25
cokie 发表于 2025-6-15 18:48
对于AHAS模型,我倾向于手册里只是没有标注S1,但其实使用的是S1的xyz。
毕竟前面在“吹”这个方法的时 ...

对于AHAS:
(1)用户输入的结构是基态;
(2)程序用基态的结构、基态的Hessian,和基态结构下激发态的梯度,估计出一个近似的激发态结构;
(3)程序在这个近似的激发态结构下算激发态Hessian,及跃迁偶极矩导数等。
所以“用户输入的结构是基态”和“跃迁偶极矩导数是在激发态结构下算的”都是对的,但后者的激发态结构是近似的
作者
Author:
wzkchem5    时间: 2025-6-15 20:27
wal 发表于 2025-6-15 16:29
哦,翻了翻手册,我看到ORCA给出了一次性算一堆态的输入方式

但我没搞懂为什么只输入一个S1的hess就能 ...

我很久以前用过,记得是用同一个Hessian算第2~20个态。所以第1个态的结果最准,更高态的结果都是近似的。不过我不是完全确定
作者
Author:
wzkchem5    时间: 2025-6-15 20:30
这种问题一般是谐振近似失效。
有两种解决思路:(1)用tcutfreq把较低的振动频率去掉,因为越是低频,非谐振效应越强。一般砍掉100~200cm-1以下的振动频率是容易找到文献支持的,设得再大可能对精度有不利影响;
(2)改用VG等方法。在AH、AHAS比较准的时候,VG精度比较差;但在AH、AHAS错得很离谱的时候,VG往往起码错得不离谱
作者
Author:
wal    时间: 2025-6-15 21:06
wzkchem5 发表于 2025-6-15 20:30
这种问题一般是谐振近似失效。
有两种解决思路:(1)用tcutfreq把较低的振动频率去掉,因为越是低频,非 ...

这一类情况用上USEJ TRUE会有对改进有帮助吗
作者
Author:
wzkchem5    时间: 2025-6-15 21:08
wal 发表于 2025-6-15 21:06
这一类情况用上USEJ TRUE会有对改进有帮助吗

Duschinsky旋转只能在谐振近似下改善精度。如果光谱计算结果的误差是因为非谐振效应导致的,考虑Duschinsky旋转即使有改善,也是碰巧
作者
Author:
yzh    时间: 2025-6-15 21:15
cokie 发表于 2025-6-15 19:57
我看手册里,他的噱头就是这个,特别是orca至今还没有解析hessian,所以省了很多时间。
但这种近似我个 ...

非常感谢,主要gaussian计算振动分辨不如orca来的方便
作者
Author:
yzh    时间: 2025-6-18 12:26
wzkchem5 发表于 2025-6-15 20:30
这种问题一般是谐振近似失效。
有两种解决思路:(1)用tcutfreq把较低的振动频率去掉,因为越是低频,非 ...

谢谢老师
作者
Author:
yzh    时间: 2025-6-25 12:59
wzkchem5 发表于 2025-6-15 20:30
这种问题一般是谐振近似失效。
有两种解决思路:(1)用tcutfreq把较低的振动频率去掉,因为越是低频,非 ...

感谢老师,用的VG模式计算,结果和实验吻合度非常好,感谢老师




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