大毛忽洞分享 http://blog.sciencenet.cn/u/大毛忽洞 自留地是桃花源,只种颜色不耕田。 点击 【博文】 看分类目录 邮箱: lishchlishch@163.com;lishchlishch@gmail.com

博文

原子环境计算程序(AEC):No.225 空间群

已有 220 次阅读 2026-3-4 12:30 |个人分类:AEC 原子环境计算|系统分类:科研笔记

原子环境计算程序(AEC):No.225空间群

2026-V1-AEC-SP-225.zip

点击就可下载,必须解压缩到C盘,显示格式如下:

C:\2026-V1-AEC-SP-225

    这4个应用程序是我用VB6编写的,名曰原子环境计算(AEC),是编译后的EXE程序,不需要安装,点击就可以运行。如果系统是Windows11,运行前先断开互联网,就没有问题了。

这些程序有什么用?请参看

科学网—我和余瑞璜先生的缘分(5) - 李世春的博文(缘分5)

有了复杂晶体的AEC数据,不用花费一分钱,就可以写复杂晶体的EET经验电子理论的文章,投稿时有运气,也不需要花费版面费,就可以发表论文。如果英文好,可以投稿英文期刊。

此外,用我的AEC程序,可以学习和体会空间群(要对号入座),这次(SP-225)的程序只能学习No.225空间群。

需要强调的是,我编写计算机程序是按照物理学流程来的。我先在大脑里建立AEC的物理图像,然后再建立能展示物理图像的数学模型,最后用VB6在数学模型的基础上把物理图像数据化,输出容易解读的数据。

AEC程序以230空间群为依托,为了简化编程工作量,一个空间群号,对应一组程序,今天博文里的程序只能对号入座到225号空间群。因为我的主要精力全部聚焦在物理图像和数学模型上,VB编程尽可能地简单。因此,AEC没有任何对话窗口,只有两个数据文件作为入口。这两个数据文件必须用Notepad在英文状态下书写或修改,文件名的后缀必须是.DAT,否则程序不认识或不能正确读取数据。

AEC-SP-225-Crystal.DAT

AEC-SP-225-abc-xyz.DAT

   这两个数据文件(.DAT),是输入数据到AEC唯一的途径,必须放到目录

C:\2026-V1-AEC-SP-225

    否则,AEC程序就找不到这两个数据文件,自然也就无法计算出EET或晶体分解需要的价键参数。

    AEC可以计算复杂晶体的EET键络参数,例如晶胞包含112个原子的复杂晶体BaCaLu2F10,共有24条键。作为例子,我把这个复杂晶体的所有计算数据,也同时打包在压缩文件里。

AEC的4个程序,必须先运行AEC-SP-225-A-Cell-V1(1),然后是AEC-SP-225-Bond-Space-V1(2),最后是AEC-SP-225-Eq-Bond-Number-V1(3)或AEC-SP-225-Local-Cluster-V1(4)。这就是AEC的物理流程,是我按照大脑里的AEC物理图像设计的。

AEC-SP-225的4个程序,可以计算任何复杂晶体(225号空间群)的原子环境数据,晶胞原子数可以达到100多,晶胞原子数太多就溢出了。根据晶体结构数据CIF(Crystallographic Information File),通过修改两个入口数据文件AEC-SP-225-Crystal.DAT和AEC-SP-225-abc-xyz.DAT,就可以计算不同的晶体,但是不能跑出No.225空间群的范围,这次的4个程序(SP-225),只能计算第225号空间群的晶体。

晶体举例1:Al晶体(参见CIF文件)

AEC-SP-225-Crystal.DAT文件的内容:

"AEC-SP-225-Al",0.005

"cell_length_a",4.056

"cell_formula_units_Z",4

    AEC-SP-225-Crystal.DAT文件的数据和格式如上所示,严格要求数字和标点符号,都要在英文状态下修改,否则程序不认识。不认真对待这两个数据文件,必然会失之毫厘(一个标点符号),谬以千里。

1行的0.005是晶体学数据精度判据,参见缘分5

2行的数据是晶格常数(点阵参数);

3行的数据是约化系数,对于Al,Z=4;

 Iα(A)=IM(A)×IS(A)×IK(A,B)/Z

 Iα(B)=IM(B)×IS(B)×IK(A,B)/Z

对于EET的等同键数,必须Iα(A)= Iα(B),才有物理意义。

AEC-SP-225-abc-xyz.DAT文件的内容:

1

4,"4a","Al",0,0,0

1行,是1个数,表示原子只有1种占位;

2行的数据是占位信息,数字小数点标点符号必须在英文状态下修改。

晶体举例2:BaBiO3晶体(参见CIF文件)

AEC-SP-225-Crystal.DAT文件的内容:

"AEC-SP-225-BaBiO3",0.005

"cell_length_a",8.7684

