XRD精修教程:采用CMPR软件拟合峰形函数-测试狗

作者:测试狗科研服务

1 引言

在使用GSAS软件进行XRD精修时,一个重要的输入文件就是"仪器参数文件"。仪器参数文件除了包含靶材类型,波长等信息外还包含五个重要的峰形参数:GU,GV,GW,LX和LY。

一般情况下,我们无需调整仪器参数文件中的峰形参数就可以直接采用GSAS软件进行XRD精修拟合。然而,对于峰很多且峰形复杂的XRD数据,我们最好能够先给出一个初始值,这不仅可以加快拟合的速度,还能增加拟合的成功率。

基于此,我们在这里向大家介绍如何采用CMPR软件通过拟合的方式获得峰形参数:GU,GV,GW,LX和LY的初始值。

图1 仪器参数

2 CMPR拟合峰形函数的步骤

(1)读取数据

按照上一节的介绍,首先将包含"角度"和"强度"数据的txt文件重命名为dat格式的文件,然后按照图2所示的操作使用CMPR读取dat格式的数据,这里我们以Sb的XRD谱图为例。

图2 读取dat格式的数据

如图3所示,如果数据读取成功,我们就能在Plot窗口看到相应的XRD谱图。

图3 读取结果

(2)修改XRD图形显示方式

为了更加清楚直观地进行下面的工作,我们可以先在图4所示的Plot选项卡中修改XRD谱图的线条类型和颜色等参数。具体操作见图4。

图4 修改XRD谱图显示方式

修改后的显示效果如图5所示。

图5 修改后的显示效果

(3)选择峰

(a)如图6所示,首先是进入"Fit"选项卡;

(b)然后进入plot界面,按住鼠标左键就可以对谱图进行放大,右键单击可以缩小;

(c)将鼠标指针移动到峰的最强处,然后按下键盘上的"P"键即可完成对峰的选择。注意要在英文输入法下按P。峰的选择可以连续进行,一次最多选择8个;

图6 依次选择峰

对峰完成选择后的结果如图7所示。

图7 选择所有的峰

(4)对每个峰进行拟合

(a)首先拟合第一个峰,可以看到第一个峰的位置在23.67左右;

(b)针对上述峰位置,通过"Set range to fit"设置拟合的范围,一般可以设为"峰位置-0.5~峰位置+0.5"。因此,本例可以设置为"23.17~24.17"。设置过程如图8所示;

图8 设置拟合范围

(c)按照图9所示,勾选需要拟合的峰和相应参数,然后点击左下角的"Run GPLSFT"就可得到该峰的拟合结果。同时,我们也可以在图10所示的plot窗口查看拟合效果以及拟合结果;

图9 勾选需要拟合的峰和相应参数

图10 Plot窗口中的拟合效果

(d)在拟合完第一个峰之后,我们就可以采用类似的操作来拟合第二个峰:设置范围---勾选参数---拟合,直至将所有的峰全部拟合完成;

需要注意的是:如果有两个峰的位置非常接近,那么也可以将它们一起进行拟合,此时拟合范围需要设置为"最小位置峰坐标-0.5~最大位置峰坐标+0.5"。

(e)在进行拟合的时候,我们一批次最多依次拟合8个峰(图11)。但是,很多时候XRD峰都会超过8个。此时,我们可以按照图12所示的操作来创建新的峰列表,然后在plot界面紧接着第一批继续往下选择下一批8个峰;

然后同样按照(a)-(d)的步骤对该批次的峰进行拟合。

图11 一批次最多选择8个峰

图12 创建第二批峰

(5)转至FitWidths选项卡进行全局峰函数拟合

图13 首先转至FitWidths界面图13 首先转至FitWidths界面

如图14所示,勾选上U,V,W,X和Y参数,然后点击"Fit Profile"就可以得到拟合后的峰参数。

图14 进行全局峰函数拟合

需要说明的是,如果峰的数量大于8个,我们在FidWidths选项卡进行全局峰函数拟合的时候需要将其他批次的峰手动加到第一批次上去。具体操作如下:

(a)首先是按照图15的操作,切换到peaklist2,然后手动记录图16中peaklist2中各个峰的参数

图15 查看peaklist2

图16 手动记录peaklist2中的峰信息

(b)然后按照图17所示,切换到peaklist1并将记录的peaklist2中的峰信息依次加到peaklist1中;

图17 将手动记录的peaklist2中的峰信息加到peaklist1中

如果不打算将某些峰参与拟合,我们勾选该峰其对应的Omit选项,如图18所示。

图18 勾选Omit来忽略相应的峰

3 在GSAS中修改仪器参数

在我们得到U,V,W,X和Y的初始参数后,我们就可以在GSAS软件中将其分别填在GU,GV,GW,LX和LY中。

图19 将得到的参数赋值到仪器参数中

相关推荐
艾醒1 小时前
大模型面试题剖析:模型微调中冷启动与热启动的概念、阶段与实例解析
深度学习·算法
新学笺1 小时前
数据结构与算法 —— 从基础到进阶:带哨兵的单向链表,彻底解决边界处理痛点
算法
智者知已应修善业2 小时前
【51单片机计时器1中断的60秒数码管倒计时】2023-1-23
c语言·经验分享·笔记·嵌入式硬件·算法·51单片机
Jiezcode2 小时前
LeetCode 148.排序链表
数据结构·c++·算法·leetcode·链表
Asmalin2 小时前
【代码随想录day 29】 力扣 406.根据身高重建队列
算法·leetcode·职场和发展
Asmalin2 小时前
【代码随想录day 32】 力扣 70.爬楼梯
算法·leetcode·职场和发展
张书名3 小时前
《强化学习数学原理》学习笔记3——贝尔曼方程核心概念梳理
笔记·学习·算法
闻缺陷则喜何志丹3 小时前
【中位数贪心】P6696 [BalticOI 2020] 图 (Day2)|普及+
c++·算法·贪心·洛谷·中位数贪心
嵌入式-老费4 小时前
Easyx使用(中篇)
算法
信奥卷王4 小时前
[GESP202312 五级] 烹饪问题
算法