计算化学公社

标题: 跃迁偶极距梯度计算问题 [打印本页]

作者
Author:
michaelm    时间: 2017-1-1 01:10
标题: 跃迁偶极距梯度计算问题
最近在学怎么用FCClasses。主要是因为Gaussian里激发态的计算,高级些的方法,比如eomccsd,都无法优化结构和计算频率。但是其他程序,像gamess就可以。所以想用其他程序计算了这些数据后,用FCClasses来做振动解析的光谱。


其他的数据都很好计算,就是跃迁偶极矩的剃度的计算有些迷糊。FCClasses手册里相应的有这样一段话,

Since in TDDFT calculations excited-state frequencies are computed by numerical derivatives of the energy gradients at the excited-state equilibrium geometry, this calculation provides with no additional cost also the derivatives of the transition dipole moment at this geometry.

请问为什么能量的剃度已知,跃迁偶极矩的剃度就也已知了?两者之间是怎么计算的?

应该是很基本的问题,不过我不是很理解。先谢谢大家指点!



作者
Author:
sobereva    时间: 2017-1-1 11:01
每次做激发态计算(无论只是算激发态的能量还是激发态的受力),都会给出跃迁偶极矩
这段话说计算激发态Hessian要通过有限差分计算,就可以顺便把跃迁偶极矩也做有限差分计算了,就得到了跃迁偶极矩对坐标的导数了,也就有了梯度
作者
Author:
michaelm    时间: 2017-1-10 06:50
本帖最后由 michaelm 于 2017-1-10 06:54 编辑
sobereva 发表于 2017-1-1 11:01
每次做激发态计算(无论只是算激发态的能量还是激发态的受力),都会给出跃迁偶极矩
这段话说计算激发态He ...

谢谢sob指点。完全明白了这段话。
借机请教一下有限差分是怎么计算的。我举个例子,我做一个双原子分子的freq=numerical的计算,在输出文件里搜dipole,得到如下结果:

    X=              0.1148    Y=              0.0030    Z=             -0.0059  Tot=              0.1150
    X=              0.1185    Y=              0.0031    Z=             -0.0061  Tot=              0.1187
    X=              0.1112    Y=              0.0029    Z=             -0.0057  Tot=              0.1114
    X=              0.1149    Y=              0.0029    Z=             -0.0059  Tot=              0.1151
    X=              0.1147    Y=              0.0031    Z=             -0.0059  Tot=              0.1149
    X=              0.1147    Y=              0.0030    Z=             -0.0060  Tot=              0.1149
    X=              0.1150    Y=              0.0030    Z=             -0.0058  Tot=              0.1152
    X=              0.1112    Y=              0.0029    Z=             -0.0057  Tot=              0.1114
    X=              0.1185    Y=              0.0031    Z=             -0.0061  Tot=              0.1187
    X=              0.1147    Y=              0.0031    Z=             -0.0059  Tot=              0.1149
    X=              0.1149    Y=              0.0029    Z=             -0.0059  Tot=              0.1151
    X=              0.1150    Y=              0.0030    Z=             -0.0058  Tot=              0.1152
    X=              0.1147    Y=              0.0030    Z=             -0.0060  Tot=              0.1149

在总结文件里,能找到如下总结:

Dipole Moment                              R   N=           3
  4.51851529E-02  1.19261796E-03 -2.32836968E-03

Dipole Moment num derivs                   R   N=          18
  7.57887238E-01  2.06058057E-02 -4.02210902E-02  2.05687573E-02 -2.07243858E-02
-1.06070754E-03 -4.01544900E-02 -1.06083415E-03 -1.92087665E-02 -7.57887242E-01
-2.06058066E-02  4.02210922E-02 -2.05684082E-02  2.07243794E-02  1.06068976E-03
  4.01548269E-02  1.06084306E-03  1.92087803E-02

输出文件里,第一个dipole明显是输入结构的dipole(单位转换后和总结文件里的Dipole Moment数值相等)。后面12个dipole应该是输入结构附近PES上的dipole。我猜是每个原子坐标x,y,z前后扰动之后的计算。那么具体是怎么从输出文件里这13个dipole,来算出总结文件里的导数的?每个扰动默认是什么单位和多大呢?

之所以问这个,是因为我要用eomccsd算transition dipole,然后再算transition dipole的导数。

谢谢指点。



作者
Author:
sobereva    时间: 2017-1-10 09:55
michaelm 发表于 2017-1-10 06:50
谢谢sob指点。完全明白了这段话。
借机请教一下有限差分是怎么计算的。我举个例子,我做一个双原子分子 ...


"后面12个dipole"不知道你指的什么。你要跃迁偶极矩,和这也没关系。
有限差分是最基本的求数值导数的方法,计算f(x)在x'的导数就是[f(x'+Δx)-f(x'-Δx)]/(2*Δx),Δx是差分步长。这是一阶有限差分,类似地可以做n阶。如果f指的是跃迁偶极矩,在两个点各算一次跃迁偶极矩,这么就得到了跃迁偶极矩的导数。
作者
Author:
michaelm    时间: 2017-1-10 11:40
sobereva 发表于 2017-1-10 09:55
"后面12个dipole"不知道你指的什么。你要跃迁偶极矩,和这也没关系。
有限差分是最基本的求数值导数的 ...

可能我没说清楚,详细解释一下。

1)我知道我在例子里算的是偶极距,不是跃迁偶极距。但是对于它们,单位以及算数值导数的算法是一样的。我用偶极距做例子,是因为高斯可以给出数值导数,我想弄明白具体是怎么算的,这样可以依样画葫芦算跃迁偶极距的导数。

2)我说的后面12个dipole,就是我列的x= y= z=那些。总共13行。就像你说的,f是偶极距的话,第一行就是f(x),后面12个,就是f(x+Δx)和f(x-Δx)的值。对于双原子分子,总共有6个自由度,每个自由度在x前后取两点,所以高斯在这些点算了12个偶极距,然后用这些值算出了我上面列的总结文件里的偶极距的导数。我觉得用的应该就是你给的基本有限差分的公式。但是我试过用这个公式倒推Δx,在每个自由度上,得到的Δx值不一样。所以我在帖子里问,每个扰动,(也就是Δx),默认是什么单位和多大?

作者
Author:
sobereva    时间: 2017-1-10 12:10
michaelm 发表于 2017-1-10 11:40
可能我没说清楚,详细解释一下。

1)我知道我在例子里算的是偶极距,不是跃迁偶极距。但是对于它们, ...

用#P,仔细检查屏幕上的提示,或者搜IOp手册,试图找到差分步长的线索
作者
Author:
cuihongqiang    时间: 2020-12-9 17:59
我想问下,跃迁偶极矩对坐标的求导这个问题解决了没有




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