计算化学公社

标题: Molpro用态平均CASSCF波函数计算CASPT2问题 [打印本页]

作者
Author:
VICKTOR2015    时间: 2018-1-26 11:42
标题: Molpro用态平均CASSCF波函数计算CASPT2问题
我的CASSCF算的是态平均(3态平均,等权重)
CASPT2部分分别设置(设置1)state,1,1;和(设置2)state,3,1,2,3。发现两种情况下第一个root的能量并不一样。
看手册对同时算多个root的解释同时算多个根用的就是态平均密度来构造用于构造H0的Fock矩阵。那既然前面的CASSCF用的就是态平均。设置1和设置2都是用的3态平均的密度来构造Fock矩阵。为何设置1和设置2的第一个根不一样呢?

作者
Author:
jiangning198511    时间: 2018-1-26 15:12
是不是这两个根不是一个态
作者
Author:
excalibur    时间: 2018-1-28 14:28
设置1是用指定态(也就是第一个态)的密度矩阵构造零阶哈密顿量的Fock算符;设置2是用三个态的态平均密度矩阵构造零阶哈密顿量的Fock算符,并且三个态的零阶哈密顿量的Focks算符是一样的。两个设置所得的能量应该是不一样的。
作者
Author:
VICKTOR2015    时间: 2018-1-29 13:20
excalibur 发表于 2018-1-28 14:28
设置1是用指定态(也就是第一个态)的密度矩阵构造零阶哈密顿量的Fock算符;设置2是用三个态的态平均密度矩 ...

但是CASSCF计算是3态平均啊。难道设置1里CASPT2先算了一个1个态的CASSCF而没有用之前的三态平均的reference wave function?
作者
Author:
excalibur    时间: 2018-1-29 20:50
本帖最后由 excalibur 于 2018-1-29 20:53 编辑

用Molpro做SA-CASSCF的时候,程序会同时保存态平均密度矩阵和各个态的密度矩阵。你的两个设置中第二个设置就是用的态平均密度矩阵,第一个设置用的是第一个态对应的密度矩阵。

我不是很明白你所说的三态平均reference wave function是如何定义。态平均CASSCF的计算是优化若干个态的态平均能量,同时必须保证态之间满足正交归一条件,n个态平均应该是得到n个波函数。这样做的好处是可以得到一组无相互作用的正交态,后续进行其他计算也会方便很多;不好的地方是在给定基下每个态的系数都不是对应态的最优系数。
作者
Author:
清微    时间: 2018-1-30 11:41
请问老师,为什么CASSCF计算得到的轨道能级全为0?
作者
Author:
VICKTOR2015    时间: 2018-1-30 15:52
清微 发表于 2018-1-30 11:41
请问老师,为什么CASSCF计算得到的轨道能级全为0?

你的是高斯的结果吗
作者
Author:
清微    时间: 2018-1-30 16:05
VICKTOR2015 发表于 2018-1-30 15:52
你的是高斯的结果吗

嗯,是的。
作者
Author:
zjxitcc    时间: 2018-1-30 16:14
清微 发表于 2018-1-30 16:05
嗯,是的。

因为轨道能级是对正则轨道而言的只有DFT和HF里才有。CASSCF里没有轨道能级的概念,就算log文件轨道能量那里有值,不为0,你也要谨慎对待,必然不是CASSCF的轨道能级,因为压根没有这种东西。不过,CASSCF有自然轨道,轨道能级那里可以换成自然轨道占据数。
作者
Author:
VICKTOR2015    时间: 2018-1-30 17:12
zjxitcc 发表于 2018-1-30 16:14
因为轨道能级是对正则轨道而言的只有DFT和HF里才有。CASSCF里没有轨道能级的概念,就算log文件 ...

Gaussian的CASSCF是不给出能量的。因为本身CASSCF就没有轨道能量的概念。只有轨道占据数的概念。活性空间里轨道占据数可以在#p后产生的输出文件里看到。活性空间外轨道占据数要么是2要么是0
作者
Author:
zjxitcc    时间: 2018-1-30 17:23
VICKTOR2015 发表于 2018-1-30 17:12
Gaussian的CASSCF是不给出能量的。因为本身CASSCF就没有轨道能量的概念。只有轨道占据数的概念。活性空间 ...

虽然我知道你想表达的意思是对的,不过我补充完整一些:
Gaussian的CASSCF是不给出轨道能量的;
轨道占据数必须后面续一个--Link1--计算产生自然轨道才能看到自然轨道占据数,或者在一开始加上pop=naturalorbitals(这个我没试过)。直接算CASSCF,没有pop关键词、也没有Link1的话,log文件里只有单粒子密度矩阵,是没有轨道占据数的。
作者
Author:
清微    时间: 2018-1-30 20:33
CASSCF加#p后产生的输出文件也无法得到轨道占据数,必须加上pop=no关键词。
作者
Author:
VICKTOR2015    时间: 2018-1-31 11:12
excalibur 发表于 2018-1-29 20:50
用Molpro做SA-CASSCF的时候,程序会同时保存态平均密度矩阵和各个态的密度矩阵。你的两个设置中第二个设置 ...

谢谢,我以为态平均的计算值保存态平均密度矩阵而不会有各个态的,各个态的只能单独算才有。




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