计算化学公社

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

[算法与编程] 请教波函数与空间的对应关系

[复制链接 Copy URL]

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

       各位老师好,最近在探索波函数与分子取向间的关系,有个不太好理解的地方请教各位老师。       我用高斯nosymm计算了相同分子不同空间位置或朝向的结果,读取fch文件时发现,他们的基函数,收缩系数等完全一样,只有后面的物理参数不同。我的问题是:真正计算时如何把坐标和取向的信息考虑进来的呢,或者说如何确定真正的波函数信息(我的理解是至少波函数的方向会不同)?坐标不同差别又在哪里体现? 感谢各位老师。

928

帖子

1

威望

8263

eV
积分
9211

Level 6 (一方通行)

2#
发表于 Post on 2022-7-6 16:52:04 | 只看该作者 Only view this author
基函数本来就是不变的,现代量化程序都是这样设定的,即px始终朝着x轴的方向。假如本来有个MO对应平行于x轴的sigma键,由两个原子的px基函数构成,那么你把分子转一下,就会变成由px py pz 混合构成,但MO的形状不变。

4289

帖子

4

威望

9550

eV
积分
13919

Level 6 (一方通行)

MOKIT开发者

3#
发表于 Post on 2022-7-6 17:18:47 | 只看该作者 Only view this author
高斯基组数据是定值,都在基组库里写着,你算或不算,它就在那里https://www.basissetexchange.org
分子轨道系数具有平移不变性。旋转的话,p角动量(及更高角动量)基函数的轨道系数会发生相应的变化,但是肉眼看轨道形状是不变的。
当你提供了坐标,这本身就已经体现了“坐标和取向的信息”。“真正的波函数信息”这个词本身是模糊的词汇,没有明确定义。
自动做多参考态计算的程序MOKIT

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

4#
 楼主 Author| 发表于 Post on 2022-7-6 17:49:55 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-7-6 16:52
基函数本来就是不变的,现代量化程序都是这样设定的,即px始终朝着x轴的方向。假如本来有个MO对应平行于x轴 ...

谢谢您的回复,我明白基函数是不变的这个事情,您后面说的是我不太理解的。以高斯为例,既然计算时可以有标准朝向与随机朝向的区分,我自然会想到以标准朝向作为基准。结合楼下老师的回答,轨道系数会发生相应的变化,以保证其形状不变。那是不是跟把波函数转一下,再用之前的轨道系数组合是等价的操作呢?

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2022-7-6 17:55:14 | 只看该作者 Only view this author
zjxitcc 发表于 2022-7-6 17:18
高斯基组数据是定值,都在基组库里写着,你算或不算,它就在那里https://www.basissetexchange.org
分子轨 ...

谢谢您的解答,我所谓的“真正意义的波函数”其实是在一个标准朝向下的波函数,的确不太明确。其实我比较好奇的是:如果在已知一种取向的分子轨道和波函数的情况下,如何能很快获得另一个朝向的分子轨道和波函数。

928

帖子

1

威望

8263

eV
积分
9211

Level 6 (一方通行)

6#
发表于 Post on 2022-7-6 18:21:20 | 只看该作者 Only view this author
Markmahao 发表于 2022-7-6 17:55
谢谢您的解答,我所谓的“真正意义的波函数”其实是在一个标准朝向下的波函数,的确不太明确。其实我比较 ...

很简单,可以参考这里的实现 https://github.com/pyscf/pyscf/issues/1064

928

帖子

1

威望

8263

eV
积分
9211

Level 6 (一方通行)

7#
发表于 Post on 2022-7-6 18:23:53 | 只看该作者 Only view this author
Markmahao 发表于 2022-7-6 17:49
谢谢您的回复,我明白基函数是不变的这个事情,您后面说的是我不太理解的。以高斯为例,既然计算时可以有 ...

“把波函数转一下,再用之前的轨道系数组合”你是不是打错了,如果你想说“把基函数转一下,再用之前的轨道系数组合”,这是没问题的。

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

8#
 楼主 Author| 发表于 Post on 2022-7-6 18:39:12 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-7-6 18:23
“把波函数转一下,再用之前的轨道系数组合”你是不是打错了,如果你想说“把基函数转一下,再用之前的轨 ...

是打错了,明白了,谢谢您。

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

