计算化学公社

 找回密码 Forget password
 注册 Register
Views: 6774|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[算法与编程] 分子积分公式问题

[复制链接 Copy URL]

46

帖子

0

威望

835

eV
积分
881

Level 4 (黑子)

在Attila Szabo的书Modern Quantum Chemistry的附录A中,式(A.17)到(A.18)运用了傅里叶变换,我的理解是f1(r)f2(r)=F-1{F[f1(r)f2(r)]},而根据卷积定理,F[f1(r)f2(r)]=(2π)^(-3)F1(k)*F2(k),书上怎么直接把卷积化成了乘积:F1(k)*F2(k)=F1(k)F2(k),这不对吧?究竟计算过程是什么?

integral.PNG (58.23 KB, 下载次数 Times of downloads: 76)

integral.PNG

3621

帖子

3

威望

1万

eV
积分
18435

Level 6 (一方通行)

第一原理惨品小作坊

2#
发表于 Post on 2018-1-26 01:46:09 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2018-1-26 01:51 编辑

A16-A20的按照书上推导我写在下面:


形式上,你可以令:
x1≡r1-Rp
Rp-Rc≡R

这样r1-Rc=x1+R
f1(r1)=exp(-p|r1-Rp|^2)=exp(-px1^2)=f1(x1)
f2(r1)=1/|r1-Rc|=1/|x1+R|=f2(x1+R)

积分的形式为∫f1(r1)f2(r1)dr1可以转化为卷积的形式∫f1(r1)f2(r1+R)dr1,计算的时候就按照S(x1)=F-1{F[f1]F[f2]}做积分,最后求S(R)。这样做积分的形式并不限定于上面吸引积分的计算,也可以用于计算重叠积分或动能积分,此时可以绕过GTO乘积定理导出积分公式;另外上述方法的直接离散化计算也是SIESTA处理双中心积分的方法,只是分离角度部分之后径向部分的卷积不是Fourier变换,而是球形Hankel变换罢了。

评分 Rate

参与人数
Participants 3
eV +11 收起 理由
Reason
itpfeng + 3
清微 + 5 赞!
sobereva + 3

查看全部评分 View all ratings

日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

46

帖子

0

威望

835

eV
积分
881

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2018-1-26 15:53:16 | 只看该作者 Only view this author
本帖最后由 清微 于 2018-1-26 15:54 编辑

您的意思是f1(r)=F-1[F1(k1)],f2(r)=F-1[F2(k2)],于是f1(r)f2(r)=F-1[F1(k1)]•F-1[F2(k2)],也就是分别进行傅里叶逆变换并相乘,而我一直纠结于f1(r)f2(r)=F-1{F[f1(r)f2(r)]},没有想到分开取傅里叶逆变换,多谢老师的提醒。

另外f1与f2的卷积应该为:f1(r1)*f2(r1)=∫f1(x1)f2(r1-x1)dx1,不管怎么变换都化不成这种形式。

3621

帖子

3

威望

1万

eV
积分
18435

Level 6 (一方通行)

第一原理惨品小作坊

4#
发表于 Post on 2018-1-26 16:39:48 | 只看该作者 Only view this author
清微 发表于 2018-1-26 15:53
您的意思是f1(r)=F-1[F1(k1)],f2(r)=F-1[F2(k2)],于是f1(r)f2(r)=F-1[F1(k1)]•F-1[F2(k2)],也就是分 ...

不,只是说形式上可以看成是卷积的形式,并非卷积本身的严格数学定义,说法来自于J. Phys.: Condens. Matter 14 (2002) 2745–2779当中公式(17)和(18)之间对于重叠积分的描述的一段话:
The function S(R) can be seen as a convolution: we take the Fourier transform

实际计算过程和FFT计算卷积没什么太大差异,计算过程(就拿程佩青那本《数字信号处理教程》的4.10作为参考好了)就是:
(1)计算F1(k)=FFT[f1(r)]
(2)计算F2(k)=FFT[f2(r)]
(3)计算F1(k)F2(k)
(4)计算f1(r)*f2(r)=IFFT(F1(k)F2(k))
所以我的表示应该没有问题,只是解析做的时候是先把正变换后那个积分顺序做调换,逆变换的时候再拿进来而已。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
sobereva + 2

查看全部评分 View all ratings

日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

46

帖子

0

威望

835

eV
积分
881

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2018-1-26 17:00:54 | 只看该作者 Only view this author
奥,好的,终于搞懂了,多谢老师。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-25 05:54 , Processed in 0.199194 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list