粉末衍射解析结构的方法.docx
- 文档编号:6500264
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:22
- 大小:366.24KB
粉末衍射解析结构的方法.docx
《粉末衍射解析结构的方法.docx》由会员分享,可在线阅读,更多相关《粉末衍射解析结构的方法.docx(22页珍藏版)》请在冰豆网上搜索。
粉末衍射解析结构的方法
粉末衍射解析结构的方法
粉末衍射解析结构的原理与计算软件
在多晶衍射装置中,众多小单晶在三维空间的衍射被压成一堆,失去了各hkl衍射的方向性。
衍射峰间的对称性重叠模糊了每个hkl衍射强度分布曲线的轮廓,使得单晶结构分析中的最小二乘法结构修正法不能用于多晶衍射,因而通过粉末来解析结构是件相当困难的事情,以至于长期以来,粉末衍射法主要被当做物相鉴定的工具,蕴藏在粉末衍射图中丰富的结构信息无法提取。
1967年,H.M.Rietveld鉴于计算机处理大量数据的能力,在中子粉末衍射结构分析中提出了全谱粉末衍射图最小二乘法拟合结构修正法,并取得了很大的成功。
1977年Malmros和Thomas,Young等人把这个方法引入到X射线粉末衍射分析中,从此,Rietveld分析方法的研究及在固体粉末材料中的应用开始迅速发展,在近年来达到了高峰。
当然Rietveld分析方法并不是一种解析结构的方法,但它解析结构的优化与可靠性验证提供了强有力的手段。
尤其是随着计算机技术的发展,一些新的实验技术如高分辨同步辐射、飞行时间脉冲中子衍射等的出现,使得通过粉末衍射数据来解析晶体结构的方法取得了突破性的进展,其中以Rietveld分析为精化手段的经验法和解析单晶的方法与Rietveld方法相结合的从头算法逐渐被人所接受。
经验法解析结构的关键是找到合适的“模板”,即结构与之类似的且结构已知的化合物。
这一方法对于长期从事结构研究的专家是非常有用的,他们能很准确的判断与未知化合物结构类似的化合物。
在此基础上,使用已知化合物的结构参数通过Rietveld分析方法来精化这些参数使之与未知化合物的粉末衍射数据一致,从而得到未知化合物的结构参数。
在经验法中还有一种试差法,即人为的建立一个结构模型,然后应用Rietveld分析方法来精化结构参数,并不断的调整结构模型。
以该思想为代表的有MonteCarle法和globalandParetooptimization法。
经验法中的这两种思想都有其优缺点,前者解析方法简单,但不易找到好的结构模型,后者解析方法复杂,计算量大,但它能找到非常好的结构模型,即使没有“模板”。
经验法解析结构的思路可由图2.1所示:
由于经验是如此的依赖“模板”的选择,因而如果不慎选择了“错误”的“模板”,那对所得到的结果将是灾难性的。
在对未知化合物的结构信息很少甚至一无所知的情况下,经验法是不适用的。
尽管如此,对于一些简单的无机化合物,试差法具有无可比拟的优势。
由于计算机技术的迅速发展,大量的计算能经计算机在短时间内得到处理,使得解析单晶的方法在粉末衍射解析结构领域得到了应用。
解析单晶方法与Rietveld分析方法相结合来解析粉末衍射结构的过程称为“从头结构测定法”。
从头算法要求尽可能的把重叠峰分开,获得更多独立的Ihkl强度积分项来计算结构因子,同时通过直接法或Patterson法来解决相角问题。
在初步获得结构模型后,用Rietveld分析方法来优化结构参数。
与经验法相比,从头算法不依赖“模板”的选择,也不象试差法那样盲目,它具有方法简单,准确性高的优点。
但从头算法也有缺点,那就是Ihkl强度项的准确性不易获得,而且各重叠峰也难于分离,这很大程度上影响了计算的结构模型的准确性。
不过高分辨同步辐射技术以及中子衍射技术在很大程度上弥补了这一缺陷。
图2.2为从头算法的思路图;
不论是经验法也好,还是从头算法也好,在解析结构过程中都会有大量的计算,对于解析流程中的任一步,如果使用人工计算的话,那都是即麻烦又容易出错的过程,而且解析结构的人还必须具有很高的晶体学知识。
因而对于解析过程中的每一步都必须找到相应的软件来完成,缺少其中任何一个软件,解析过程可能会变得相当痛苦。
寻找各种现有的软件,并把他们合理的组合在各个环节上是本论文的一个创新点,他使得从粉末法解析结构的过程成为一个“黑匣子”。
通过本论文的组织与阐述,使得解析结构的人即使只具有很少的晶体学知识也能很轻松的完成从粉末解析结构的过程。
本论将在以下章节中详细的介绍流程中各环节的基本原理与相对应的程序包的使用。
2.1粉末衍射中常用的数据类型与转换
在收集粉末衍射时,由于使用的仪器型号与生产厂家不同,造成计算机记录的文件类型不一致,给数据处理与分析造成了一定的麻烦。
同时,各种不同的应用程序在进行数据输入时也要求不同的数据格式。
仪器在最先所收集到的原始数据并不是ASCII文件,因而并不是通用的,在使用前也需进行转换。
表2.1-1给出了各种不同类型的的数据。
表2.1-1常用的数据格式与类型
类型
格式
PhilipsVXD
原始数据
.rd
Siemens
原始数据
.raw
PhilipsBinary
二进制
.rd,.sd
Sietronics
强度数据
.cpi
GSAS
强度数据
.dat
ASCIIX-Y
角度+强度
.xy
Fullprof
强度数据
.dat
TsingHuaRigaku
原始数据
.usr
ALLHKL
强度数据
.pow
ScanPI
强度数据
.int
了解这些数据的转化与使用,为得心应手的使用各种应用程序打下很好的基础。
显然靠人工完成这些数据的转换,其计算量是非常大的。
有许多应用程序专门被用来进行数据转换,表2.1-2给出了目前常用的数据格式转换程序极其应用
表2.1-2常用的格式转换程序与应用
输入格式
输出格式
ConvX
.rd,.dat,.raw,.cpi,.xy,.int
.rd,.dat,.raw,.cpi,.xy,.int
DLConvert
各种原始数据
.dat,.cpi,.xy
MacDiffforMac
各种原始数据
.cpi,.dat
Powderv2.00
.rd,.dat,.raw,.cpi,.xy,.int
.rd,.dat,.raw,.cpi,.xy,.int
PowderX
.rd,.dat,.raw,.cpi,.xy,.int
.rd,.dat,.raw,.cpi,.xy,.int,.pow
PowF
各种原始数据
.xy,.dat
Specon
MCA文件
MCA文件
Winfit
各种原始数据
.rd,.raw,.xy,
从表2.1-2中可以看到,各个应用程序的应用领域是不一样的,各自都有自己独特的用途,但Convx和PowderX所支持的数据格式要比其他程序要广一些。
除开由于特别仪器所生成特有的原始文件外,Convx和PowderX能够转换大部分的常用应用数据格式和原始数据格式。
PowderX与Convx相比,具有一个很大的优点,那就是它能转化生成结构解析程序Expo所特有的.pow文件,这也是其他各种应用程序都不具备的特点。
实际上PowerX程序包并不是一个专门用来进行数据转换的,它还具有处理原始数据、图形显示、寻峰、峰型拟合以及集成了指标化程序的功能。
2.2峰型拟合与寻峰
峰型拟合与寻峰这一步工作的核心就是获得更精确的角度与强度数据,为此必须要考虑到仪器和样品的各种因素。
显然如果这部分工作出现错误的话,将直接影响到后面的指标化过程的结果。
粉末衍射图中衍射峰型是仪器特征峰型和样品特征峰型的卷积。
常规的角分散衍射仪,其仪器峰型是光学系统、波长分布以及样品诱导的几何与物理因素的综合,随2θ的变化而平滑的变化。
高角度部分峰型的宽化是光谱分散主导的结果,具有柯西分布特征,而低角度部分宽化是轴发散的主导结果,呈高斯分布。
样品的特征峰型是样品的晶体学性质与力学性质的综合表现,如晶粒尺寸引起的宽化效应以及应力所引起的宽化效应等等。
在粉末衍射中,仪器与样品的特征峰型是可以模拟的,它的基本参数包括峰型函数、峰宽函数以及背景函数。
峰型拟合与寻峰过程主要就是在给定的实验条件下,模拟样品的衍射峰型、峰宽以及背景,并与样品的测试谱图进行比较,然后通过最小二乘方法得到最佳的角度值与强度值。
表2.2-1给出了常用的峰型函数的类型以及其独立参数。
表2.2-1常用的峰型函数的类型以及其独立参数
UnitareaGaussian
G=(g1/h)exp(g2x2/h2)
whereg1=2(ln
(2)/π)½andg2=-4ln
(2)
UnitareaLorentzian
L=(l1/h)/(1+l2x2/h2)
wherel1=2/πandl2=4
UnitareaPV
PV=(ηL+(1-η)G)
whereh=FWHM
UnitareaPVII
PVII=[(1+b1x2)-m1+(1+b2x2)-m2]/a
wherea=½Γ(½)[Γ(m1-½)/(Γ(m1)b1½)+Γ(m2-½)/(Γ(m2)b2½)]
b1=4(21/m1-1)/
andb2=4(21/m2-1)/
在X射线衍射中,峰形常常是不对称的,因此对同一个衍射峰采用对开拟合,即对峰的一半采用某种峰形函数而另一半则采用不同的峰形函数。
对于峰宽函数,一般而言采用下式来进行拟合:
Hk2=Utan2θk+Vtanθk+W
式中U、V、W称为峰宽参数,当然不同峰形函数应采用不同的峰宽函数。
对于不对称的衍射峰,在做对开拟合时,用于左右两半峰宽函数中的峰宽参数也不一样。
总之影响峰宽的因素有很多,通过对峰宽函数的拟合能求出各种材料的微结构参数。
背景是衍射谱中所必然包含的,它是由样品产生的荧光、探测器的噪声、样品的热漫散射、非相干散射、样品中的无序和非晶部分、空气和狭峰造成的散射合成而成,如何正确的计算背景强度,并从实测强度去减去背景强度是得到准确的衍射强度的关键。
背景强度计算的最简单的方法是在衍射谱图上选择一些与衍射峰相隔比较远的点,通过内插法实现背景模拟,但这种方法只能在衍射峰分离较好、能在衍射峰间找能代表背景的点的较简单的衍射谱图中应用,在多数情况下,背景是随2θ变化而变化的,是2θ的函数。
常用的函数有很多,也各有优缺点如Wiles和Young使用的:
Y=B0+B1TTi+……+B5TTi5(B为背景系数,而TTi为2θ-90)
Larson和VonDreeles使用:
Y=B1+ΣjBjcos2θj-1j=2,12
Hill和Madsen使用的是:
Y=Σβm(2θ)m
XFIT程序包正是在上述原理的基础上所编写专门用于粉末衍射峰型拟合以及寻峰的程序,它将我们所熟悉的PseudoVoigt(PV)峰形函数、SplitPeatson(PVII)峰形函数与FundamentalParameters的卷积整和在一起来生成线形衍射峰形,这种整和生成峰形的策略使得在粉末衍射中的任何一个衍射峰都能通过选择不同的峰形函数以及波长文件来生成。
例如一个衍射峰可以由PVII峰形函数以及Kα1来描述其峰形,而使用高斯函数来模拟应力宽化效应,络仑兹函数来模拟晶粒宽化效应等等。
通过XFIT程序分析后,不仅通过使用FundamentalParameters来获得准确的2θ及误差,而且也能准确的描述各个衍射峰的宽化特性;经过背景计算后,程序还给出了每个衍射峰的实际强度值与误差。
这些数据将被存储为文本文件而直接用于指标化过程。
使用XFIT程序并不是一个复杂的过程,由于其强大的功能和程序化的步骤,使用者完全可以在不了解峰形拟合与寻峰原理的前提下,通过正确的使用步骤来输入正确的参数就可以完成对数据的处理过程,从而获得良好的输出数据,并直接用于指标化程序。
XFIT提供了一个可视化界面,如果在拟合过程中峰形出现了明显的不匹配,这就意味着峰值选择有错误。
在处理由于衍射峰不对称而造成的问题,比较经验法确定峰值而言,XFIT能根据所输入的参数来建立一个模型,从而消除不对称所造成的误解。
XFIT只能计算出现在可视化界面内的谱图,这为解决衍射峰重叠的难题提供了一个有力的手段,可以通过放大谱图来选择实际的拟合与寻峰范围,以便获得更精确的解。
XFIT程序是按如下步骤来完成数据处理的:
1.读取数据文件,格式为Riet(*.dat)格式,其来源是通过PowderX对原始数据变换得到。
2.设置波长文件(*.lam),波长文件为XFIT中特有的格式,选择合适的即可。
3.设置背景参数,即背景多项式以确定背景计算公式
4.设置仪器与样品参数,如果在不知这些参数的前提下可以使用默认值。
5.在所显示的图形界面上,通过使用鼠标的左右键不停的放缩图形来选择准确的峰值,这一峰值并非最终的输出结果而是峰型拟合的输入值,与最终结果是有差异的,当然这种差异应该是很小的。
在这个过程中可选择合适的峰形函数
6.设置晶粒与应力参数来计算宽化效应。
7.优化(最小二乘方法)
8.屏蔽晶粒与应力造成的宽化效应,再次优化
9.计算各参数的误差
10.输出文本文件
图2.2-1给出了XFIT的参数设置界面,通过该界面就可以完成不同参数的输入以及完成优化过程。
图2.2-1XFIT的参数设置界面
2.3指标化过程
指标化过程是由粉末衍射数据解析晶体结构过程中很重要的一个环节,它的内容包括测定晶胞的形状和大小、测定晶胞中原子或者分子的数目以及计算衍射谱图上每个衍射峰的密勒指数。
常用的计算方法有两大类:
第一类为是图解法,适用于立方、四方和六方晶系;第二类为分析法,原则上对所有晶系都适用。
这两类计算方法都依赖于表2.3-1中所列的计算公式:
表2.3-1各晶系的d值计算公式
单斜
正交
六方和三方
四方
立方
指标化过程的难度并不在于计算过程有多复杂,而在于杂质峰和系统消光的存在。
杂质峰的存在会极大的影响指标化的结果,往往会导致错误的结果;而系统消光的存在则导致对前几个衍射峰的密勒指数的指定出现多种选择,这样可能会出现好几个可以接受的结果。
一般而言,对所有衍射峰,如果每个衍射峰的Q值的实验值与计算值之间的误差小于0.0005,就可以认为指标化过程是成功的。
但对于收集质量不好的数据,即使没有杂峰也不能保证用正确的结果来指标化每一条衍射峰。
DeWolff提出了用品质因子作为粉末衍射指标化结果可靠性的判据:
Mt=Qt/2ε*Nt
t表示所选择的衍射线的数目,尽可能选取低角度的衍射
Mt品质因子
ε前t条线的Q值的平均偏差
Qt第t条线的实测Q值
Nt前t条线中被指标化的线数
如果前t条线至多有两条未指标化,当Mt>10,表明指标化基本正确;当Mt〈6,表明指标化结果值得怀疑;当Mt〈3,显然指标化结果就没有什么意义了。
对于低对称性晶系,t的最佳值为20。
指标化过程的第一步应该是在衍射数据中除掉杂质峰,这对于已知化合物的已知相态,这是很容易做到的。
但对于未知化合物或者未知相态,这是很难的。
通常采用的手段就是在指标化过程中采用叠代法,主区测试法等等。
指标化过程的第二步应该是晶系的识别,衍射线的数目越少,识别也越困难。
高对称性晶系一般好识别,而低对称性晶系则比较困难。
在识别较困难的时候,一般采用试差法,选用不同的公式来进行指标化,这样可能会得到很多种可以接受的解。
立方晶系的指标化过程是最简单的,因为Q值为
Q=A(h2+k2+l2)A为常数
将所得Q计算出来后,求出它们的比值,并使得所有比值都为整数解。
如果第一个衍射峰的值为1,则表明其密勒指数为100;为2则密勒指数为110;依次类推。
通常由于系统消光现象,并不能肯定第一个衍射峰的Q值到底为多少。
在选定了第一个衍射峰的密勒指数后,其他衍射峰的密勒指数也随之确定。
求出比例常数A就可以计算出晶胞参数a了。
当然为获得更精确的值,在计算过程中还有一个最小二乘方的优化。
四方和六方晶系采用图解法可以更加简单清晰地完成指标化过程。
将四方和六方的面间距公式取对数得
四方:
logd=loga-0.5log[(h2+k2)+l2a2/c2]
六方:
logd=loga-0.5log[4/3(h2+hk+k2)+l2a2/c2]
在公式中不考虑a的取值,令hkl为100,010,001,200……等值,这样会得到一系列的对数曲线,以c/a为纵轴,以logd为横轴将这些曲线分布在同一张图里,这样就分别得到了四方和六方晶系的指标化图。
从原则上讲,除非单包尺寸太大或者消光失去的反射数量太多,用该图来指标化四方和六方晶系应该是能成功的。
当c/a=1时,四方晶系图也可以用来指标化立方晶系。
在使用该图时,将所收集到的所有d值的对数值标记在一张水平的尺上;将该尺从原点出发,垂直于Y轴向上移动,当尺上每个点都能落在图上的某一条对数曲线上时,读出纵轴的c/a值,根据公式再计算出a值。
点所在的对数曲线所对应的hkl值即为该点对应的衍射峰的密勒指数。
当然为获得更精确的值,在计算过程中还有一个最小二乘方的优化。
图解法不仅为高对称性晶系的指标化过程提供了一个清晰、简单的过程,也为高对称性晶系的判别提供了一个有力的手段。
当然使用图解法也有出现多解的可能性。
正交、单斜和三斜晶系主要是使用解析法来完成指标化的。
分析法首先由Hesse和Lipson分别在1948和1949年提出来的,但他们指标化的对象是四方、六方以及正交晶系;在上世纪60年代后期,基于分析法的自试差法(trial-and-errotmethod)提出以后,使得分析法在解析单斜和三斜晶系指标化领域取得了实质性的应用。
分析法的基本思想是找出Q值之间的关系,然后进行计算处理。
每个晶系的Q值都有其特有的关系,了解这些关系有助于晶系的识别与指标化过程。
对与正交晶系其Q值为
Q=Ah2+Bk2+Cl2A、B、C为常数
首先要估计A、B、C的大小,假定A、B、C有相同的数量级,则A的近似值可以通过下式计算:
A≈0.4qm/M2/3
qm为第m条线的Q值,而M为实际观测的衍射线的条数。
然后再来看实际所收集的Q值之间差值的整数关系,如:
q1kl-q0kl=A,q2kl-q0kl=4A,q3kl-q0kl=9A等等,当然B、C也有类似的比例关系。
通常如果不知道A、B、C的近似大小,就有可能被这种比例关系引入歧途,因为在不知道确切的hkl值时,有可能存在如下的关系式:
qhkl-q00l=Ah2+Bl2,q2h2kl-q00l=4(Ah2+Bl2),q3h3kl-q00l=9(Ah2+Bl2)等等,当然通过自试差法来尝试分别区分上述比例关系式的差别并不难,但如果由于系统消光而导致其中一些衍射不出现时,就会出现错误的情况。
在使用手工进行分析法的计算时,通常以Q值为横轴,以衍射线的序号为纵轴作图,将衍射线相互之间的Q值的差值Δq这样就可以很方便地获得各Δq出现的次数,尤其注意出现次数很多而且存在比例关系1:
4:
9:
16的Δq,将满足条件的Δq列成表,并对这些Δq值在假定其衍射方向为001,010,100,从而计算出A值,如果计算A值与估计的A值相差很大,则表明这些Δq值的衍射方向不是001,010,100。
为获得较为理想的结果,往往需要对这些衍射线的衍射方向做出多种假定,并产生多种可能接受的结果。
综上所述,不管采用何种方法来进行指标化,低对称性晶系的指标化都是相当复杂的,而高对称性晶系则比较简单。
由于高对称性晶系的衍射线一般较少,所以有些数据在使用低对称性晶系的计算公式计算时也会有解,出现这种情况一般倾向于高对称性的解,在难以区分时,有必要使用图解法加以验证。
用于指标化的计算程序有很多。
最初,是按照指标化过程的单个步骤来编制程序,操作者在计算过程中亲自参与计算和调整,并根据要求做出恰当的判断。
后来程序改为编码式,按照下一步的指派任务编码,并要求程序做出多次判断。
国际晶体学协会定期发表全世界晶体计算程序索引。
早在1966年就已经有12种以上的粉末衍射指标化程序。
不同的使用者都认为由Geobel和Wilson等人为指标化正交晶系以及更高对称性衍射所编制的程序INDEX是最好的,而在指标化低对称性晶系方面则是根据Ito法所编制的程序ITO。
事实上,由于所收集的粉末衍射数据中可能存在杂质衍射峰,单独只用一个程序去指标化往往会失去正确的结果。
各种计算程序中所用的计算方法不一样,容错限定也不一样,这就造成了即使对于同一套数据,各程序所得到的结果也是不一样的,如有的可能失去正确解,而有点可能产生包括正确解的多种解,当然也有的只给出正确解。
所以,指标化过程中最好的对策就是使用多种指标化程序,并将多种解集中起来进行优化,并最终给出合理的解。
Crysfire是一个专门用于指标化的程序包,它内含了8个不同的指标化程序以及一个优化程序,此外它还提供了多种数据接口(包括XFIT)、计算衍射内标、计算零点漂移和编辑晶胞参数文件等多种功能,是一个非常实用且功能强大的数据包。
表2.3-2给出了crysfire中的指标化程序及其信息。
表2.3-2crysfire中的指标化程序及其信息
Program
Version
Author(s)
Ito
v12(Ito12)(1994)
JanVisser
Dicvol
Dicvol91(1993)
DanielLouër&A.Boultif
Treor
Treor90(1995)
Per-EricWerner
Taup
v3.3a(11Jun02)
DanielTaupin
Kohl
v7.01b(10Jul02)
FranzKohlbeck
Fjzn6
v6.22a(12Jun02)
JanVisser&R.Shirley
Lzon
v6.23b(31Jul02)
R.Shirley,D.Louër&JanVisser
Losh
v6.2bLoshFzrf(10Jul02)
D.Louër&R.Shirley*
ITO是一个自动化的指标化程序,使用者只需要输入波长和零点漂移数据就可以对给定的数据进行指标化,但ITO要求输入的衍射线的条数不得少于20条,而且最好是30-40条。
ITO主要用于正交晶系以及更底对称性的晶系的求解过程,如果用来解比正交晶系对称性更高的晶系时,程序会以正交晶系的解的形式给出,这就意味着如果ITO输出结果中有正交晶系的解的话,这表明该数据可能有更高对称性的解。
有关ITO的输入输出文件,在CRYSFIRE程序包中为*.IT*的后缀,在计算过程会自动生成,而计算的晶胞参数将被输出到*.SUM文件中。
Dicvol是一个通过二分原理实现穷举过程的指标化程序,在给定的晶胞参数的范围内,按晶系对称性从高到低的逐一进行穷举,这样只要输入的数据有解,那么正确的解就不会丢失。
因此Dicvol对输入数据的要求很高,不能含有任何过多的杂质衍射峰,同时输入衍射线的数目最好在20条左右。
当然,在包括正确结果的同时,Dicvol还会产生大量的近似或者错误解,这些解的数目可以通过误差参数的设置来调节。
而且Dicvol在进行三斜晶系试探求解时速度相当慢,即使在主频为1GHZ的电脑上运行也会超过1小时,但求解单斜以及单斜以上的晶系时,速度会很快。
在CRYSFIRE程序包中,Dicvol被修改为一个自动化指标化程序,即所有可调参数都被设置在合理的范围内,而且Dicvol还被分成两个部分,D1用于高对称性晶系的指标化,而D2用于低对称性的计算过程。
通过Dicvol的计算可以保证在输入好的数据时有正确的解产生。
有关Dicvol的输入输出文件,在CRYSFIRE程序包中为*.DV*的后缀,在计算过程会自动生成,而计算的晶胞参数将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 粉末 衍射 解析 结构 方法