一种新的镶嵌晶体光谱仪x射线跟踪代码

IF 3.4 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Thomas Gawne , Sebastian Schwalbe , Thomas Chuna , Uwe Hernandez Acosta , Thomas R. Preston , Tobias Dornheim
{"title":"一种新的镶嵌晶体光谱仪x射线跟踪代码","authors":"Thomas Gawne ,&nbsp;Sebastian Schwalbe ,&nbsp;Thomas Chuna ,&nbsp;Uwe Hernandez Acosta ,&nbsp;Thomas R. Preston ,&nbsp;Tobias Dornheim","doi":"10.1016/j.cpc.2025.109878","DOIUrl":null,"url":null,"abstract":"<div><div>We introduce a new open-source Python x-ray tracing code for modelling Bragg diffracting mosaic crystal spectrometers: <em>High Energy Applications Ray Tracer (HEART)</em>. <em>HEART</em>'s high modularity enables customizable workflows as well as efficient development of novel features. Utilizing Numba's just-in-time (JIT) compiler and the message-passing interface (MPI) allows running <em>HEART</em> in parallel leading to excellent performance. <em>HEART</em> is intended to be used for modelling x-ray spectra as they would be seen in experiments that measure x-ray spectroscopy with a mosaic crystal spectrometer. This enables the user to make predictions about what will be seen on a detector in experiment, perform optimizations on the design of the spectrometer setup, or to study the effect of the spectrometer on measured spectra. However, the code certainly has further uses beyond these example use cases. Here, we discuss the physical model used in the code, and explore a number of different mosaic distribution functions, intrinsic rocking curves, and sampling approaches which are available to the user. Finally, we demonstrate its strong predictive capability in comparison to spectroscopic data collected at the European XFEL in Germany.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> High Energy Applications Ray Tracer (HEART)</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/d3wc5jxdgj.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://gitlab.com/heart-ray-tracing/HEART</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GPLv3</div><div><em>Programming language:</em> Python ≥3.10</div><div><em>Nature of problem:</em> Mosaic crystal spectrometers are widely-used at high energy density (HED) facilities owing to their very high integrated reflectivities. However, the mosaic nature of the crystal introduces a lot of complexity into the instrument functions of these spectrometers. Understanding how the mosaic crystal will impact the measured spectrum is vital for reliably inferring conditions measured via x-ray spectroscopy and for planning experiments.</div><div><em>Solution method:</em> We have developed a ray tracing code with specific support for mosaic crystals. With the implemented precise dynamical theory models, our ray tracing code simulates accurate detector images enabling realistic comparisons with experiments. It takes advantage of the inherent randomness of mosaic crystals to run Monte Carlo simulations of rays passing through the crystal. This also means the detector images produced contain similar photon counting noise that would appear in experiments. A number of options for crystal materials, geometries, mosaic distribution functions, and rocking curves are supported. Effects such as absorption and multiple ray reflections are also treated explicitly.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"318 ","pages":"Article 109878"},"PeriodicalIF":3.4000,"publicationDate":"2025-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"HEART: A new X-ray tracing code for mosaic crystal spectrometers\",\"authors\":\"Thomas Gawne ,&nbsp;Sebastian Schwalbe ,&nbsp;Thomas Chuna ,&nbsp;Uwe Hernandez Acosta ,&nbsp;Thomas R. Preston ,&nbsp;Tobias Dornheim\",\"doi\":\"10.1016/j.cpc.2025.109878\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>We introduce a new open-source Python x-ray tracing code for modelling Bragg diffracting mosaic crystal spectrometers: <em>High Energy Applications Ray Tracer (HEART)</em>. <em>HEART</em>'s high modularity enables customizable workflows as well as efficient development of novel features. Utilizing Numba's just-in-time (JIT) compiler and the message-passing interface (MPI) allows running <em>HEART</em> in parallel leading to excellent performance. <em>HEART</em> is intended to be used for modelling x-ray spectra as they would be seen in experiments that measure x-ray spectroscopy with a mosaic crystal spectrometer. This enables the user to make predictions about what will be seen on a detector in experiment, perform optimizations on the design of the spectrometer setup, or to study the effect of the spectrometer on measured spectra. However, the code certainly has further uses beyond these example use cases. Here, we discuss the physical model used in the code, and explore a number of different mosaic distribution functions, intrinsic rocking curves, and sampling approaches which are available to the user. Finally, we demonstrate its strong predictive capability in comparison to spectroscopic data collected at the European XFEL in Germany.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> High Energy Applications Ray Tracer (HEART)</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/d3wc5jxdgj.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://gitlab.com/heart-ray-tracing/HEART</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GPLv3</div><div><em>Programming language:</em> Python ≥3.10</div><div><em>Nature of problem:</em> Mosaic crystal spectrometers are widely-used at high energy density (HED) facilities owing to their very high integrated reflectivities. However, the mosaic nature of the crystal introduces a lot of complexity into the instrument functions of these spectrometers. Understanding how the mosaic crystal will impact the measured spectrum is vital for reliably inferring conditions measured via x-ray spectroscopy and for planning experiments.</div><div><em>Solution method:</em> We have developed a ray tracing code with specific support for mosaic crystals. With the implemented precise dynamical theory models, our ray tracing code simulates accurate detector images enabling realistic comparisons with experiments. It takes advantage of the inherent randomness of mosaic crystals to run Monte Carlo simulations of rays passing through the crystal. This also means the detector images produced contain similar photon counting noise that would appear in experiments. A number of options for crystal materials, geometries, mosaic distribution functions, and rocking curves are supported. Effects such as absorption and multiple ray reflections are also treated explicitly.</div></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"318 \",\"pages\":\"Article 109878\"},\"PeriodicalIF\":3.4000,\"publicationDate\":\"2025-09-29\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0010465525003807\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525003807","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

摘要

我们介绍了一个新的开源Python x射线跟踪代码,用于模拟布拉格衍射马赛克晶体光谱仪:高能应用射线追踪器(HEART)。HEART的高度模块化使可定制的工作流程以及新功能的有效开发成为可能。利用Numba的即时(JIT)编译器和消息传递接口(MPI),可以并行运行HEART,从而获得出色的性能。HEART旨在用于模拟x射线光谱,因为它们将在用马赛克晶体光谱仪测量x射线光谱的实验中看到。这使用户能够预测在实验中在检测器上看到的东西,对光谱仪设置的设计进行优化,或研究光谱仪对测量光谱的影响。然而,除了这些示例用例之外,代码当然还有其他用途。在这里,我们讨论了代码中使用的物理模型,并探索了用户可用的许多不同的马赛克分布函数,固有摇摆曲线和采样方法。最后,我们将其与德国欧洲XFEL的光谱数据进行了比较,证明了其强大的预测能力。程序摘要程序标题:高能应用射线追踪器(HEART)CPC库链接到程序文件:https://doi.org/10.17632/d3wc5jxdgj.1Developer's存储库链接:https://gitlab.com/heart-ray-tracing/HEARTLicensing条款:gplv3编程语言:Python≥3.10问题的性质:镶嵌晶体光谱仪在高能量密度(HED)设施中广泛使用,因为它们具有很高的综合反射率。然而,晶体的镶嵌性质给这些光谱仪的仪器功能带来了许多复杂性。了解马赛克晶体如何影响测量光谱对于可靠地推断通过x射线光谱测量的条件和规划实验至关重要。解决方法:我们已经开发了一个光线追踪代码,具体支持马赛克晶体。通过实现精确的动力学理论模型,我们的光线追踪代码模拟了精确的探测器图像,从而与实验进行了真实的比较。它利用镶嵌晶体固有的随机性对穿过晶体的光线进行蒙特卡罗模拟。这也意味着探测器产生的图像包含类似的光子计数噪声,将出现在实验中。支持许多晶体材料,几何形状,马赛克分布函数和摇摆曲线的选项。吸收和多射线反射等效应也得到了明确的处理。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
HEART: A new X-ray tracing code for mosaic crystal spectrometers
We introduce a new open-source Python x-ray tracing code for modelling Bragg diffracting mosaic crystal spectrometers: High Energy Applications Ray Tracer (HEART). HEART's high modularity enables customizable workflows as well as efficient development of novel features. Utilizing Numba's just-in-time (JIT) compiler and the message-passing interface (MPI) allows running HEART in parallel leading to excellent performance. HEART is intended to be used for modelling x-ray spectra as they would be seen in experiments that measure x-ray spectroscopy with a mosaic crystal spectrometer. This enables the user to make predictions about what will be seen on a detector in experiment, perform optimizations on the design of the spectrometer setup, or to study the effect of the spectrometer on measured spectra. However, the code certainly has further uses beyond these example use cases. Here, we discuss the physical model used in the code, and explore a number of different mosaic distribution functions, intrinsic rocking curves, and sampling approaches which are available to the user. Finally, we demonstrate its strong predictive capability in comparison to spectroscopic data collected at the European XFEL in Germany.

Program summary

Program Title: High Energy Applications Ray Tracer (HEART)
CPC Library link to program files: https://doi.org/10.17632/d3wc5jxdgj.1
Developer's repository link: https://gitlab.com/heart-ray-tracing/HEART
Licensing provisions: GPLv3
Programming language: Python ≥3.10
Nature of problem: Mosaic crystal spectrometers are widely-used at high energy density (HED) facilities owing to their very high integrated reflectivities. However, the mosaic nature of the crystal introduces a lot of complexity into the instrument functions of these spectrometers. Understanding how the mosaic crystal will impact the measured spectrum is vital for reliably inferring conditions measured via x-ray spectroscopy and for planning experiments.
Solution method: We have developed a ray tracing code with specific support for mosaic crystals. With the implemented precise dynamical theory models, our ray tracing code simulates accurate detector images enabling realistic comparisons with experiments. It takes advantage of the inherent randomness of mosaic crystals to run Monte Carlo simulations of rays passing through the crystal. This also means the detector images produced contain similar photon counting noise that would appear in experiments. A number of options for crystal materials, geometries, mosaic distribution functions, and rocking curves are supported. Effects such as absorption and multiple ray reflections are also treated explicitly.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper. Computer Programs in Physics (CPiP) These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged. Computational Physics Papers (CP) These are research papers in, but are not limited to, the following themes across computational physics and related disciplines. mathematical and numerical methods and algorithms; computational models including those associated with the design, control and analysis of experiments; and algebraic computation. Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信