没有合适的资源?快使用搜索试试~ 我知道了~
¯SoftwareX 7(2018)309multiflexxlib:用于冷中子多能广角分析仪MultiFLEXX孟思勤a,Rasmus Toft-Petersenb,c,郝立杰a,Klaus Habichtc,a中国原子能科学研究院,北京102413b丹麦技术大学物理系,DK-2880公斤。林比cHelmholtz-Zentrum Berlin für Materialien und Energie,D-14109 Berlin,Germanyar t i cl e i nf o文章历史记录:接收25六月2018收到修订版2018年9保留字:非弹性中子散射三轴谱可视化工具a b st ra ct介绍了一个用于连续角多能分析(CAMEA)型探测器后端MultiFLEXX该软件概念侧重于自动化、实验数据的自动聚合和以图形表示的原始数据结构的保存,从而能够以最少的用户输入量对MultiFLEXX的实验数据进行实时分析,减少涉及多个参数的研究中的混淆和人为错误该软件还提供了一套界面,用于调整绘图参数,便于生成出版物中使用的生产质量图形该软件增强了MultiFLEXX作为冷中子三轴谱仪FLEXX上可用的快速绘图选项的作用版权所有©2018作者.由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本1.0.4用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2018_81法律代码许可证MIT使用Semantic的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求,操作环境&依赖Python> 2. 7或> 3。5,numpy,scipy,pandas,matplotlib如果可用,链接到开发人员文档/手册查看存储库位置问题支持电子邮件mengsq04@gmail.com1. 导言和动机在材料科学中,研究原子间相互作用力的最好方法是使用非弹性中子散射。由于所研究的单晶的周期性,这些力引起晶格作为一个整体的集体激发。这些可以是移动晶格平面的波或旋进磁矩的波的形式,其中所研究的力是原子之间的静电排斥力或原子磁矩之间它们通常采取准粒子的形式,具有明确的动量和能量-∗通信地址:Hahn-Meitner-Platz 1,14109 Berlin,Germany。电子邮件地址: habicht@helmholtz-berlin.de(韩国)Habicht)。https://doi.org/10.1016/j.softx.2018.09.006其中动量(表示为Q)和能量(表示为hω)之间的关系定义了所谓的色散关系。这些关系定义了所讨论的材料的动力学,并在中子产生或湮灭这种准粒子时进行研究-在非弹性散射过程中失去或获得动量和能量在某些系统中,如无序磁系统[1,2],研究大部分(Q,ω)参数空间上的色散关系通常是有趣的,称为映射研究。由于需要收集大量的数据点,而且INS实验中的计数率通常较低,因此传统上,三轴光谱(TAS)一次仅在一个(Q,ω)坐标处收集数据因此,有利的是通过将散射的中子收集到中子源中来提高映射研究的数据采集效率。2352-7110/©2018作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx310S. Meng等人/SoftwareX 7(2018)309多个散射角(2θ),并且同时具有用于每个角通道的多个最终能量。这种概念被称为连续角度多能量分析(CAMEA)[3,4]。为BER II中子源的冷中子TAS(cTAS)FLEXX [5,7]构建的新MultiFLEXX [5,6]后端,HZB在31个2θ角通道中收集中子,这些通道间隔2.5μ m,每个2θ通道上有5个固定能量,从2.5 meV到4.5 meVMultiFLEXX后端主要在恒定能量模式下操作,其中生成散射函数S(Q,ω)的2-D恒定能量切片虽然MultiFLEXX大大提高了cTAS FLEXX的绘图能力,但MultiFLEXX的使用遇到了多重挑战:MultiFLEXX的实验涉及温度和磁场等多个参数在实验过程中,变量的数量会迅速增长,变得难以管理MultiFLEXX实验通常涉及多个测量通道,这些通道部分交错或重复,可能具有不同的步长,这一事实加剧了难度此外,MultiFLEXX上角度通道之间的固定角度偏移意味着Fig. 1. 数据聚合管道。使用(Q,ω)空间中不形成正交网格的一组点来执行测量。在MultiFLEXX上,由于数据点的数量相对较少,通过将这些数据合并到一个正交的箱格中来进一步减少这些数据可能会导致(Q,ω)坐标中的大误差和伪影,因为每个箱中的数据点数量较少由于大量的数据点,这种担忧在飞行时间测量中得到了很大程度的缓解,这是现代软件开发的主要焦点,如Mantid [8]和Horace[9]。为了解决上述任务,multiflexxlib被设计成一个高度自动化的数据简化和可视化软件,使用户和仪器负责正确,快速地管理和分析来自MultiFLEXX的数据。2. 软件设计图 1显示了multiflexxlib的数据聚合管道。原始数据首先被解析为Scan对象。扫描对象添加图层通过提供一组用于访问实验元数据的接口来对原始数据进行抽象,如果没有明确提供,则生成UB矩阵[10],将UB矩阵应用于数据点并跟踪检测器特性,例如归一化因子。虽然multiflexxlib目前只接受来自MultiFLEXX的扫描文件作为数据源,但Scan类可以进一步抽象为Python抽象基类,以支持其他CAMEA类型后端的公共接口。虽然用户可以直接访问Scan对象以执行基本诊断并在必要时导出数据,但Scan对象主要用于输入数据聚合例程并组合到BinnedData对象中。聚合例程通过称为分箱的过程将点识别为在实验条件和角度上相同或通过一系列bin边缘定义bin,在数据聚合过程中,落在两个后续bin边缘之间的任何值都被认为是相同的分箱过程首先以升序对相关物理量(诸如入射中子这样,基于值的接近度来创建仓边缘,避免了通过使预定义的仓边缘太接近标称值而将意图相同的值分割成两个仓的潜在陷阱,并且减轻了用户调试这种场景和手动跟踪仓边缘的负担。如果需要,可以将更大的容差传递到聚合例程中。或者,如果以小于通常公差的步长进行重点研究,则可以使用较小的公差。装仓例程也可以在使用规则网格的模式下操作如果你喜欢的话。聚合例程首先基于包括初始能量(Ei)、温度和磁场的实验条件执行数据集的分箱,随后基于2θ角、样品旋转角(A3)和最终能量(Ef)聚合来自相同条件的用户仅需明确指定是否要从仪器默认值覆盖分箱容差通过这种方式,可以以高度的鲁棒性和自动化来执行数据聚合multiflexxlib在数据聚合中广泛使用了pandas[11]库,特别是它能够将任意数据类型直接嵌入其DataFrame数据结构中。matplotlib[12]库用于此包中的图形生成。BinnedData对象包含来自扫描对象的聚合数据,这些数据来自各个扫描运行。BinnedData对象通过产生相应的对象来生成2-D恒定能量图和1-D子集(称为“切割”)。BinnedData对象跟踪测量参数,是交互式和脚本化使用的主要交互注意设计一个界面,既易于使用,又足够通用的高级需求:从原始数据生成2-D色图图的最基本的用法只包含3行代码,在函数调用中没有必要的参数如果需要进一步定制,可以通过提供的权限访问matplotlib对象,以启用mat-plotlib包可能的整个定制范围如果需要,可以将聚合数据和一维切割导出为逗号分隔值(CSV)格式文件3. 软件功能和说明性示例3.1. 恒能映射图2显示了使用multiflexxlib生成的反铁磁体MnF2 [13,14]中磁激发的恒定能量图。使数据点的非正交散布适应2-D色图的常见策略是对输入数据执行插值。虽然这种技术对于输入数据的足够精细的网格是足够的,但是MultiFLEXX的测量点与取决于扫描参数的所测量的激发光谱的特征的大小相比可以是稀疏的。图图2a和b示出了通过在测量数据点的非正交网格上执行线性插值而生成的可以看出,在这种情况下,数据点密度信息被模糊。为了解决这个问题,multiflexxlib在散射平面的倒易空间中执行输入数据点的2-D Voronoi分区[15]。可替代地,可以在角度中执行Voronoi划分,并且随后转换为倒易坐标。类似的能量通道和tanθA=KS. Meng等/ SoftwareX 7(2018)309-312311图二. 用MultiFLEXX测量的MnF2中的磁激发的恒定能量图,其中Ei=5.8 meV和Ef=3.0 meV。(a)和(c)由一个测量通道生成;(b)和(d)由两个交错测量通道生成,2θ角偏移量为1.25。(a)和(b)使用双线性插值绘制;(c)和(d)使用Voronoi镶嵌法绘制ILL的Multiplot[16]采用了FlatCone [17]多分析仪的方法这样,每个测量点都被表示为Q空间的离散区域,该区域比周围的点更接近相应的数据点因此,用户可以直观、明确地表示原始数据结构和测量点密度。该原理的简单性还确保了该软件在处理部分重叠、部分重复、以可变步长间隔完成或包含非工作检测器管的扫描时具有通用性和鲁棒性值得一提的是,这种方法本质上与无限细网格上的最近邻插值相同,但执行Voronoi分割具有不需要极细插值网格网 格的优点, 并且可以放大而不会 导致像素化。multiflexxlib还支持处理非正交轴,例如六边形轴和2-D绘图的创建有自己的公共接口,便于集成到用户3.2. 恒定能量一维切割和色散关系图在测量数据上提取1-D切割也是有用的。当对来自ToF测量的实验数据执行时,这种切割通常涉及将数据分箱到一组箱中,由于大量可用的测量点,通常每个箱具有多个测量数据点[9]。当处理MultiFLEXX数据时,由于数据点密度较低,设置横向箱大小是棘手的,因为过小的设置会导致切割生成中接受的数据点数量过小,需要用户仔细调整箱设置multiflexxlib提供了一种替代的切割方法,该方法对测量数据的Voronoi分区进行操作该方法在指定的切割起点和终点之间绘制一条线段 图 3显示了使用multiflexxlib生成的一维切割。可以看出,该算法在没有用户干预的情况下自动利用可用的更高数据点密度,并且给出在激励中的特征的表示中涉及的数据点的数量的表示,这两者在运行中分析中都是有用的。用户还可以减轻手动跟踪和设置横向公差的负担,因为它适用于Voronoi细分单元的大小手动设置图三. 对MnF2激发从(1 0 0)到(1.5 0 0)(r.l.u.)其中Ei=5.8 meV,Ef=3.0 meV。左列由一次扫描生成,(a)示出了切割中涉及的数据点的Voronoi单元(c)显示切割结果。右列显示了从2θ角中具有1.25偏移的两个交错扫描通道生成的结果。图四、MnF 2在(0.5 0 0.0 5)~(1.5 0 0.0 5)(r.l.u.)范围内的色散关系使用MultiFLEXX测量,其中Ei=5.1meV、5.8meV、8.5meV和8.9meV。强度在0. 6 meV是由A型意外布拉格散射产生的spurion [18,p. 148]。在单独的函数中也支持矩形面元大小的计算,这更适合于具有足够数据点密度的分析,其中每个面元有多个点可用。两种方法都可以沿任何方向进行切割。对于这两种切割方法,提供了如图3a和b所示的在数据点上过标仓边缘的检查方法。在图3所示的情况下,所示的(Q,ω)色散关系图可以通过垂直叠加常数E1-D切割来创建。 图图4给出了MnF2中磁振子的(Q,ω)伸缩关系从(0.5 00.05)到(1.5 0 0.05)(r.l.u.)的数据。来自不同最终能量通道的数据被归一化3使用IVres=F[19],其中kf是一个θA是通道的分析仪起飞角的一半然而值得一提的是,归一化因子并不完全考虑不同最终能量通道的分辨率椭球的差异。然而,这种(Q,ω)色散关系图可以用于实时可视化色散关系,而不是考虑分辨率效应的全面分析南街312号Meng等人/SoftwareX 7(2018)3094. 结论和今后的工作虽 然 在 MultiFLEXX 和 其 他 多 路 复 用 后 端 的 开 发 和 构 建MultiFLEXX实验中通常涉及的大量变量也使数据分析容易出现人为错误。这对于实验期间的动态分析尤其如此。由于插值在图形生成中的广泛使用,用户倾向于以不必要的高数据点密度执行扫描。内插数据的模糊性也可能导致误解。所有这些因素都可能导致射束时间的次优利用。通过提供自动化和unam-bifunctional数据聚合和可视化工具箱multiflexxlib,作者希望解决这些困难,并改善MultiFLEXX和其他共享共同概念的多路复用后端的科学输出[3,4,20]。作者希望在未来增加定性分析功能,例如建模和拟合实验数据,这仍然是一项具有挑战性的任务[6]。致谢这项工作是在原子能研究中心和HZB合作下进行的,涉及BER II研究堆选定仪器的科学使用。本工作得到了国家自然科学基金项目(编号:11227906)的资助。作者向所有为MultiFLEXX的设计、建造和调试做出贡献的人表示感谢:Michael Rose、Bernd Urban、Werner Graf 、 Lutz Rossa 、 John Allibon 、 Felix Groitl 、 DianaLucia Quintero-Castro、Zhilun Lu、Zita Hüsges、Manh Duc Le、Svyatoslav Alimov和Thomas Wilpert。利益冲突一个也没有。阑尾 使用示例import multiflexxlib as mfl#导入库import matplotlib.pyplot as plt#导入matplotlib,如果从交互式环境中运行,通常不需要data = mfl.read_and_bin()#将提示用户选择包含数据的文件夹,因为函数参数中没有提供路径。data.summary()#打印汇总扫描条件的列表。p = data.plot()#绘制所有可能的常量E图。plt.show()#显示图形窗口。如果从交互式环境运行,通常不需要引用[1]Shen Y,Li Y-D,Wo H,Li Y,Shen S,Pan B,Wang Q,Walker HC,Steffens P,Boehm M,Hao Y,Quintero-Castro DL,Harriger LW,FrontzekMD,Hao L,Meng S,Zhang Q,Chen G,Zhao J. Nature 2016;540(7634):559. http://dx.doi的网站。org/10.1038/nature20614。[2]Morris DJP , Tennant DA , Grigera SA , Klemke B , Castelnovo C ,Moessner R,Czternasty C,Meissner M,Rule KC,Hoffmann J,KieferK,Gerischer S,Slobinsky D,Perry RS.Science 2009;326(5951):411-4.http://dx.doi.org/10.1126/science.1178868.[3]Freeman P,O.杨伟, 杨伟华. Christensen N, Lefmann K,Jacobsen J,Niedermayer C , Juranyi F , Rønnow H. In: EPJ Web Conferences , vol.83,2014,p. 03005. http://dx.doi.org/10.1051/epjconf/20158303005.[4]Groitl F , Graf D , Birk JO , Markó M , Bartkowiak M , Filges U ,Niedermayer C , Rüegg C , Rønnow HM. Rev Sci Instrumum 2016;87(3):035109。http://dx.doi.org/10.1063/1.4943208.[5][10]李明,李文.核仪器方法A 2013;729:220-6。http://dx.doi.org/10的网站。1016/j.nima.2013.07.007。[6][10] Toft-Petersen R,Groitl F,Kure M,Lim J,Čermák P,Alimov S,WilpertT,Le MD,Quintero-Castro D,Niedermayer C,Schneidewind A,Habicht K.核仪器方法一2016;830:338-44.http://dx.doi.org/10.1016/j.nima.2016.06.004网站。[7][10]李文,李文. Neutron News 2014;25(2):19-22. http://dx.doi.org/10的网站。1080/10448632.2014.902699。[8]Arnold O,Bilheux J,Borreguero J,Buts A,Campbell S,Chapon L,DoucetM,Draper N,Leal RF,Gigg M,Lynch V,Markvardsen A,Mikkelson D,Mikkelson R,Miller R,Palmen K,Parker P,Passos G,Perring T,PetersonP,Ren S,Perriter M,Savici A,Taylor J,Taylor R,Tolchenov R,Zhou W,Zikovsky J. Nucl Instrumum Methods一2014;764 : 156-66.http://dx.doi.org/10.1016/j.nima.2014.07.029网站。[9]Ewings R,Buts A,Le M,van Duijn J,Bustinduy I,Perring T.核仪器方法一2016;834:132-42.http://dx.doi.org/10.1016/j.nima.2016.07.036网站。[10]Busing WR,Levy HA. Acta Crystallogr Sect A 1967;22(4):457-64. 得双曲正切值. doi.org/10.1107/S0365110X67000970网站。[11]麦金尼W In:van der Walt S,Millman J,editors.第九届Python in Science会议论文集2010年,p. 51比6[12]亨特JD。计算机科学与工程2007;9(3):90-5.http://dx.doi.org/10.1109/MCSE的网站。2007.55。[13]杨 文 , 李 文 , 李 文 . 物 理 快 报 1964;8 ( 1 ) : 9-11. 得 双 曲 正 切 值 .doi.org/10.1016/0031-9163(64)90774-7.[14][14]杨文,李文.Science2006;312(5782):1926-9.http://dx.doi.org/10.1126/science.1127756网站。[15]Barber CB,Dobkin DP,Huhdanpaa H. ACM Trans Math Software 1996;22(4):469-83. http://dx.doi.org/10.1145/235815.235821网站。[16]保罗·Splotmultiplemanual,https://github.com/nplot/nplot/blob/master/doc/pfcManual.pdf. [2018 年 4 月12日]。[17]Kempa M , Janousova B , Saroun J , Flores P , Boehm M , Demmel F ,KuldaJ.PhysicaB2006;385-386:1080-2.http://dx.doi.org/10.1016/j.physb.2006.05的网站。371.[18] ShiraneG,Shapiro SM,Tranquada JM.三轴谱仪中子散射:基本技术。北京:清华大学出版社.[19]Groitl F,Toft-Petersen R,Quintero-Castro DL,Meng S,Lu Z,Huesges Z,Le MD,Alimov S,Wilpert T,Kiefer K,Gerischer S,Bertin A,Habicht K.Sci Rep 2017;7(1):13637。http://dx.doi.org/10.1038/s41598-017-14046-z网站。[20]Lim JA,Siemensmeyer K,Čermák P,Lake B,Schneidewind A,InosovDS.J Phys Conf Ser 2015;592(1):012145。http://dx.doi.org/10.1088/1742-6596/592/1/012145.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功