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 将得到的参数赋值到仪器参数中

相关推荐
s09071362 分钟前
【综述】前视二维多波束成像声呐(FLS)图像处理算法全解析:从成像到深度学习
图像处理·人工智能·算法·声呐·前视多波束
星河耀银海10 分钟前
人工智能从入门到精通:机器学习基础算法实战与应用
人工智能·算法·机器学习
nice_lcj52020 分钟前
数据结构之堆:从概念到应用全解析(附TOP-K经典问题)
java·数据结构·算法
无言(* ̄(エ) ̄)24 分钟前
进程---Linux/C语言
java·开发语言·算法
漫随流水27 分钟前
leetcode算法(429.N叉树的层序遍历)
数据结构·算法·leetcode·二叉树
漫随流水31 分钟前
leetcode算法(116.填充每个节点的下一个右侧节点指针)
数据结构·算法·leetcode·二叉树
_OP_CHEN40 分钟前
【算法基础篇】(四十四)数论之欧拉定理与扩展欧拉定理深度解析:从降幂到超大规模幂运算
c++·算法·蓝桥杯·算法竞赛·欧拉定理·扩展欧拉定理·acm/icpc
lfwh43 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
数据大魔方1 小时前
【期货量化入门】期权交易入门:从零开始学期权量化(TqSdk完整教程)
数据库·python·mysql·算法·区块链·程序员创富
期货资管源码1 小时前
期货资管分仓软件开发/平台搭建经验分享
经验分享·算法·eclipse·区块链