"cell_formula_units_Z",8

AEC-SP-225-abc-xyz.DAT文件的内容:

4

4,"4a","Bi",0,0,0

4,"4b","Bi",0.5,0.5,0.5

8,"8c","Ba",.25,.25,.25

24,"24e","O",0.2610,0,0

晶体举例3:BaCaLu2F10晶体(参见CIF文件)

AEC-SP-225-Crystal.DAT文件的内容:

"AEC-SP-225-BaCaLu2F10",0.005

"cell_length_a",11.336

"cell_formula_units_Z",8

AEC-SP-225-abc-xyz.DAT文件的内容:

4

8,"8c","Ba",.25,.25,.25

24,"24e","Ca/Lu",0.2428,0,0

32,"32f","F",0.1130,0.1130,0.1130

48,"48i","F",0.5,0.1733,0.1733

    如上的数据格式,看似有点重复,第1列和第2列,好像只差一个字母。但是,前者是数字,后者是字符串。这些数据文件虽然有点麻烦,但是我的AEC程序可以很简单,AEC没有对话窗口,是为了我编程简单,因为对话窗口既没有物理图像的含金量,也没有数学模型的含金量,因为我不是程序员,因此,我不需要窗口。在AEC里,我有简明的物理图像,也有好玩的数学模型,因此可以保证AEC能输出正确的原子环境数据。

AEC沿着空间群构建AEC的物理图像

    Crystallographic Information File(CIF)包含很多信息,但是AEC只需要基本的,如下面的PPT所示。

    230空间群包含的信息更多,但是AEC也只需要最基本的,如下面的PPT所示。

需要强调的是,我是在解说和介绍我的AEC程序,而不是讲空间群,我只用了空间群的部分信息,对我的AEC就足够了。需要提醒的是,230空间群里的原子坐标,是在晶体学坐标系给出的。我的AEC数学模型的主体是建立在笛卡尔坐标系,因为数学手册里的公式,绝对多数都是建立在笛卡尔坐标系。因此,在原子坐标数据输出时,我首先输出Cartesian coordinates数据,然后输出Space Group数据。对于非立方晶系,当我告诉你两个原子的笛卡尔坐标时,你立马就可以检验AEC的正确性,用计算器验算一下两点间距离,看看你的计算器屏幕是否和我的相同。

Al、Ag、Au、Cu、Ni,都是面心立方结构,属于No.225号空间群。一般地说,空间群的点位上可以放原子,也可以放分子,如果把分子放到点位上,还需要考虑分子的取向,反倒把问题复杂化了。例如,NaCl属于空间群225,可让Na占位4a,Cl占位4b;也可以让Cl占位4a,Na占位4b。如果把NaCl“绑定”为分子,也可以放到空间群的点位上,这就需要考虑取向,把问题复杂化了。实际上,把原子放在空间群的点位上操作起来最简单,因此以后我直接用原子取代点位,这样叙事更简单明了,我直接用yckoff原子占位,晶胞原子数,原子坐标等概念或名词来叙事讲理。

教科书说,Al、Cu、Ni等,都是面心立方结构,这句话就帮你选择了原子占位。如上面的PPT所示,如果原子占位4a,就是所谓的面心立方。立方晶胞每个面的中心有一个原子,6个面上有6个原子,但是属于该晶胞的份额,是6个1/2,等于3个原子,因为面上的原子为两个晶胞所共有,6个1/2也就是3个原子。因此晶胞的角上也需要有原子,但是角上的原子为8个晶胞所共有,8个1/8等于1,因此,对于面心立方,属于该晶胞的原子共有4个,因此,可占位4a。但是占位4a,涉及到14个原子,也就是说,搭建一个面心立方晶胞需要14个原子,但是该晶胞只能拥有4个原子的份额。

"4a-Al",0,0,0,.125

"4a-Al",0,0,1,.125

"4a-Al",0,.5,.5,.5

"4a-Al",0,1,0,.125

"4a-Al",0,1,1,.125

"4a-Al",.5,0,.5,.5

"4a-Al",.5,.5,0,.5

"4a-Al",.5,.5,1,.5

"4a-Al",.5,1,.5,.5

"4a-Al",1,0,0,.125

"4a-Al",1,0,1,.125

"4a-Al",1,.5,.5,.5

"4a-Al",1,1,0,.125

"4a-Al",1,1,1,.125

    以上表明空间群4a占位的面心立方涉及的所有原子,原子坐标之后的数,是该原子属于该晶胞的份额,求和之后等于4.

