计算化学公社

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

[综合讨论] 晶格正交化[讨论]

  [复制链接 Copy URL]

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

本帖最后由 卡开发发 于 2017-4-7 13:47 编辑

特定情况下,我们希望晶体的晶格是正交的,如下图(图1)给出了2D晶格作为简单的例子,从白线到红线那样的方式做一个正交化。

这个过程中,相当于把两个晶格基矢线性组合,v'=v,u'=c1*u+c2*v=|u|sinγ·e_v⊥。而更方便求出u'的方案就是先求出面积,A=u·v=|u||v|sinγ,然后除以v的模长|v|,得到长度|u'|,方向则是与v垂直的e_v⊥。因为体系是周期性的,所以只需要保证两晶格基矢相对位置不变即可,晶格基矢可以任意旋转平移。若推广到3D情形,第三个轴向w也类似,可以通过体积V=|u||v||w|√[1-cos^2(α)-cos^2(β)-cos^2(γ)+2cosαcosβcosγ]除以底面积求得模长,矢量则垂直于u'v'构成的平面;围成底面积的两基矢的正交化过程就和前面2D情形完全相同;原子的直角坐标还是不变的。
但上述的做法会出现9楼http://bbs.keinsci.com/forum.php ... d=42616&fromuid=308提到的问题,也就是说晶格内部的原子不能满足平移性,为了避免这样的问题,实际上我们可以再做进一步的处理:虽然按照这样的方式平移会在一个分量上偏离原有坐标,但对于特定的晶格偏离若干次就会回到原处(图2),因此这样的情况其实只要建立一个合适大小的超胞就能够解决问题。

实际情形复杂很多,大部分的非正交晶格如果这样做正交化偏移的部分与相应的晶格参数之比根本就不是有理数,那么即便建立无穷大的超胞也不可能找到等价的正交晶格。此外,有些晶格正交的过程并不能限制v=v',而是u'=c11u+c12v,v'=c21u+c22v,有些本应该能够正交化的晶格也就被排除了,因此原来的C++程序可能很多情况得不到我们要的结果,所以也只好撤回这个程序。对于二维情形,如果按照u'=c11u+c12v,v'=c21u+c22v考虑,以及考虑晶格内任意一个原子平移m*n次(两个维度分别平移)能够与原来重合,问题就变得颇为复杂,笔者暂时没想到有效的算法。虽然有一些小程序也能做,但反而不及手工做redefine lattice来的灵活,大家有啥好的想法欢迎讨论。



评分 Rate

参与人数
Participants 9
威望 +1 eV +25 收起 理由
Reason
北方春茶 + 3 牛!
Shanyang418 + 4 赞!
端培阳 + 3 赞!
Pzh3393 + 1 牛!
dwxy + 3 とてもいい!
obaica + 1
Warm_Cloud + 5 冬哥大法好
ggdh + 5 谢谢分享
sobereva + 1

查看全部评分 View all ratings

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

25

帖子

0

威望

1300

eV
积分
1325

Level 4 (黑子)

来自 2#
发表于 Post on 2017-4-6 21:41:30 | 只看该作者 Only view this author
如果没有理解错误,即使满足上面的条件只有晶胞参数也不能还原原来晶胞,比如下图
左边格子与右边底边和高相同,按照规则正交化后的晶胞参数是一样的。

只有矩形晶胞的晶胞参数和原来晶胞的原子直角坐标,如何得到完整晶体呢?按照矩形晶胞的正交基矢平移得到的是上面图中左边两个A点,而实际晶体中并没有左上的A点。若果平移得到黄色的晶胞,则需要额外平移信息。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
卡开发发 + 5

查看全部评分 View all ratings

2015毕业季

294

帖子

0

威望

3528

eV
积分
3822

Level 5 (御坂)

3#
发表于 Post on 2017-4-6 13:47:41 | 只看该作者 Only view this author
抢个沙发,顶!

25

帖子

0

威望

1300

eV
积分
1325

Level 4 (黑子)

4#
发表于 Post on 2017-4-6 20:30:08 | 只看该作者 Only view this author
这种正交化和直接写个基组(1,0,0),(0,1,0),(0,0,V)有什么区别吗
2015毕业季

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

5#
 楼主 Author| 发表于 Post on 2017-4-6 20:55:28 | 只看该作者 Only view this author
zhou 发表于 2017-4-6 20:30
这种正交化和直接写个基组(1,0,0),(0,1,0),(0,0,V)有什么区别吗

