计算化学公社

标题: 求助:orca中使用casscf计算soc如何读取数据 [打印本页]

作者
Author:
Lapheal    时间: 2022-1-18 16:37
标题: 求助:orca中使用casscf计算soc如何读取数据
在orca中使用NEVPT2,在%casscf模块加关键词mult 3,1和dosoc true,想要计算s1到tn的soc,但是请问这个输出文件该怎么去读取s1到tn的soc呢?


作者
Author:
wzkchem5    时间: 2022-1-18 18:12
首先判断每个态分别是单重态还是三重态,方法是看第一个图的S栏,等于0就是单重态,等于1就是三重态。
然后判断哪个态是S1,哪个态是Tn。能量第二低的单重态是S1,能量第n低的三重态是Tn。
然后读取相应的矩阵元就行了。注意因为Tn不止一个microstate,所以每个<S1|Hsoc|Tn>都不止一个数。取决于你的用途,如果你要用的公式只接受一个数作为SOC矩阵元,那么需要把所有对应于S1和Tn的SOC矩阵元的模平方(注意SOC矩阵元是复数)加起来开根号,不过需要注意你用的公式是否要求根号里除以3,这一点不同文献、不同领域的公式是不一样的。
作者
Author:
Lapheal    时间: 2022-1-19 17:02
wzkchem5 发表于 2022-1-18 18:12
首先判断每个态分别是单重态还是三重态,方法是看第一个图的S栏,等于0就是单重态,等于1就是三重态。
然 ...

十分感谢老师答疑。还有两个地方不太懂想再问一下

1、请问对于这张图,想要读s0-t1的soc的话,应该读第一行还是第二行呢?
2、这个Root为什么是从0开始,是0-9而不是1-10呢?那三重态root为0是对应T几呢?


作者
Author:
wzkchem5    时间: 2022-1-19 17:20
Lapheal 发表于 2022-1-19 10:02
十分感谢老师答疑。还有两个地方不太懂想再问一下

1、请问对于这张图,想要读s0-t1的soc的话,应该读 ...

这个要取决于你的分子是什么点群。如果是C1群,那么应该读第1行、第11行和第21行,这些是S0和T1的三个分量的SOC矩阵元(至于为什么如此,看一下Ms栏就知道了)。如果不是C1群,那么需要你手动把不同不可约表示的激发能从低到高排个序,其中能量最低的单重态就是S0,能量最低的三重态就是T1。
Root从0开始是因为ORCA是C++程序,程序内部编号都是从0开始而不是从1开始的。
作者
Author:
Freeman    时间: 2022-8-9 22:27
借个楼哈。
我也用nevpt2算了个mecp的soc,但是输出文件里没有包含“nonzero soc matrix elements”的内容。请问是咋回事儿呢?
(, 下载次数 Times of downloads: 51) (, 下载次数 Times of downloads: 9)


作者
Author:
hebrewsnabla    时间: 2022-8-15 16:26
Freeman 发表于 2022-8-9 22:27
借个楼哈。
我也用nevpt2算了个mecp的soc,但是输出文件里没有包含“nonzero soc matrix elements”的内容 ...

你需要
  1. rel printlevel 3 end
复制代码

作者
Author:
13799725819    时间: 2024-5-13 20:19
wzkchem5 发表于 2022-1-19 17:20
这个要取决于你的分子是什么点群。如果是C1群,那么应该读第1行、第11行和第21行,这些是S0和T1的三个分 ...

他给的这张新图里面没有S0-Tn的Nonzero SOC 矩阵元,所以S0-T1的旋轨耦合常数应为0 cm**-1,应该没错吧?




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