毫无疑问,对于面心立方结构,原子也可以占位4b,这就得到了所谓的“棱心立方”,立方体共有12条棱边,占位棱边的原子,只有1/4属于该晶胞,12个1/4等于3,如果占位棱边中心,立方体中心也要占位,在立方体中心的原子,100%属于该晶胞,因此,4b(棱心)占位也共有4个原子,和4a(面心)占位的空间群效果完全相同,也就是说,对于Al、Cu、Ni等,占位4a和占位4b,其空间群效果完全相同,也就是每个原子的原子环境完全相同。换句话说,在点阵空间,你先画一个“面心立方”晶胞框架,再画一个“棱心立方”晶胞框架,把其中一个晶胞框架沿着b方向平移1/2,两个晶胞框架就重合了。这就是面心立方占位4a和占位4b是完全等价的物理图像。

由此可见,AEC不但可以计算晶体的原子环境数据,还可以用来学习空间群,当然了,SP-225程序只能学习No.225空间群。

下面以Al(铝)晶体为例,说明AEC的计算流程。

1)准备入口文件(数据选自CIF数据)

   AEC-SP-225-Crystal.DAT

   AEC-SP-225-abc-xyz.DAT

2)运行AEC-SP-225-A-Cell-V1

   该程序调用了两个晶体学数据文件,运算后输出数据文件AEC-SP-225-Al-SP-Cell-.DAT,这个文件就是空间群晶胞原子占位数据,格式和内容如下:

    你可以欣赏这些数据,但是你别碰她,因为下一个程序要调用这个数据。

3)运行AEC-SP-225-Bond-Space-V1

如果晶胞原子数很多(例如100多个),可能程序要运行10几分钟,因此,要耐心等待。程序运行完毕,输出两个数据文件:

AEC-SP-225-Al-Bond-Space-.DAT

AEC-SP-225-Al-Big-Cell-.DAT

         

通过空间群的平移矢量,我把晶胞扩大了好几倍,得到一个大晶胞(Big Cell),如左边图所示,共有1688个原子,同时给出大晶胞里所有的原子及其原子坐标(笛卡尔)。原子之间的距离,就是化学键的键长,如右边图所示,共有10335条键小于5埃,接下来是组成这条键的两个原子,接下来分别左边原子和右边原子的坐标,先是笛卡尔坐标,然后是空间群坐标。AEC的物理图像是,根据空间群构造大晶胞,计算大晶胞里原子之间的距离,得到一个所谓的键空间。需要强调的是,键长是长度的量纲,需要用尺子来度量,凡是尺子就有个精度的问题。游标卡尺的精度是小数点后两位有效数字,千分尺的精度是小数点后三位有效数字。我在AEC里,用的尺子精度为0.005埃,如果晶体学数据(CIF)有四位真正的有效数字,我选择的精度为0.005埃的尺子就很好用。注意,EET的理论键距和实验键距的判据是0.05埃。请参见缘分5

4)运行AEC-SP-225-Eq-Bond-Number-V1

计算EET的等同键数,同时也给出检验原始晶体学数据(CIF)的EET判据结果,输出数据文件AEC-SP-225-Al-Eq-Bond-Number-.DAT

 Iα(A)=IM(A)×IS(A)×IK(A,B)/Z =12

 Iα(B)=IM(B)×IS(B)×IK(A,B)/Z =12

    EET入门的时候,大家都知道,对于铝(Al),第1条键d= 2.868,等同键数=12。余瑞璜先生的等同键数公式是根据空间群定义的,需要选择参考原子,因为涉及到配位数的问题。配位数是原子的属性,等同键数是键的属性,参见缘分5

AEC-SP-225-Al-Eq-Bond-Number-.DAT数据中,如果Iα(A)  Iα(B),则说明原始的晶体学(CIF)数据有效数字不足,如果把0.005修改为0.05后,仍然不能保证Iα(A) Iα(B),则说明所选用的CIF晶体学数据不能用来计算EET电子结构。如果你要霸王硬上弓,那就不是客观自然科学了,而是人文主观科学了。你发表文章的时候,最好写成“某某晶体人文价键电子结构研究”(O(∩_∩)O)。

5)运行AEC-SP-225-Local-Cluster-V1

如果从原子占位看3D点阵空间,周围的原子是一层一层的,这就是所谓的局域团簇(Local-Cluster),对应的数据文件是AEC-SP-225-Al-Local-Cluster-.DAT和AEC-SP-225-Al-Local-Cluster-.DAT。

SP-225-VB-4.png

这就是所谓的团簇壳层结构,对于铝:第1层,有12个原子;第2层,有6个原子;第3层,有24个原子。AEC给出了每层里每个原子的笛卡尔坐标和空间群坐标。根据我给出的数据,你可以计算每层原子在3D空间的分布形态。

实际上,AEC-SP-225-Al-Eq-Bond-Number-.DAT和AEC-SP-225-Al-Local-Cluster-.DAT对比着看,你就会悟出很多。

 



https://blog.sciencenet.cn/blog-2321-1524334.html

上一篇:路边饮雨水
收藏 IP: 108.172.99.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2026-3-4 16:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部