也可以直接那样写(u' 0 0) (0 v' 0) (0 0 w'),不过你得计算u' v' w',并不是任意的长度都能满足条件。如果有更好的解决方案也欢迎讨论。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

25

帖子

0

威望

1300

eV
积分
1325

Level 4 (黑子)

6#
发表于 Post on 2017-4-6 21:07:43 | 只看该作者 Only view this author
卡开发发 发表于 2017-4-6 20:55
也可以直接那样写(u' 0 0) (0 v' 0) (0 0 w'),不过你得计算u' v' w',并不是任意的长度都能满足条件。如 ...

如果只把晶胞参数改成正交的,加上原子的直角坐标并不能给出晶体正确的结构信息,还需要正交晶胞的周期性平移的矢量,这些矢量不是正交的。我在看gromacs手册的时候他也提到把晶胞变成砖块,这样做有什么实际的好处吗?
2015毕业季

903

帖子

37

威望

5324

eV
积分
6967

Level 6 (一方通行)

7#
发表于 Post on 2017-4-6 21:12:41 | 只看该作者 Only view this author
是不是任意的二维胞 都可以转换为正交胞啊
这样的话。做不同胞的复合层就简单多了。

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

8#
 楼主 Author| 发表于 Post on 2017-4-6 21:16:13 | 只看该作者 Only view this author
zhou 发表于 2017-4-6 21:07
如果只把晶胞参数改成正交的,加上原子的直角坐标并不能给出晶体正确的结构信息,还需要正交晶胞的周期性 ...

肯定不是简单改成正交的,实际上严格一些的条件应该是要u'和u重合,v'在uv平面,实际这样做起来不复杂,这里只是提供一个思路。我上面提到了,以二维为例,如果要进行正交化又得保证给出晶体信息(当然对称性肯定是丢了)必须v=v',u'=c1*u+c2*v=usinγ。

这样做没啥特别的目的,一来是近期有个朋友问我cp2k的电势格点拿到multiwfn怎么分析,我看看问题不算复杂,就打算帮忙解决一下而已;二来就是如BigDFT貌似至今只支持正交格子的计算,也许能帮上些忙,
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

9#
 楼主 Author| 发表于 Post on 2017-4-6 21:36:20 | 只看该作者 Only view this author
ggdh 发表于 2017-4-6 21:12
是不是任意的二维胞 都可以转换为正交胞啊
这样的话。做不同胞的复合层就简单多了。

应该不是,比如二维上面的石墨烯的单胞也是是primitive cell,这种情况只能构造超胞再转换。还有没有其他特例我还没想出来。

目前来看很多做周期系统的人也急需Multiwfn的支持,总之欢迎大家讨论,能够提供更好的方案。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

10#
 楼主 Author| 发表于 Post on 2017-4-6 22:22:59 | 只看该作者 Only view this author
zhou 发表于 2017-4-6 21:41
如果没有理解错误,即使满足上面的条件只有晶胞参数也不能还原原来晶胞,比如下图
左边格子与右边底边和高 ...

有道理,我研究研究,明天搞个新的版本放上来。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

286

帖子

3

威望

5611

eV
积分
5957

Level 6 (一方通行)

11#
发表于 Post on 2017-4-7 10:10:06 | 只看该作者 Only view this author
本帖最后由 Warm_Cloud 于 2017-4-7 11:37 编辑

厉害

903

帖子

37

威望

5324

eV
积分
6967

Level 6 (一方通行)

12#
发表于 Post on 2017-4-7 15:41:27 | 只看该作者 Only view this author
卡开发发 发表于 2017-4-6 21:36
应该不是,比如二维上面的石墨烯的单胞也是是primitive cell,这种情况只能构造超胞再转换。还有没有其他 ...

如果能构建出超胞再转,那也是很不错的啊

3621

帖子

3

威望

1万

eV
积分
18429

Level 6 (一方通行)

第一原理惨品小作坊

13#
 楼主 Author| 发表于 Post on 2017-4-7 15:56:52 | 只看该作者 Only view this author
ggdh 发表于 2017-4-7 15:41
如果能构建出超胞再转,那也是很不错的啊

看样子恐怕是不行,9楼的说法是对的,不能只是做简单的平移。我把帖子改了,目前来说我没有想到有很好的算法。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。
本周忙

5

帖子

0

威望

62

eV
积分
67

Level 2 能力者

14#
发表于 Post on 2017-9-15 12:11:22 | 只看该作者 Only view this author
一般我在处理的时候都是做切面,定义uv的值,通常六方的我会定义U(100)V(120),这样就得到正交的格子。对于其他角度的格子,会根据矢量的关系定义,一般都能得到正交化的格子。

评分 Rate

参与人数
Participants 2
eV +8 收起 理由
Reason
淦饭青年 + 3 谢谢分享
obaica + 5 谢谢分享

查看全部评分 View all ratings

5

帖子

0

威望

62

eV
积分
67

Level 2 能力者

15#
发表于 Post on 2017-9-15 12:14:03 | 只看该作者 Only view this author
风之子 发表于 2017-9-15 12:11
一般我在处理的时候都是做切面,定义uv的值,通常六方的我会定义U(100)V(120),这样就得到正交的格子。 ...

补充一下,正交后的一般会做超胞检查

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 10:32 , Processed in 0.269021 second(s), 26 queries , Gzip On.

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