技术文章和通讯

基于MATLAB的高能粒子加速器仿真与控制工具箱

由SLAC国家加速器实验室Jeff Corbett编写


在SLAC国家加速器实验室在加利福尼亚州门洛帕克,该SPEAR3粒子加速器产生非常强烈的X射线辐射,使研究人员研究在原子和分子水平的现象。每年有超过1700名科学家在斯坦福同步辐射Lightsource(SSRL)进行使用加速实验,因为在纳米技术,太阳能发电,生物,医药等众多领域1974年覆盖的进步导致约15,000科学出版物。

粒子加速器是复杂的科学设备;的SPEAR3同步加速器,例如,是在圆周234米,具有17的高亮度的X射线“显微镜”束线,并且需要数百个大型电磁体,包括偶极子,四极,和sextupoles,操作的(图1和2).

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

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

为了便于科学家自动化,并在全球范围内SPEAR3和类似加速器,SLAC进行实验,与劳伦斯伯克利国家实验室(LBNL)合作,创建了三个MATLAB®工具箱:MATLAB中间层、LabCA和加速器工具箱(图3)。

图3。用于加速器控制和操作的MATLAB工具箱体系结构图。

使用这些工具箱,研究人员可以设计实验,并多次在模拟加速器模型进行微调的程序运行它们,然后在实际加速行程等效实验。分析在MATLAB结果后,研究人员可以在其他设施,那么谁可以使用相同的MATLAB中层软件是完全不同的加速器运行相同或类似的实验,与同事共享代码。

开发MATLAB工具箱的套件之前,我们考虑了各种解释和编译/链接式的编程语言。在这两个SLAC和劳伦斯伯克利国家实验室,我们已经在使用机器控制和数据分析MATLAB。实现与MATLAB的图形功能的加速器模拟控制能力,使我们能够把实验工作流程到一个环境中,既节省了时间和金钱。其中一个在软件开发的主要目标是保持“机独立”,让科研人员可以很容易地从一个加速器设施转移加速器软件程序到另一个。该代码传输只需要对源代码的微小变化,并一次性创建一个集中的数据库文件中指定特定的每一台机器关键参数。

连接MATLAB与粒子加速器硬件与LabCA

为了建立MATLAB和EPICS硬件控制软件(实验物理和工业控制系统)之间的接口,我们开发了MATLAB“包装”周围称为LabCA EPICS。(该LabCA工具箱不仅与EPICS也与许多其它通信协议的效果很好)。LabCA使我们能够控制粒子加速器或者任何其他设施,如深空望远镜,直接从MATLAB。这种相对简单的LabCA工具箱,使我们能够通过脚本命令MATLAB对SPEAR3进行实验读写在线控制系统变量;存储,调用和操纵数据;并产生结果的图表。

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

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

图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测量响应矩阵。

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

MATLAB中层(MML)提供了超过100层的功能库,自动执行各种常见的任务,包括快速和个别促进剂组分性能的高效访问。高级功能和应用包括全球轨道修正,本地光子光束转向,插入装置补偿,基于射束的对准,调校正和响应矩阵测量值LOCO。

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

正在进行的研究

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

致谢

本文中描述的工具箱是许多人长期合作的产物。作者特别感谢SLAC的Andrei Terebilo(下载188bet金宝搏AT)、James Safranek(LOCO)和Till Straumann(LabCA)以及劳伦斯伯克利国家实验室的Greg Portmann(LOCO,MML)的重大贡献。

关于作者

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

2021年出版

参考文献

查看文章的相关能力

查看相关行业的文章