material 版 (精华区)

发信人: Knox (又开始了!_!), 信区: material       
标  题: fcc和bcc中等距近邻原子数计算
发信站: BBS 听涛站 (Sun Dec 19 22:54:51 2004), 转信

本学期杨志刚老师的非晶课上的一个作业是要求
计算fcc到某一固定原子等距离的原子数目
也就是常说的一级近邻12个,二级近邻6个......
要求计算到13层。

记得当年韦姐姐也曾留过类似的问题,
还记得当时画图、掰着手指头数的痛苦,
而且还要求计算madelung常数来者,
最后好像大家都不会就作罢了。

感觉这个问题应该是有规律的,不能一直画图数下去吧
然后偶然发现存在这样一个算法,适用于fcc和bcc的此种计算

下面简要说说这种算法,和据此计算madelung常数的方法
最后附有一个用于计算的java程序,
希望对以后的学弟、学妹们有所帮助:)

1、搞定近邻级别的划分方法
以某一原子为原点在晶体内建立空间直角坐标系,
x,y,z轴分别是fcc晶胞的三个互相垂直边。
于是fcc中的每一个原子都得到一个坐标(n1,n2,n3)
但是注意不能把fcc的晶胞边长作为坐标单位,
因为这样fcc中将有一些原子的坐标值为分数,不便计算
所以取fcc晶胞边长的1/2为坐标单位,这不影响最终结果。
该原子到原点原子的距离为l=sqrt(n1^2 + n2^2 + n3^2)
以l的数值由小到大划分近邻级别。
其中值得注意的是,不同组的(n1,n2,n3)可能有相同的l值
如(441)和(330)

2、按照上述建立坐标系的方法,确定fcc或者bcc的所有原子的坐标
这里有一个规律,对于fcc而言,坐标的三个指数中
有0个或2个奇数时,该坐标点才是有原子的,
而bcc中三个坐标全奇或全偶时,该坐标点有原子。
呵呵,这有点像x光衍射结构因子计算中的规律。
例如,在fcc中,坐标(110)处有原子,而(111)处没有原子
bcc中恰好相反。

3、近邻原子数计算
确定了fcc中那些原子的坐标之后,对这些坐标指数进行分析
就可以计算近邻原子数了。

下面以<310>为例,分析其中的规律
我注意到其中存在如下规律:
1) 近邻原子数的计算公式可以用下式表达
N = 8*q*p
下面依次介绍公式各部分含义:

2) 8就是空间坐标系的卦限数,
因为我们是根据一个卦限内的情况计算的,所以最后要乘以8
3) q是这样决定的,当晶面族指数(坐标)中有一个0时,
此时对应的原子在卦限相邻的坐标平面上,被两个卦限共有,所以q=1/2;
当指数中有两个0时,对应原子应该在卦限相邻的坐标轴上,
为4个卦限共有,所以q=1/4;没有0时,q=1,为一个卦限独有。
4) p是这样决定的,如果n1=n2=n3,则p=1;
如果n1=n2或者n1=n3或者n2=n3,则p=3;
如果n1,n2,n3各不相等,则p=6。
这个规律大家可以通过fcc晶体最初的几层发现


这样我们设计一个程序,对于所有晶向族通过一个三重循环进行分析
当然要人为规定终点,如<10 10 10>,然后对这些晶向按照2,3依次
进行判断,符合要求的晶向将被计算,结果记入一个链表,每次将新结果
进行插入排序。最后将结果输出。

我计算了一下,取前几十层如下:
1 1 0        2        12
2 0 0        4        6
2 1 1        6        24
2 2 0        8        12
3 1 0        10        24
2 2 2        12        8
3 2 1        14        48
4 0 0        16        6
4 1 1        18        24
3 3 0        18        12
4 2 0        20        24
3 3 2        22        24
4 2 2        24        24
5 1 0        26        24
4 3 1        26        48
5 2 1        30        48
4 4 0        32        12
5 3 0        34        24
4 3 3        34        24
6 0 0        36        6
4 4 2        36        24
6 1 1        38        24
5 3 2        38        48
6 2 0        40        24
5 4 1        42        48
6 2 2        44        24
6 3 1        46        48
4 4 4        48        8
7 1 0        50        24
5 5 0        50        12
5 4 3        50        48
6 4 0        52        24
其中前面的是晶向指数,中间的是到原点距离平方(注意坐标单位是1/2fcc晶胞边长)
,最后的是配位数。前13层计算结果和标准答案一致。注意<411>和<330>到原点距离
一样,所以这一层配位数为24+12=36。

呵呵,太长了,madelung常数的计算方法下次再贴,可以利用上面已有的结果做到。


附录是我计算上述结果的源程序,对Layout.java源文件适当修改可以计算bcc的结果
还可以计算任意层数的结果。
内有使用说明,不过由于时间原因,没有做注释,估计参考价值不大。
不过可以运行看看。

--

※ 来源:·BBS 听涛站 tingtao.net·[FROM: 219.224.175.34]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.152毫秒