计算化学公社

 找回密码 Forget password
 注册 Register

如何将笛卡尔坐标下的矢量转换到内坐标下

查看数: 3961 | 评论数: 13 | 收藏 Add to favorites 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-6-17 22:20

正文摘要:

本帖最后由 Kalinite 于 2022-6-17 22:25 编辑 如题。最近有一些笛卡尔坐标系下的矢量数据,想放到内坐标下进行讨论。用梯度举个例子,我的想法是可以写成下面这样: 其中xk(包括yk和zk)是k个原子的笛卡尔 ...

回复 Reply

libo371324 发表于 Post on 2022-9-8 14:05:23
Kalinite 发表于 2022-9-8 11:09
需要一个二面角吧,不然没法确定位置

嗯,这样就很麻烦了,要是高斯软件能像Multiwfn那样程序调动就好啦,我慢慢尝试写一下吧
Kalinite 发表于 Post on 2022-9-8 11:09:17
libo371324 发表于 2022-9-8 10:09
为了更有化学意义,用Multiwfn得到了以化学键对应的原子间距离,然后根据连键关系在将内坐标转化回笛卡尔 ...

需要一个二面角吧,不然没法确定位置
libo371324 发表于 Post on 2022-9-8 10:09:33
Kalinite 发表于 2022-8-31 22:20
1. 可以
2. “深度学习模型给出的内坐标”指的是什么?Wilson’s B matrix依赖于具体的结构,相当于是笛 ...

为了更有化学意义,用Multiwfn得到了以化学键对应的原子间距离,然后根据连键关系在将内坐标转化回笛卡尔坐标时,仍然遇到了疑问,比如甲烷,前三个原子的位置定义如下:C(0.0,0.0,0.0),H(0.0,0.0,z2),H(x3,0.0,z3),整个结构的取向确定,那么在求第四个氢原子的位置时需要考虑键角吗?如果考虑键角的话那就很麻烦了吧,如果不考虑,最后两个氢原子的位置很有可能重叠。
libo371324 发表于 Post on 2022-9-1 08:37:36
Kalinite 发表于 2022-8-31 22:20
1. 可以
2. “深度学习模型给出的内坐标”指的是什么?Wilson’s B matrix依赖于具体的结构,相当于是笛 ...

好的,非常感谢!
Kalinite 发表于 Post on 2022-8-31 22:20:54
本帖最后由 Kalinite 于 2022-8-31 22:31 编辑
libo371324 发表于 2022-8-31 20:21
文章看了,没看懂,但我还有两个疑问
1、按照序号相邻原子这样定义内坐标(不用B矩阵变换),能保证旋转 ...

1. 可以
2. “深度学习模型给出的内坐标”指的是什么?Wilson’s B matrix依赖于具体的结构,相当于是笛卡尔空间到内坐标空间映射的一个Jacobi matrix,则只有给定了具体坐标定义方式,才能给出一个确定的Wilson's B matrix。至于你说的有了内坐标要给出笛卡尔坐标,给几个冗余变量人工赋值即可。(比如让1号原子在(0,0,0),2号原子在(0,0,z2),3号原子在(0,y3,z3),于是整个结构在空间中的取向就被固定了,自然就能得到全部原子的笛卡尔坐标)

当然内坐标的定义方式可以有很多种,这种定义方式也没有什么特殊意义,在没有负面影响的情况下,纯粹是为了写代码方便些。如果要有化学意义的话,可能就得尽量让原子间距离尽可能多对应实际的化学键等等,这个感觉还是比较麻烦的,在我个人做的一些问题里面没有这个需求,做优化的可能会关心这些问题。

libo371324 发表于 Post on 2022-8-31 20:21:12
Kalinite 发表于 2022-8-29 16:29
修改一下格式使之符合Gaussian输入文件的格式,用GaussView就能看。
要转化回去也还用B矩阵即可。

文章看了,没看懂,但我还有两个疑问
1、按照序号相邻原子这样定义内坐标(不用B矩阵变换),能保证旋转平移不变性吗
2、文章中δS=B*δX,内坐标的变化等于Wison B矩阵*笛卡尔坐标的变化,同样笛卡尔坐标的变化等于
Wison B(逆)矩阵*内坐标:δX = B(逆)*δS,如果是深度学习模型给出的内坐标,我还能用相同的Wison B矩阵将模型给出的内坐标转成笛卡尔坐标吗
libo371324 发表于 Post on 2022-8-29 18:46:41
Kalinite 发表于 2022-8-29 16:29
修改一下格式使之符合Gaussian输入文件的格式,用GaussView就能看。
要转化回去也还用B矩阵即可。

好的,谢谢!
Kalinite 发表于 Post on 2022-8-29 16:29:25
libo371324 发表于 2022-8-29 16:11
请教:这样定义的内坐标能转化回去或如何可视化这个分子呢?

修改一下格式使之符合Gaussian输入文件的格式,用GaussView就能看。
要转化回去也还用B矩阵即可。
libo371324 发表于 Post on 2022-8-29 16:11:08
请教:这样定义的内坐标能转化回去或如何可视化这个分子呢?
Kalinite 发表于 Post on 2022-6-18 01:12:17
sobereva 发表于 2022-6-18 00:52
让RIC的定义等同于内坐标就完了。RIC的数目可以大于也可以等于内坐标数目。

明白了,感谢您!
sobereva 发表于 Post on 2022-6-18 00:52:57
Kalinite 发表于 2022-6-18 00:16
谢谢sob老师,我确实试过用Wilson B矩阵转到了RIC下,但是他还比内坐标多了6/5个自由度,莫非可以直接删 ...

让RIC的定义等同于内坐标就完了。RIC的数目可以大于也可以等于内坐标数目。
Kalinite 发表于 Post on 2022-6-18 00:16:14
sobereva 发表于 2022-6-17 23:35
利用Wilson B矩阵进行变换,细节看J. Chem. Phys., 117, 9160 (2002)

谢谢sob老师,我确实试过用Wilson B矩阵转到了RIC下,但是他还比内坐标多了6/5个自由度,莫非可以直接删去吗。
sobereva 发表于 Post on 2022-6-17 23:35:31
利用Wilson B矩阵进行变换,细节看J. Chem. Phys., 117, 9160 (2002)

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

GMT+8, 2026-2-28 20:39 , Processed in 0.180069 second(s), 25 queries , Gzip On.

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