技术文章和通讯

基于MATLAB的工具箱模拟和控制高能粒子加速器

杰夫·科比特,SLAC国家加速器实验室


位于加州门洛帕克的SLAC国家加速器实验室的SPEAR3粒子加速器产生了极强的x射线束,使研究人员能够在原子和分子水平上研究现象。每年有1700多名科学家使用斯坦福同步辐射光源(SSRL)的加速器进行实验,自1974年以来产生了大约15000份科学出版物,涉及纳米技术、太阳能、生物学、医学和许多其他领域的进展。

粒子加速器是复杂的科学设备;例如,SPEAR3同步加速器的周长为234米,有17条高亮度的x射线“显微镜”束线,需要数百个大型电磁铁,包括偶极子、四极子和六极子来操作(图1和2)。

图1所示。SLAC国家加速器实验室的SPEAR3同步加速器部分。

图1所示。SLAC国家加速器实验室的SPEAR3同步加速器部分。

图2。显示x射线束线布局的SPEAR3同步加速器平面图。

图2。显示x射线束线布局的SPEAR3同步加速器平面图。

为了让科学家更容易在SPEAR3和世界各地类似的加速器上进行自动化和实验,SLAC与劳伦斯伯克利国家实验室(LBNL)合作,创建了三个MATLAB®工具箱:MATLAB中间层,LabCA,和加速器工具箱(图3)。

图3。MATLAB工具箱结构图加速器控制和操作。

图3。MATLAB工具箱结构图加速器控制和操作。

利用这些工具箱,研究人员可以设计实验,并在模拟的加速器模型上重复运行它们,以调整过程,然后在实际的加速器上进行等价的实验。在MATLAB中分析结果后,研究人员可以与其他机构的同事共享代码,然后他们可以使用相同的MATLAB中间层软件在完全不同的加速器上运行相同或类似的实验。

在开发MATLAB工具箱套件之前,我们考虑了各种解释性和编译/链接风格的编程语言。在SLAC和LBNL,我们已经使用MATLAB进行机器控制和数据分析。利用MATLAB图形功能实现加速器仿真控制功能,使我们能够将实验工作流引入一个环境,节省时间和金钱。软件开发的主要目标之一是保持“机器独立性”,以便研究人员可以轻松地将加速器软件程序从一个加速器设备转移到另一个。代码传输只需要对源代码进行少量更改,并一次性创建一个集中式数据库文件,指定特定于每台机器的关键参数。

用LabCA连接MATLAB到粒子加速器硬件

为了建立MATLAB与EPICS硬件控制软件(实验物理与工业控制系统)之间的接口,我们围绕EPICS开发了MATLAB的“包装器”LabCA。(LabCA工具箱不仅适用于EPICS,而且适用于许多其他通信协议)。LabCA允许我们直接从MATLAB控制粒子加速器或其他设施,如深空望远镜。通过这个相对简单的LabCA工具箱,我们可以通过编写MATLAB命令对SPEAR3进行在线控制系统变量的读写实验;存储、召回和操作数据;并生成结果图。

加速器工具箱在MATLAB中的仿真

加速器工具箱(AT)是一个工具集合,用于建模和模拟圆形加速器和波束传输线。在我们开发At的时候,大多数加速器模拟器都是编译或“封闭”的程序,很难修改或扩展。与固定程序不同,AT使研究人员能够使用复杂的仿真算法交互式地测试各种操作场景(图4)。结果可以直接在MATLAB中处理以进行可视化和分析。AT中的MATLAB代码是开放和可扩展的,使用C/ c++编写计算密集型例程,并编译成MEX文件,以提高速度和性能。

图4。加速器工具箱实用程序中显示的同步加速器光源模型的一部分,用于交互式编辑加速器元素属性。

图4。加速器工具箱实用程序中显示的同步加速器光源模型的一部分,用于交互式编辑加速器元素属性。

AT最初是为与SPEAR3加速器一起使用而开发的,目前在全球几十个实验室中用于加速器模拟研究。在其核心,At函数通过加速器磁体传播或传输单个带电粒子,跟踪粒子的位置和到达时间。然后利用这个跟踪设备来计算平衡束的位置(轨道)和束的尺寸(包络线),并模拟带电粒子丢失的时间、地点和速率。

随着快速个人电脑的出现,以前需要几十分钟甚至几个小时的计算现在只需要几毫秒。这种加速对于搜索空间可能包括大的多参数非线性域的优化问题非常重要。带有小“高亮度”光束的现代加速器具有非常非线性的操作条件,因此,在很大程度上依赖于粒子跟踪模拟和在线机器控制实验。

用LOCO校准加速器

在20世纪90年代早期,系统识别(SI)工具在粒子加速器上的应用是一个操作上的突破。LOCO (Linear Optics from Closed orbit)最初是用Fortran编写的,它通过对粒子加速器施加微扰,使用LabCA生成一个“响应矩阵”(图5)。然后,它将同样的微扰应用于加速器的基线AT模型,生成第二个模拟响应矩阵以供比较。最后,LOCO使用MATLAB中实现的Levenberg-Marquardt算法进行SI,以调整AT模型的参数,使其更准确地代表真实的加速器。随着新的“校准”加速器模型使研究人员能够在大范围的操作条件下精确模拟加速器的行为,该算法很快受到欢迎。

图5。LOCO界面显示60x85测量响应矩阵。

图5。LOCO界面显示60x85测量响应矩阵。

用MATLAB中间层实现常用任务的自动化

MATLAB中间层(MML)提供了一个包含100多个函数的库,自动化各种常见任务,包括对单个加速器组件属性的快速有效访问。高级功能和应用包括全球轨道校正、局部光子光束控制、插入装置补偿、基于光束的对准、调谐校正和LOCO的响应矩阵测量。

在线和模拟应用程序都使用相同的MML语法。MML使用LabCA工具箱作为在线加速器,可以选择使用EPICS协议或其他实验室可用的不同通信协议。通常,MML充当高级控制脚本和AT或实际粒子加速器之间的抽象层。这使得物理学家可以用AT重复进行模拟实验,直到他们对结果感到满意,然后发出一个单一的“开关”命令,在操作加速器上运行实验。

正在进行的研究

用于加速器科学的MATLAB工具箱套件目前正在世界各地使用,包括澳大利亚、巴西、加拿大、中国、几个欧洲国家、日本、韩国和美国。除了使加速器科学家能够建模、模拟和控制现有的机器,工具箱使优化和自动化研究成为可能,并帮助物理学家在一个共同的平台上设计新的加速器。以前,调试新加速器所需的复杂调优过程需要6个月或更长时间。现在,研究人员可以通过下载公开可用的、独立于机器的MATLAB工具箱,并与已经熟悉该软件的科学家合作,在大约两周内完成这些过程。

确认

本文中描述的工具箱是许多个人长期协作工作的产物。s manbetx 845特别是,作者承认了Andrei Terebilo (AT)、James Safranek (LOCO)、Till Straumann (LabCA)和Lawrence Berkeley国家实验室Greg Portmann (LOCO, MML)的重大贡献。

关于作者

杰夫·科比特(Jeff Corbett)是SLAC国家加速器实验室的资深科学家。在斯坦福大学的30年里,他为许多项目做出了重大贡献,包括建造SPEAR3同步加速器光源。

2021年出版的

参考文献

查看相关功能的文章

查看相关行业的文章