Delphi程序计算不同晶系晶胞参数AbstractTwoprogramsforcellparameterrefinementforindexofdiffractionlineshavebeenworkedoutusingDelphilanguageonWindows.TheprogramsarebasedontheBragg’sequationandthecrystalplanedistanceformulas,byusedleastsquareforcellparameterrefinement.Theyaresuitedtomonoclinic,orthogonal,tetragonal,trigonal,hexagonalandcubiccrystalsystem.Theprogramsareverysuitableforspreadandstudybecauseit’savisualsystem.IftheyhavetheX-raypowerdiffractionpatternofmaterials,evenifbeingnon-expertonX-raycrystalstructure,theycanconvenientlygettheindexofdiffractionlinesandcellparameters.Keywords:Delphiprogram;Cellparameters;Leastsquare;X-raycrystalstructure.Delphi程序计算不同晶系晶胞参数1前言利用X射线衍射图精确计算晶体的晶胞参数,近年来愈来愈多地受到矿物、材料、物理、化学等学科的科技工作者的重视。当衍射图的衍射线能标定衍射指数,而且有足够数目时,精确计算晶体晶胞参数主要是采用柯亨(M.U.Cohen)的最小二乘法处理。柯亨的最小二乘法计算公式在推导过程中,对于误差公式的处理不是特别精确,计算晶胞参数的过程就变的非常复杂与烦琐。为了减轻科技人员科研过程中的负担,提高科研效率,特编写了这套Delphi程序。这套测定常用六种晶胞参数的Delphi程序,对于非专业X射线人员,在得到材料衍射图谱后,就能很方便地计算晶胞参数。2六种晶系的正则方程和程序图在实际计算前我们首先使用最小二乘法原理,结合线形几何的一些知识,推出了六种晶系的正则方程,推导过程不再祥述,结果如下:1、立方晶系(090a=b=c)niiA12+D’niii1=nii12sinniiiA1+D’nii12=nii12sin其中:A=24/a),(222LKH2sin1022、正方晶系(090a=b)niiA12+D’niii1+Cniii1=nii12sinniiiA1+D’nii12+Cniii1=nii12sinniiiA1+D’niii1+Cnii12=nii12sin其中:A=224/a22KH3、六方晶系(0900120a=b)niiA12+D’niii1+Cniii1=nii12sinniiiA1+D’nii12+Cniii1=nii12sinniiiA1+D’niii1+Cnii12=nii12sin其中A==223/a22KHKHC=224/a2L2sin1024、三方晶系六方晶胞(0900120a=bc)niiA12+D’niii1+Cniii1=nii12sinniiiA1+D’nii12+Cniii1=nii12sinniiiA1+D’niii1+Cnii12=nii12sin其中A==223/a22KHKHC=224/a2L2sin1025、正交晶系(090abc)niiA12+D’niii1+Cniii1+Bniii1=nii12sinniiiA1+D’nii12+Cniii1+Bniii1=nii12sinniiiA1+D’niii1+Cnii12+Bniii1=nii12sinniiiA1+D’niii1+Cniii1+Bnii12=nii12sin其中:A=224/aB=224/bC=224/c2H2K2L2sin1026、单斜晶系(090090cba)niiA12+D’niii1+Cniii1+Bniii1+Fniii1=nii12sinniiiA1+D’nii12+Cniii1+Bniii1+Fniii1=nii12sinniiiA1+D’niii1+Cnii12+Bniii1+Fniii1=nii12sinniiiA1+D’niii1+Cniii1+Bnii12+Fniii1=nii12sinniiiA1+D’niii1+Cniii1+Bniii1+Fnii12=nii12sin其中:A=222sin4/aC=222sin4/cB=224/bF=-22sin4/cosac2H2K2LHL22sin102在计算以上几个方程的系数时,所需要输入的值都为H、K、L、2四个量,据此我们绘制程序图:1.立方2.正方3.六方4.三方5.正交6.单斜定义函数G=2sin102S=2sin输入H;K;L;2以及X射线波长1.定义2.定义、3.定义、4.定义、5.定义、、6.定义、、、求和,决定方程组系数和维数求解方程组,得到A、B、C、F、D’等1.由A求a2.由A、C求a、c3.由A、C求a、c4.由A、C求a、c5.由A、B、C求a、b、c6.由A、B、C、F求a、b、c、打印结果终止3示例3.1立方晶系立方晶系晶胞参数计算:面间距公式:)/(2222lkhad布拉格方程:sin2d可推知:2224//sinaNsin2/dNda/其中:N=222lkh已知:NaCl属于立方晶系,Z=4,AkCu05406.1,224/a为常数。理论数据如下所示:d(A0)lhkL2.820001002001.99404572201.62813162221.26114154201.1512610422理论值晶胞参数a=b=c=5.64000nm具体计算步骤:(1)输入H;K;L;2以及X射线波长;(2)计算d值;(3)依d值和对应的hkl,求晶胞参数a。计算值晶胞参数a=b=c=5.63998nm3.2正方晶系正方晶系晶胞参数计算:面间距公式:1/2d=(22kh)/2a+22/cl布拉格方程:sin2d可推知:2sin=A(22kh)+c2l(1)式中:A=224/a(2)C=224/c(3)A、C均为常数。求出A、C便知晶胞参数a和c的值,进而可标定各个晶面指数。已知:SnO2属于正方晶系,Z=2,AkCu05406.1理论数据如下所示:d(A0)lhkl3.359391001102.65209761012.37545212001.76945532111.6797012220理论值晶胞参数a=b=4.75090,c=3.19650具体计算步骤:(1)输入H;K;L;2以及X射线波长;(2)计算d值;(3)依d值和对应的hkl,求晶胞参数a、b、c。计算值晶胞参数a=b=3.75091,c=3.19650平均相关系数ss=1.000003.3六方晶系六方晶系的晶胞参数a、c可以根据六方晶系的晶胞参数计算公式求出:1/2d=4(hkkh22)/32a+22/cl布拉格方程:sin2d可推知:2sin=222222223)(16/3lahkkhcca已知:ZnO属于六方晶系,Z=2,AkCu05406.1理论数据如下所示:d(A0)lhkl2.82740581002.60969420022.486061001011.91768201021.63240281101.48175231031.3839519112理论值晶胞参数a=b=3.26480,c=5.21939具体计算步骤:(1)从X射线峰上可得到对应每个峰值晶面间距的2值;(2)输入H;K;L;2以及X射线波长;(3)计算d值;(4)用最小二乘法将方程变为y=kx+B,k=1/2c,B=4/32a其中,y=1/222)(dkhkh,x=)/(222khkhl对于每个衍射峰有与之对应的(x,y),把多组的数据点(x,y)根据最小二乘法原理作图的一条直线,求出其斜率k和截距B就可算出晶胞参数a,c。同时为了提高作图求斜率的精度,作图时可适当把y值放大。在具体计算时为了减少误差,可采用多个样品的XRD衍射峰数据一起进行用最小二乘法画直线求斜率的方法来计算a、c值。计算值晶胞参数a=b=3.26479nm,c=5.21940nm3.4正交晶系正交晶系晶胞参数计算:面间距公式:1/2d=222222///clbkah布拉格方程:sin2d可推知:2sin=4/2(222222///clbkah)已知:WO3属于正交晶系,Z=8,AkCu05406.1理论数据如下所示:d(A0)lhkl3.84419980023.76948950203.650211002003.4246710123.34935191202.69145380222.6678524-2022.62224572022.534296-122理论值晶胞参数a=7.30131,b=7.53895,c=7.68932具体计算步骤:(1)输入H;K;L;2以及X射线波长;(2)计算d值;(3)依d值和对应的hkl,求晶胞参数a、b、c。计算值晶胞参数a=7.29284,b=7.55270,c=7.692163.5三方晶系三方晶系六方晶胞晶胞参数计算:面间距公式:1/2d=4(hkkh22)/32a+22/cl布拉格方程:sin2d可推知2sin=222222223)(16/3lahkkhcca已知:砷铅铁矾粉晶属于三方晶系,AkCu05406.1理论数据如下所示:d(A0)lhkl5.99801015.72200033.67701103.54201043.081001132.97302022.84500062.5450024理论值晶胞参数a=b=7.32nm,c=17.02nm具体计算步骤:(1)从X射线峰上可得到对应每个峰值晶面间距的2值;(2)输入H;K;L;2以及X射线波长;(3)计算d值;(4)用最小二乘法将方程变为y=kx+B,k=1/2c,B=4/32a其中,y=1/222)(dkhkh,x=)/(222khkhl对于每个衍射峰有与之对应的(x,y),把多组的数据点(x,y)根据最小二乘法原理作图的一条直线,求出其斜率k和截距B就可算出晶胞参数a,c。在具体计算时为了减少误差,可采用多个样品的XRD衍射峰数据一起进行用最小二乘法画直线求斜率的方法来计算a、c值。具体计算方法同六方晶系。计算值晶胞参数a=b=7.322nm,c=17.04nm3.6单斜晶系ZnWO4属于单斜晶系,文献晶胞参数值:a=0.4720nm,b=0.5700nm,c