收藏 分销(赏)

Delphi程序计算不同晶系晶胞参数.doc

上传人:二*** 文档编号:4615566 上传时间:2024-10-07 格式:DOC 页数:18 大小:429KB 下载积分:5 金币
下载 相关 举报
Delphi程序计算不同晶系晶胞参数.doc_第1页
第1页 / 共18页
本文档共18页,全文阅读请下载到手机保存,查看更方便
资源描述
Delphi程序计算不同晶系晶胞参数 平顶山工业职业技术学院基础部 张璐 王静红 邮编:467001 摘要 用Delphi开发了基于Windows平台的计算不同晶系晶胞参数的程序。该程序在Bragg方程和晶面间距公式的基础上运用最小二乘法计算点阵常数,适用于立方、正方、六方、三方、正交和单斜晶系,可进行可视化操作,方便易学,适合推广。对于非专业X射线晶体结构人员,只要得到材料衍射图谱后,能很方便计算晶胞参数,是一款非常实用的应用程序。 关键词: Delphi程序;晶胞参数;最小二乘法;X射线晶体结构。 Abstract Two programs for cell parameter refinement for index of diffraction lines have been worked out using Delphi language on Windows. The programs are based on the Bragg’s equation and the crystal plane distance formulas, by used least square for cell parameter refinement. They are suited to monoclinic, orthogonal, tetragonal, trigonal, hexagonal and cubic crystal system. The programs are very suitable for spread and study because it’s a visual system. If they have the X-ray power diffraction pattern of materials, even if being non-expert on X-ray crystal structure, they can conveniently get the index of diffraction lines and cell parameters. Key words: Delphi program; Cell parameters; Least square; X-ray crystal structure. Delphi程序计算不同晶系晶胞参数 1 前言 利用X射线衍射图精确计算晶体的晶胞参数,近年来愈来愈多地受到矿物、材料、物理、化学等学科的科技工作者的重视。当衍射图的衍射线能标定衍射指数,而且有足够数目时,精确计算晶体晶胞参数主要是采用柯亨(M.U.Cohen)的最小二乘法处理。柯亨的最小二乘法计算公式在推导过程中,对于误差公式的处理不是特别精确,计算晶胞参数的过程就变的非常复杂与烦琐。为了减轻科技人员科研过程中的负担,提高科研效率,特编写了这套Delphi程序。这套测定常用六种晶胞参数的Delphi程序,对于非专业X射线人员,在得到材料衍射图谱后,就能很方便地计算晶胞参数。 2 六种晶系的正则方程和程序图 在实际计算前我们首先使用最小二乘法原理,结合线形几何的一些知识,推出了六种晶系的正则方程,推导过程不再祥述,结果如下: 1、立方晶系( a=b=c) +D’= +D’= 其中:A= 2、正方晶系( a=b) +D’+C= +D’+ C= +D’+ C= 其中:A= 3、六方晶系( a=b) +D’+C= +D’+ C= +D’+ C= 其中A== C= 4、三方晶系 六方晶胞( a=bc) +D’+C= +D’+ C= +D’+ C= 其中A== C= 5、正交晶系( abc) +D’+C+B= +D’+ C+B= +D’+ C+B= +D’+ C+B= 其中:A= B= C= 6、单斜晶系( ) +D’+C+B+F= +D’+ C+B+F= +D’+ C+B+F= +D’+ C+B+F= +D’+ C+B+F = 其中:A= C= B= F=- 在计算以上几个方程的系数时,所需要输入的值都为H、K、L、四个量,据此我们绘制程序图: 1.立方   2.正方   3.六方   4.三方   5.正交 6.单斜 定义函数G=   S= 输入H;K;L;以及X射线波长 1. 定义  2.定义  3.定义  4. 定义 5.定义  6.定义 求和,决定方程组系数和维数 求解方程组,得到A、B、C、F、D’等 1.由A求a   2.由A、C求a、c   3.由A、C求a、c  4. 由A、C求a、c 5.由A、B、C求a、b、c 6.由A、B、C、F求a、b、c、 打印结果 终止 3 示例 3.1 立方晶系 立方晶系晶胞参数计算: 面间距公式: 布拉格方程: 可推知: 其中:N= 已知:NaCl属于立方晶系,Z=4 , ,为常数。 理论数据如下所示: d() l h k L 2.82000 100 2 0 0 1.99404 57 2 2 0 1.62813 16 2 2 2 1.26114 15 4 2 0 1.15126 10 4 2 2 理论值晶胞参数a=b=c=5.64000nm 具体计算步骤: (1) 输入H;K;L;以及X射线波长; (2) 计算d值; (3) 依d值和对应的hkl,求晶胞参数a。 计算值晶胞参数a=b=c=5.63998nm 3.2 正方晶系 正方晶系晶胞参数计算: 面间距公式:1/=()/+ 布拉格方程: 可推知:=A()+c (1) 式中:A= (2) C= (3) A、C均为常数。 求出A、C便知晶胞参数a和c的值,进而可标定各个晶面指数。 已知:SnO2属于正方晶系,Z=2, 理论数据如下所示: d() l h k l 3.35939 100 1 1 0 2.65209 76 1 0 1 2.37545 21 2 0 0 1.76945 53 2 1 1 1.67970 12 2 2 0 理论值晶胞参数a=b=4.75090,c=3.19650 具体计算步骤: (1) 输入H;K;L;以及X射线波长; (2) 计算d值; (3) 依d值和对应的hkl,求晶胞参数a、b、c。 计算值晶胞参数a=b= 3.75091,c=3.19650 平均相关系数ss=1.00000 3.3 六方晶系 六方晶系的晶胞参数a、c可以根据六方晶系的晶胞参数计算公式求出:1/=4()/3+ 布拉格方程: 可推知:= 已知:ZnO属于六方晶系,Z=2, 理论数据如下所示: d() l h k l 2.82740 58 1 0 0 2.60969 42 0 0 2 2.48606 100 1 0 1 1.91768 20 1 0 2 1.63240 28 1 1 0 1.48175 23 1 0 3 1.38395 19 1 1 2 理论值晶胞参数a=b=3.26480,c=5.21939 具体计算步骤: (1) 从X射线峰上可得到对应每个峰值晶面间距的值; (2) 输入H;K;L;以及X射线波长; (3) 计算d值; (4) 用最小二乘法将方程变为y=kx+B,k=1/,B=4/3 其中,y=1/,x= 对于每个衍射峰有与之对应的(x,y),把多组的数据点(x,y)根据最小二乘法原理作图的一条直线,求出其斜率k和截距B就可算出晶胞参数a,c。同时为了提高作图求斜率的精度,作图时可适当把y值放大。在具体计算时为了减少误差,可采用多个样品的XRD衍射峰数据一起进行用最小二乘法画直线求斜率的方法来计算a、c值。 计算值晶胞参数a=b=3.26479nm,c=5.21940nm 3.4正交晶系 正交晶系晶胞参数计算: 面间距公式:1/= 布拉格方程: 可推知:=() 已知:WO3属于正交晶系,Z=8, 理论数据如下所示: d() l h k l 3.84419 98 0 0 2 3.76948 95 0 2 0 3.65021 100 2 0 0 3.42467 1 0 1 2 3.34935 19 1 2 0 2.69145 38 0 2 2 2.66785 24 -2 0 2 2.62224 57 2 0 2 2.53429 6 -1 2 2 理论值晶胞参数a=7.30131,b=7.53895,c=7.68932 具体计算步骤: (1) 输入H;K;L;以及X射线波长; (2) 计算d值; (3) 依d值和对应的hkl,求晶胞参数a、b、c。 计算值晶胞参数a=7.29284 ,b=7.55270 ,c=7.69216 3.5 三方晶系 三方晶系六方晶胞晶胞参数计算: 面间距公式:1/=4()/3+ 布拉格方程: 可推知= 已知:砷铅铁矾粉晶属于三方晶系, 理论数据如下所示: d() l h k l 5.99 80 1 0 1 5.72 20 0 0 3 3.67 70 1 1 0 3.54 20 1 0 4 3.08 100 1 1 3 2.97 30 2 0 2 2.84 50 0 0 6 2.54 50 0 2 4 理论值晶胞参数a=b=7.32nm,c=17.02nm 具体计算步骤: (1) 从X射线峰上可得到对应每个峰值晶面间距的值; (2) 输入H;K;L;以及X射线波长; (3) 计算d值; (4) 用最小二乘法将方程变为y=kx+B,k=1/,B=4/3 其中,y=1/,x= 对于每个衍射峰有与之对应的(x,y),把多组的数据点(x,y)根据最小二乘法原理作图的一条直线,求出其斜率k和截距B就可算出晶胞参数a,c。在具体计算时为了减少误差,可采用多个样品的XRD衍射峰数据一起进行用最小二乘法画直线求斜率的方法来计算a、c值。具体计算方法同六方晶系。 计算值晶胞参数a=b=7.322nm,c=17.04nm 3.6 单斜晶系 ZnWO4属于单斜晶系,文献晶胞参数值:a=0.4720nm,b=0.5700nm,c=0.4950nm,=90.08 ,XRD数据如下: d() l h k l 0.572 10 0 1 0 5.72 20 0 0 3 3.67 70 1 1 0 3.54 20 1 0 4 3.08 100 1 1 3 2.97 30 2 0 2 2.84 50 0 0 6 2.54 50 0 2 4 可用下式求出其晶胞参数a、b、c和: 1/=/++- (6) 应用此式,除可直接求出外,其余的几个常数都必须分几步来求。 (1) 选一个,求出; (2) 选一个,求出; (3) 选一个,求出; (4) 选一个,将步骤(1)、(2)和(3)的结果代入(6)式即可求出,从而求出值; (5) 将值再代回步骤(2)和(3),分别求出和的值。 为了得到较准确的结果,要选择合适的(hkl)进行计算。计算中应掌握以下两个原则: (1) 选择的(hkl)应对应尽可能大的; (2) 尽量不选择(001),(100),(010)进行计算,因为这时衍射角较小,造成晶面间距d值误差较大。 针对以上原则,选择(002),(020)和(211)进行计算,以其中一组数据为例计算如下: (1) 选(020),得b=0.56966 (2) 选(002),得=0.49322 (3) 选(200),得=0.4682 (4) 选(211),并将(1)(2)(3)的结果代入(6)式,于是得到=0.0098,从而得= 由于在单斜晶系中,一般取,故 (5) 再用(2)和(3)得到:a=0.46822nm,c=0.49324nm 4 结语 4.1由以上六种晶系晶体晶胞参数的具体计算过程可以看出,该Delphi程序可以比较准确地计算出各种晶体的晶胞参数,证明了此程序的实用性。 4.2程序中含有立方、正方、六方、三方、正交、单斜等晶系的计算,可根据程序的提示进行选择,因此程序的使用非常方便,晶系选定后只要输入相应的h、k、l、以及X射线的波长即可得到结果。 4.3该程序是基于Windows平台开发出的,可进行可视化操作,操作简单,方便易学,对于非专业X射线晶体结构人员,只要得到材料衍射图谱后,能很方便计算晶胞参数,实用性强,有利于推广使用。 附:源程序(本文省略,需用者与作者联系) 5 参考文献 [1] 臧竞存、董冶长、詹永玲等,双掺Cr、Nd、ZW晶体的光性,热学和激光性能,激光技术,1997; [2] 梁敬魁,粉末衍射法测定晶体结构,科学出版社,北京,2003; [3] 周公度,晶体结构测定,科学出版社,北京,1981; [4] 梁栋材,X射线晶体学基础,科学出版社,北京,1991; [5] 黄正瑞,实用编程技巧大全,科学技术文献出版社,北京,1993; [6] 何培民,微型计算机软件速查手册,清华大学出版社,北京,1992; [7][美]R.哈茨霍恩,代数几何,中文译本,科学出版社,北京,2001; [8] 周培德,计算几何,清华大学出版社,广西科学技术出版社,北京,2000。 作者简介: 张璐,女,1982年生,吉林省公主岭市人,助教,本科,理学学士,主要研究方向为物理化学 电话:13783232212 E-Mail: lulu82922@ 王静红,女,1969年生,河南省平顶山市,讲师,理学学士,主要研究方向为分析化学
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服