iangie_明月 iangie_明月
关注数: 54 粉丝数: 209 发帖数: 8,761 关注贴吧数: 43
注意ref/VoigtDistribution里PseudoVoigtDistribution定义有错误 在MMA v13的帮助文档“ref/VoigtDistribution”中的Applications下有关于PsuedoVoigtDistribution的如下定义: PseudoVoigtDistribution[\[Delta]_, \[Sigma]_] := Block[{g = (\[Delta]^5 + \[Sigma]^5 + 2.69296 \[Sigma]^4 \[Delta] + 2.42843 \[Sigma]^3 \[Delta]^2 + 4.47163 \[Sigma]^2 \[Delta]^3 + 0.07842 \[Sigma] \[Delta]^4)^(1/5), \[Eta]}, \[Eta] = \[Delta]/g; \[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2); MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0, g], CauchyDistribution[0, g]}] ] 虽然没有标明citation,这个关于VoigtDistribution的近似式应该是出自于这篇文章:Thompson, P., Cox, D. E. & Hastings, J. B. (1987). J. Appl. Crystallogr. 20, 79-83. 这个PsuedoVoigt近似式最早用于拟合X射线衍射峰形,正好是我的领域所以一眼认出来。 但是原文里这个近似式是作用于高斯峰形(正态分布)和洛伦兹峰形(柯西分布)的半高宽(FWHM)的。上面的定义中却将近似式作用于高斯峰形(正态分布)的方差σ和洛伦兹峰形(柯西分布)的半高半宽(δ)。它们的关系是:FWHM_Gauss = Sqrt[8Log[2]] σ, FWHM_Lorentz = 2δ 将原文中的近似式正确地书写出来, 应该是: PseudoVoigtDistributionOriginal[\[Delta]_, \[Sigma]_] := Block[{FWHMg = \[Sigma] Sqrt[8 Log[2]], FWHMl = 2 \[Delta], FWHMv = (FWHMl^5 + FWHMg^5 + 2.69296 FWHMg^4 FWHMl + 2.42843 FWHMg^3 FWHMl^2 + 4.47163 FWHMg^2 FWHMl^3 + 0.07842 FWHMg FWHMl^4)^(1/5), \[Eta]}, \[Eta] = FWHMl/FWHMv; \[Eta] = \[Eta]*(1.36603 - 0.47719 \[Eta] + 0.11116 \[Eta]^2); MixtureDistribution[{1 - \[Eta], \[Eta]}, {NormalDistribution[0, FWHMv/Sqrt[8 Log[2]]], CauchyDistribution[0, FWHMv/2]}] ] 比起帮助文档中的错误的近似式,原文中的近似式能更好地拟合Voigt分布: Manipulate[Plot[ {PDF[VoigtDistribution[\[Delta], \[Sigma]], x] - PDF[PseudoVoigtDistribution[\[Delta], \[Sigma]], x], PDF[VoigtDistribution[\[Delta], \[Sigma]], x] - PDF[PseudoVoigtDistributionOriginal[\[Delta], \[Sigma]], x]} , {x, -30, 30}, PlotLegends -> Placed[{"Voigt minus Current PseudoVoigt", "Voigt minus Original PseudoVoigt"}, Above], PlotRange -> All], {\[Delta], 0.1, 2}, {\[Sigma], 0.1, 2}]
内标法的原理 还有不少人在问内标法到底是怎么确定物相的绝对含量的 偶再灌一贴给后来者 一般来说, 粉晶衍射XRD只能测量样品中所有晶相的含量. 也就是说, 所有晶相的含量之和会被归一化到100%, 从而忽略无定形相的含量. 如下例: 某均匀粉末样品含有 晶相A 30mg, 晶相B 30mg, 无定形相C 40mg 用XRD 无标定量则会得到 晶相A 50wt.%, 晶相B 50wt.% 忽略无定形相 聪明的前辈们发明了一种人为混入已知含量的另一种晶相(内标I)的办法来确定无定形含量: 比如混入的内标I 占10mg : 晶相A 30mg, 晶相B 30mg, 无定形相C 40mg, 内标I 10mg 则XRD无标定量会得出: 晶相A 42.86 wt.% (=30mg/(30mg+30mg+10mg)), 晶相B 42.86 wt.% (=30mg/(30mg+30mg+10mg)), 内标I 14.28 wt.% (=10mg/(30mg+30mg+10mg)) 但是内标I是在我们混入前称量过的, 我们可以准确知道内标I 实际上只占整个样品的 9.09 wt.% (=10mg/(30mg+30mg+40mg+10mg)), 因此 保持相对晶相含量不变, 我们可以把晶相A, 晶相B, 和 内标I 都按相同的比例缩小 以使内标I 的含量等于 9.09 wt.% : 晶相A 27.29 wt.% (=42.86 * 9.09/ 14.28), 晶相B 27.29 wt.% (=42.86 * 9.09/ 14.28), 内标I 9.09 wt.% 很明显这时所有晶相含量的加和不等于100%了, 那么差值就是无定形相在已混入内标后的样品中的含量 晶相A 27.29 wt.% (=42.86 * 9.09/ 14.28), 晶相B 27.29 wt.% (=42.86 * 9.09/ 14.28), 内标I 9.09 wt.% 无定形相 36.33 wt.% (= 100-27.29-27.29-9.09) 那么在不含内标I的原始样品中, 各物相所占含量为: 晶相A 30.00 wt.% (=27.29/(27.29+27.29+36.33)*100%), 晶相B 30.00 wt.% (=27.29/(27.29+27.29+36.33)*100%), 无定形相 40.00 wt.% (= 36.33/(27.29+27.29+36.33)*100%) 此即为原"某均匀粉末样品"的绝对含量 在TOPAS的实际操作中, 只需要在内标相中选中"Weight% of Spiked", 并输入内标相在混入后样品中的含量, 点中raw文件的Report Format页面就自动做出以上计算:在Launch mode中, 只需要在.inp文件中如下的对应位置加入这些关键字, 按F6精修后就会在产生的.out文件中更新后面的值. 很明显这些值是混入内标后样品的含量:
TOPAS教程5 定量物相分析 2.9 定量物相分析 定量物相分析的原理和其在TOPAS中的实现在TOPAS Technical Reference参考书中有详述. 下列的定量方法将逐步详述: 1. 晶相材料的定量物相分析 • 传统的Rietveld方法 • PONKCS方法 2. 晶相和无定形材料的定量物相分析 • 内标法 • PONKCS方法 2.9.1 晶相材料的定量物相分析 本教程使用国际晶体学会粉末衍射委员会的关于定量物相分析竞赛(QPARR)的CPD-1数据(Madsen et al., 2001). CPD-1样品(从CPD-1a到CPD-1h)是一些列包含不同比例的三相的混合物: 刚玉, 红锌矿, 萤石. 其物相比例如表14所列. 表14: CPD-1样品的物相组成.所有衍射数据和晶体结构文件都保存在如下路径: C:\Topas6\Tutorial\Quantitative Phase Analysis\Rietveld Method\CPD\. 2.9.1.1 传统Rietveld方法 1. 在TOPAS界面中导入任何CPD-1数据(CPD-1A.RAW - CPD-1 H.RAW)2. 在Parameters窗口中设置精修模型.在Parameters窗口中展开数据项(*.RAW)下的树形目录并执行以下操作: 右击Emission Profile并选择"Load Emission Profile", 选择 CuKa5_Berger.lam. 缺省安装下该光源发射文件位于C:\Topas6\Lam目录中.选择Background, 使用4阶Chebychev多项式和1/X背景函数来拟合背景. 后者用于拟合因扫描低角时探测器靠近直接束而接受到其空气散射信号造成的高背景.使用1/X背景函数可以用更少阶的Chebychev多项式函数拟合背景.选择Instrument,设置下面两个表格所列的仪器设定:选择Corrections. 选择Zero error并将其code设为"Refine". 此外二次单色器造成了极化, 因此选择LP factor, 将单色器单色角度设为􀀁􀀂.􀀃° 􀀁θ. 最后选择Absorption并将其code设为"Refine", 这是为了拟合因样品质量吸收系数较小而造成的非对称峰形向低角方向的明显的延展. 注意: 吸收矫正用于修正Bragg-Brentano反射几何中特有的因样品穿透造成的峰形畸变. 精修后的Absorption参数表示整个样品的有效平均吸收系数.• 右击数据(*.RAW)导入各物相的晶体结构文件: 刚玉, 萤石, 红锌矿(允许同时选择并导入多个晶体结构文件): 1. Corundum.str 2. Fluorite.str 3. Zincite.str3. 若要计算精修误差, 选中Fit菜单中的Calculate Errors. 4. 按下Fit窗口中的Run按钮开始精修.在Scan 窗口中计算谱用红色显示. 其与测量数据的差由灰色线表示. 精修以后会出现一个对话框通知用户, 精修是否收敛. 5. 定量分析的结果可在Scan窗口中查看, 也可以在重量百分比饼图窗口或Parameters 窗口中查看. 期望的"真"值列于表14中. 你的定量分析结果准确度应该在±2wt%之内. 6. 程序自动计算出样品的元素组成. 请展开Structures/ hkl Phases -> Internal Standard Method中的Elemental Composition页面查看结果. 7. 保存成.pro文件提示: TOPAS项目文件(PRO files)包含测量数据, 精修模型和精修参数及其的值, 精修结果, 以及用户设置的用户界面设置. 因此你可以随时导入之前保存的精修工作, 也可以将项目文件用作精修不同测量数据的模板. 用File - Export /INP File ...菜单可以导出input文件. 这样可以在全自动环境下(使用TC.exe)在发射模式下使用你的精修模型. 测量数据和用户设置的用户界面设置不能保存在INP文件中.
TOPAS教程4 使用基本参数法代替用标样测量仪器峰宽 3 杂项 3.1 仪器函数和样品晶粒尺寸-微应变 本教程演示如何通过Double-Voigt法(例如: Balzar, 1999)来确定仪器函数和各向同性晶粒尺寸-微应变分析. 所用数据为IUCr CPD1(Balzar, 2001)举办的晶粒尺寸-微应变分析竞赛中的CeO2衍射数据: • 实验室X射线衍射数据(DB ADVANCE, Bruker AXS)2 • 同步辐射X射线衍射数据(NSLS X3B1, ESRF BM16) • 连续波长中子衍射数据(ILL D1A, NCNR BT1) • 飞行时间中子衍射数据(ISIS) 教程示例文件包含每种仪器上收集的两个数据; 一个是结晶非常好的样品用于测量仪器 函数("sharp data"); 另一个样品表现出明显的样品展宽("broad data"). 这些文件位于 C:\Topas6\Tutorial\Size-Strain Analysis\DoubleVoigt Approach\. 下面展示如何用实验室数据确定仪器函数和各向同性晶粒尺寸和微应变. 该过程对 TOPAS支持的所有峰形拟合方法(单峰拟合, 全谱拟合, Pawley和Le Bail拟合, Rietveld方法)同样适用. 3.1.1.1 用无样品展宽的样品测量仪器函数 用测量仪器函数的方法来分析样品的晶粒尺寸-微应变是一个两步过程: 第一步是用标样 来确定仪器函数. 注意: 要准确地分析样品微结构信息, 需要考虑到如下的复杂性. 实际用标样测量的仪器函数 不可避免地会包含参考样品的样品贡献. 就算是理想的晶相参考样品也会至少贡献晶粒 尺寸展宽. 此外, 发散束衍射仪的反射几何中, 样品穿透是另一个峰形展宽的因素. 仪器 函数跟样品制备(堆叠密度)联系起来了. 其结果是, 实际样品贡献的峰宽常常被低估. 在 微结构展宽程度较低时, 该现象更明显. 如将所有峰宽都归因于样品微结构则会导致微 结构参数被高估(参见如 Kern, 2008). 第一步: 1. 导入LeBailSh.raw数据, 使用发射光源波长文件CuKa5_Berger.lam. 2. 给全谱插入FP类型的峰. 3. 选择Background 项, 设置二阶背景和1/X 背景函数. 4. 选择Peak Phase 中Code 标签中取消所有峰的Cry Size L 前的勾. 要确定仪器函数, 这一步是必要的, 因为我们假设标准样品是没有样品贡献的. 5. 选择Instrument中的Additional Convolutions 标签. 尝试各种卷积和角度变换趋势以达到最好的拟合. 保留那些能够使拟合最好的卷积函数的值和角度变化趋势. 确定仪器函数的原理在Technical Reference手册中有. 以下三种卷积会得到好的拟合结果: • 由于峰形是很明显的洛伦兹类型, 添加一个洛伦兹卷积, 将其code设为"Refine". 由于标准样品也不可避免地包含晶粒展宽, 将该洛伦兹卷积的2θ趋势设为1/Cos(Th), 即与谢乐公式一致. 按F6精修并观察拟合结果. • 为增加峰宽, 增加一个Hat卷积, 将其code设为"Refine". 这代表了接收狭缝的宽度, 其与2θ的趋势为"Constant". 按F6精修并观察拟合结果. • 低角峰的非对称, 多半是由轴向发散和赤道平面发散引起的, 添加一个Circles"卷积, 将其code设为"Refine", 其与2θ的趋势为"-1/Tan(Th)". 按F6精修并观察拟合结果.6. 右击Instrument, 选择Save Instrument Details保存上面的仪器卷积为.par文件 第二步: 7. 右击标样谱LeBailSh.raw选择Replace Scan Data替换为样品谱LeBailBr.raw. 8. 精修样品展宽Cry Size L, Cry Size G, Strain L和Strain G.将所有峰的这四个参数设定为各自相同的参数名. LVol-lB和e0的结果应该分别为23 ±1 nm和0.0005 ±0.001. 3.1.1.2 计算仪器函数(基本参数法) 1. 直接导入样品谱LeBailBr.raw并使用发射光源波长文件CuKa5_Berger.lam. 2. 给各个衍射峰插入FP类型的峰模型. 3. 选择Background, 使用二阶切比雪夫多项式背景和1/X背景函数. 4. 选择Instrument使用如下的仪器设置: 仪器参数: Goniometer Radius: Primary: 217.5 mm Secondary: 217.5 mm Receiving Slit Width: 0.1 mm FDS Shape, Angle : 1 deg Soller Slits: Primary: 2.3 deg Secondary: 2.3 deg 8. 精修样品展宽Cry Size L, Cry Size G, Strain L和Strain G.将所有峰的这四个参数设定为各自相同的参数名. LVol-lB和e0的结果应该分别为23 ±1 nm和0.0005 ±0.001.
TOPAS教程3 - 分解高度重叠的峰 2.1 .3 处理高度峰形重叠 本例分为三个部分: I. 未加限制的数学分析峰形拟合 II. 添加限制的数学分析峰形拟合 III. 使用基本参数法进行峰形拟合 I: 未加限制的数学分析峰形拟合: 1. 导入Quartz.raw. 默认安装下该文件位于C:\Topas6\Tutorial\lndividual Line Fitting\ 2. 选择SPVII峰形在适当的峰顶插入三个峰. 3. 导入发射光源波长分布文件CuKa2_Analyt.lam. 4. 按F6拟合数据. 精修后峰形拟合得非常好. 残差线和约2%的Rwp都表示拟合得非常好.5. 查看精修结果: 在Parameters窗口中查看半高宽FWHM, 指数项M, 和积分强度Area很容易看出求得的这三个峰的半高宽, PearsonVII指数项差异太大. 仔细观察精修后的积分强度表明严重的精修错误: 例如: 第三个峰的面积居然比第二个峰的面积还大50%, 而直观上来看应该正好相反.6. 为更清晰地查看拟合峰形, 显示所有的单峰拟合峰形(菜单View -> Curve - Single Peaks), 隐藏残差线(菜单View -> Curve - Difference). 将鼠标移到第三个峰的竖线标识上以使其计算峰形加粗显示. 很明显第三个峰的峰形的非对称太大不合理.拟合错误的原因是描述第二个峰右翼和第三个峰左翼的参数之间的强烈相关. 这种情况下, 强度误差相差几倍是完全有可能的. 在这种峰形完全重叠情况下, 不添加限制是无法得到有意义的峰形分解结果的. II: 添加限制的数学分析峰形拟合: 在数学分析峰形拟合中,通过对峰形参数添加适当的限制, 即使用统一的峰宽和峰形, 是能够成功分解石英五指峰的. TOPAS中给精修引入参数限制的方式要么是使用参数名"names"要么给参数的值规定公式"equations". 在本例中峰形参数应该被限制为一个相同的值(完全相关), 可以使用相同的参数名. 7 . 在parameters窗口中Peaks SPVII的Codes标签中, 将三个峰的同类峰形参数的精修标志修改为相同的任意文字(小写字母!). 在本例中, 有四组参数需要修改: 左右半高宽"FWHM left"和"FWHM right", 以及左右指数项"M left"和"M right".由于之前进行过未加限制的数学分析峰形拟合, 所有参数的值都是不同的. 因此需要在Values标签中将所有峰的同类参数改成相同的初始值, 例如将所有半高宽改为0.05, 所有指数项改为1. 8. 按F6拟合数据. 虽然RWP约4%比未加限制的数学分析峰形拟合显著更差, 其精修后的峰形参数(特别是强度)是正确的.Ill: 使用基本参数法: 9. 在Peak Phase中选择Values标签. 将所有峰的峰型改为FP.10. 导入发射光源波长文件CuKa5_Berger.lam. 11. 输入测量该谱的仪器设定如下所示: Instrument Parameter: Goniometer Radius Primary: 217.5 mm Secondary: 217.5 mm Receiving Slit Width Width: 0.1 mm FDS 1) Shape, Angle Angle: 1° Soller Slits Primary:    4°            Secondary:   4° 1)固定发散狭缝 12. 选择Peak Phase中的Codes标签, 精修所有峰的Cry Size L参数 13. 按F6拟合数据. RwP大约在3.8%. 虽然高于未加限制的数学分析峰形拟合所得残差因子, 这次得到的是正确的最好的精修结果.提示: 基本参数法比添加限制的数学分析峰形拟合更具优势. 这是基于仪器对所有峰形的贡献是相同的(这就是基本参数法的内部限制)这一事实. 而且, 在分别精修各个峰的微结构信息, 如晶粒尺寸时, 还可以利用测量峰形中的各向异性峰宽和峰形的信息.
TOPAS教程2 - 全谱多峰拟合和多数据拟合 2.1.2 全谱峰形拟合 1. 导入Y203A.RAW. 默认安装下该文件位于 C:\Topas6\Tutorial\lndividual Line Fitting\. 2. 选择FP为峰形 3. 用Peak Search对话框寻峰(菜单View -> Search Peaks...). 调整Peak Width(该数据的最优值0.14)和Noise Threshold(该数据下最优值为2)以获取全部衍射峰. 注意在Scan Window里面实时更新的寻峰结果. 如果你满意寻峰结果, 点击Add Peaks按钮接受. 检查未能搜寻到的或多余的衍射峰.提示 您也可以从DIF和UXD文件来导入峰位. 该功能常用于直接导入ICDD的PDF峰位. DIF文件可以在DIFFRAC.EVA中完成search/match物相鉴定后导出. 4. 导入光源波长文件CuKa5_Berger.lam. 5. 选择Background, 将Chebychev多项式阶数调为5.6. 使用如下仪器参数7. 求各向同性的平均晶粒尺寸. 选择Peak Phase, 在Codes 标签中把所有的衍射峰的晶粒尺寸Cry Size L都限制为相同的参数名.8. 开始精修2.1.4 同时拟合多个测量数据 1. 导入197 6-25.RAW和197 6-52.RAW两个测量数据. 默认安装下这两个文件位于C:\Topas6\Tutorial\lndividual Line Fitting\. 2. 默认情况下这两个数据会显示在同一个Scan窗口中.在各自的Scan窗口中单独显示各数据(菜单Window -> One Scan per Window)3. 选择FP为峰形在每个数据的峰顶分别插入一个峰. 4. 在Parameters窗口中设置精修模型. 在树形数据结构中, 每个数据为一个Range. 本例中的两个数据使用的仪器设置完全相同. 因此可以在Global下为两个数据同时设置发射光源波长分布和仪器参数. • 选择Global, 在Path 页面选中高亮这两个数据, 将发射光源波长分布文件 CuKa5_Berger.lam导入到这两个数据. • 展开Instrument, 在各种Instrument下级目录中的各标签中输入如下表的仪器参数:5. 开始精修
TOPAS教程1 - 衍射峰形的独立拟合 2.1.1 单峰拟合 2.1.1.1 使用非对称PVII函数进行单峰拟合 1. 使用菜单File->Import Data File(s)...导入Y2O3.RAW. 缺省安装下该文件位于C:\Topas6\Tutorial\lndividual Line Fitting\ 2. 放大第一个峰所在区域 27° - 31 ° 20. 提示: 使用Chart Options对话框(图形显示窗口右键菜单)可以实现精确缩放. 3. 在合适分峰顶手动插入一个峰: 打开Peak Details对话框(F3, 或菜单View -> Peak Details Window), 选择split-PVII(SPVII)函数在合适的峰顶单击鼠标左键插入一个峰. 注意在数据上随鼠标移动的蓝色的"滚动球"表示将要插入的位置; 所插入的峰位用一根竖线表示. 若需修改所插入的峰, 可以按住"Ctrl"键的同时用鼠标左键扫过需修改的峰. 再按键盘上的"Del"键删除该峰. 也可以用键盘上的F9键删除距离鼠标最近的峰, 或者在Parameters窗口(F2, 或菜单View -> Parameters Window)中删除该峰.提示 用Peak Search对话框可以方便地进行自动寻峰. 4. 在Parameters窗口中右击Emission Profile选择load emission profile. CuKa2_Analyt.lam发射光源文件. 缺省安装下所有发射光源文件都位于 C:\Topas6\Lam.5. 要查看(和更改)每个参数的精修标记和初始值, 可以使用Parameters窗口或Peak Details对话框. • 在Parameters窗口中选择Peaks SPVII. Values标签列出了所有参数的值, 可以在Codes标签中设置参数的精修标记. • 也可以打开Peak Details对话框选择需要显示或者修改的peak 属性. 鼠标左键点击峰上的标签可以修改该参数的值或精修标记. 修改需用回车键确认. 6. 若需计算精修误差, 可以在Fit菜单中选中Calculate Errors. 7. 在Fit窗口(F5 或菜单Fit -> Fit Window)中点击Run按钮(F6) 以开始精修.在Scan主窗口中的红色线表示按初始值精修所得的计算谱. 其与实测谱的差用灰色谱线表示. 精修后的对话框通知用户精修是否收敛. 注意用户应该在检查parameters窗口中的精修结果和峰形吻合度后决定是否接收该次精修结果. 8. 精修结果可在Parameters窗口中或在Peak Details对话框中查看. 9. 保存(菜单File -> Save)项目. 提示 TOPAS项目文件(PRO文件)包含测量数据, 精修模型和精修参数, 评价结果, 以及用户自定义的图形界面设置. 因此您可以在任何时候载入并恢复之前的精修工作或者将项目文件当作模板来精修不同的测量数据. 用菜单File -> Export INP File ... 可将精修模型输出为.inp文件, 例如在自动化环境(用TC.exe)或在Launch Mode发射模式下使用. INP文件中不包括测量数据和用户自定义的图形界面设置. 2.1.1.2 用基本参数法进行单峰模拟 提示 基本参数法是基于卷积的方法, 最终峰形由若干个独立的模型函数的卷积合成. 因此用户必须明确指明, 1) 所用的模型函数, 2) 该函数的参数是固定还是需精修. 重做之前的例子, 实施下面的改变: 1. 选择FP (= First Principles) 作为峰形函数, 在合适的峰位插入一个峰. 2. 加载发射光源文件CuKa5_Berger.lam. 3. 要使用FPA必须已知仪器光路设置. 选择Instrument, 按下表设置衍射仪光路元件:4. 开始精修提示: 注意计算峰的最大值与Bragg 􏍘θ峰位有偏离; 这是本该如此的而且反映了基本参数法的优势之一: 它在本质上矫正了仪器和样品引起的峰位偏差. 因此基本参数法给出的Bragg 􏍘θ峰位与用"理想粉末样品"在有"单色光源"的"理想衍射仪"上所测数据所得峰位一致. 因此, 特别是在低角处, 计算的􏍘θ峰位通常不会与峰的最强处重合.
1 下一页