9#
 楼主 Author| 发表于 Post on 2022-7-6 18:51:51 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-7-6 18:21
很简单,可以参考这里的实现 https://github.com/pyscf/pyscf/issues/1064

就是您之前建议我看这段代码。这里面是应该是球谐函数通过Wigner D矩阵旋转的,不知我理解的对不对。普通高斯函数如何旋转呢?为啥不用?

1万

帖子

0

威望

9886

eV
积分
22130

Level 6 (一方通行)

10#
发表于 Post on 2022-7-6 19:28:02 | 只看该作者 Only view this author
Markmahao 发表于 2022-7-6 11:51
就是您之前建议我看这段代码。这里面是应该是球谐函数通过Wigner D矩阵旋转的,不知我理解的对不对。普通 ...

什么叫“普通高斯函数”?
AO基函数是径向函数和球谐函数的积,其中对于高斯基函数而言,这里的径向函数是高斯函数。径向函数因为和角度无关,本来就无所谓旋转一说。至于整个高斯基函数,如果这里的球谐函数是s函数,那Wigner D矩阵刚好是1x1的单位阵,所以乘了等于没乘,也就是不需要旋转。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
hebrewsnabla + 3 我很赞同

查看全部评分 View all ratings

Zikuan Wang
山东大学光学高等研究中心 研究员
BDF(https://bdf-manual.readthedocs.io/zh_CN/latest/Introduction.html)、ORCA(https://orcaforum.kofo.mpg.de/index.php)开发团队成员
Google Scholar: https://scholar.google.com/citations?user=XW6C6eQAAAAJ
ORCID: https://orcid.org/0000-0002-4540-8734
主页:http://www.qitcs.qd.sdu.edu.cn/info/1133/1776.htm
GitHub:https://github.com/wzkchem5
本团队长期招收研究生,有意者可私信联系

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

11#
 楼主 Author| 发表于 Post on 2022-7-6 19:58:10 | 只看该作者 Only view this author
wzkchem5 发表于 2022-7-6 19:28
什么叫“普通高斯函数”?
AO基函数是径向函数和球谐函数的积,其中对于高斯基函数而言,这里的径向函数 ...

抱歉,我说的不是很专业,其实我想问的是笛卡尔型高斯函数如何实现旋转?

928

帖子

1

威望

8263

eV
积分
9211

Level 6 (一方通行)

12#
发表于 Post on 2022-7-6 20:08:01 | 只看该作者 Only view this author
Markmahao 发表于 2022-7-6 19:58
抱歉,我说的不是很专业,其实我想问的是笛卡尔型高斯函数如何实现旋转?

这段代码里面mol.cart代表是否使用cartesian型基函数。你可以看到mol.cart=True的话就多了一些步骤。

本来cartesian型和球谐型是可以相互变换的,大不了你先变换,再旋转,再变换回去。

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

13#
 楼主 Author| 发表于 Post on 2022-7-6 20:09:52 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-7-6 20:08
这段代码里面mol.cart代表是否使用cartesian型基函数。你可以看到mol.cart=True的话就多了一些步骤。

...

好的,我去试试,感谢两位老师的耐心解答!

4289

帖子

4

威望

9550

eV
积分
13919

Level 6 (一方通行)

MOKIT开发者

14#
发表于 Post on 2022-7-6 20:40:26 | 只看该作者 Only view this author
Markmahao 发表于 2022-7-6 19:58
抱歉,我说的不是很专业,其实我想问的是笛卡尔型高斯函数如何实现旋转?

最常用的还是球谐型
自动做多参考态计算的程序MOKIT

123

帖子

0

威望

2617

eV
积分
2740

Level 5 (御坂)

15#
 楼主 Author| 发表于 Post on 2022-7-7 18:36:21 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-7-6 20:08
这段代码里面mol.cart代表是否使用cartesian型基函数。你可以看到mol.cart=True的话就多了一些步骤。

...

最后还是旋转了系数矩阵,s和p的部分很快完成但又遇到一个问题,就是高角动量的笛卡尔型(比如d轨道),目前是先把6个系数变回5个,再旋转然后再拆成6个,还没有得到自洽的结果。

本版积分规则 Credits rule

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

GMT+8, 2026-2-24 03:38 , Processed in 0.198575 second(s), 22 queries , Gzip On.

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