張 輝, 楊 業(yè), 王忠明, 王茂成, 魏崇陽, 王敏文
(1. 西北核技術(shù)研究所, 西安 710024; 2. 強脈沖輻射環(huán)境模擬與效應(yīng)國家重點實驗室, 西安 710024)
Open XAL為開放源代碼的可拓展標(biāo)記語言加速器程序庫[1-3],由美國散裂中子源(SNS)、中國散裂中子源(CSNS)[4]、歐洲散裂源加速器(ESS),法國國家大加速器實驗室重離子加速器(GANIL)、加拿大粒子與核物理國家實驗室(TRIUMF)和美國密歇根州立大學(xué)(MSU)強流稀有同位素加速器(FRIB)等以可拓展標(biāo)記語言加速器程序庫(XAL)為基礎(chǔ)協(xié)作開發(fā),從加速器物理層面對加速器組成設(shè)備進行了建模,可通過虛擬加速器軟件及光學(xué)文件實現(xiàn)加速器虛擬運行,為加速器裝置調(diào)束軟件編寫提供了標(biāo)準(zhǔn)模型。
近年來,SNS在實驗中用Open XAL取代了原有XAL;MSU采用Open XAL進行超導(dǎo)加速單元調(diào)試[5];ESS為Open XAL建立了螺線管和導(dǎo)向鐵模型,發(fā)展了軌跡和包絡(luò)近似,并在低能傳輸段(LEBT)調(diào)束中模擬束流動力學(xué)[6],減少了UI相關(guān)代碼上的開發(fā)工作;ESS提出了一種開發(fā)Open XAL程序的新方法,可更直觀的設(shè)計應(yīng)用,自動生成界面代碼[7];上海軟X射線源和大連相干光源通過移植Open XAL將虛擬加速器應(yīng)用到FEL,基于遺傳算法設(shè)計了優(yōu)化軟件[8]。西安200 MeV質(zhì)子應(yīng)用裝置(Xi’an 200 MeV Proton Application Facility,XiPAF)物理設(shè)計完成后,以O(shè)pen XAL為基礎(chǔ)進行輔助控制和束流調(diào)試[9],采用GitHub上2017年9月13日的Open XAL版本,針對機器實際特點相繼開發(fā)了加速器數(shù)據(jù)庫、數(shù)據(jù)庫到光學(xué)文件轉(zhuǎn)化軟件、虛擬加速器、虛擬磁鐵[10]和調(diào)束軟件,此外還采用Java編寫了遺傳算法求解器,采用Python語言的機器學(xué)習(xí)算法也在拓展開發(fā)之中。調(diào)束軟件中同步環(huán)調(diào)束軟件共5種,至調(diào)束前已完成開發(fā)調(diào)試及虛擬驗證工作。在2019年至今的調(diào)束工作中,驗證了同步環(huán)束流位置探測器(beam position monitor, BPM)基于束流的準(zhǔn)直(beam based alignment, BBA)軟件及束流光學(xué)計算調(diào)整軟件。
Open XAL是一個靈活的應(yīng)用框架,在開發(fā)加速器物理應(yīng)用中有開源、支持多開發(fā)人員協(xié)作、采用純JAVA語言可跨平臺開發(fā)部署、支持EPICS通道訪問、基于Ant可獨立于IDE構(gòu)建及支持?jǐn)?shù)據(jù)庫操作等特點。XiPAF為實現(xiàn)Open XAL開發(fā)運行,建立了Windows開發(fā)環(huán)境和Fedora 30運行環(huán)境,安裝了數(shù)據(jù)庫軟件MySQL-server-5.7.16,采用JDBC實現(xiàn)Java同MySQL數(shù)據(jù)交換;在eclipse下通過Git從GitHub導(dǎo)入Open XAL項目,初步建立了本地開發(fā)環(huán)境;編譯安裝EPICS Base 3.14.12.8[11],建立測試IOC;編譯安裝了JCA 2.3.5,實現(xiàn)了Open XAL與EPICS IOC的通信,建立了Open XAL同控制系統(tǒng)互通的運行環(huán)境;通過Ant 1.9.4實現(xiàn)軟件自動化編譯部署。
Open XAL采用Launch軟件管理全部應(yīng)用,可啟動和關(guān)閉軟件,并監(jiān)控已啟動軟件。圖1為Launch監(jiān)控下的同步環(huán)調(diào)束軟件及注入控制軟件,顯示了應(yīng)用名稱、主機名、占用內(nèi)存情況、啟動時間和程序最后心跳時間,判斷程序是否響應(yīng)。
同步環(huán)調(diào)束軟件和注入控制軟件的名稱及功能如表1所列。
圖1 Launch軟件管理下的同步環(huán)調(diào)束軟件及注入控制軟件Fig.1 synchrotron beam commission and injectionsoftwares managed by Launch software
表1 同步環(huán)調(diào)束軟件和注入控制軟件名稱及功能Tab.1 The synchrotron beam commissionand injection softwares
同步環(huán)調(diào)束軟件編寫完成后采用Open XAL虛擬加速器進行虛擬調(diào)試,過程不依賴加速器支持,可以先于加速器建設(shè)調(diào)試軟件,與加速器直接調(diào)試相比,虛擬調(diào)試更加節(jié)約和安全。
RingBBA軟件通過對束流控制和測量,實現(xiàn)了對待測BPM電中心相對于鄰近四極鐵磁中心的測量,結(jié)果設(shè)定為對應(yīng)BPM的偏置量,可消除BPM測量中安裝準(zhǔn)直偏差的影響。程序掃描上游校正鐵,使變化束流經(jīng)過四極鐵中心位置的同時微調(diào)四極鐵強度,在下游采用參考BPM測量束流位置變化量同四極鐵強度數(shù)據(jù)擬合作為四極鐵響應(yīng),不同校正鐵磁場下待測BPM的讀數(shù)和對應(yīng)四極鐵的響應(yīng)數(shù)據(jù)擬合截距即為待測BPM電中心相對于最近四極鐵磁中心的偏置大小,圖2為同步環(huán)BBA掃描過程及結(jié)果。
圖2 同步環(huán)BBA掃描過程及結(jié)果 Fig.2 Scanning process and results of synchrotron BBA
在待測BPM為R∶BI∶BPM01時,選取下游BPM為R∶BI∶BPM07,上游校正鐵為R∶MG∶VC11,校正鐵采用10個掃描點,掃描范圍為最大場強的±2%,最近四極鐵為R∶MG∶VC11,微調(diào)點數(shù)為5個,微調(diào)范圍為5%,經(jīng)過掃描計算擬合,得到BPM垂直偏心約為-0.678 3 mm。
利用ResponseMatrix依次改變同步環(huán)校正鐵磁場,記錄環(huán)上所有BPM測得的閉軌變化,然后將校正鐵磁場復(fù)原,進行下一塊校正鐵的調(diào)整測量。虛擬調(diào)試中調(diào)束軟件依次掃描各塊校正鐵并記錄校正鐵每次改變引起的同步環(huán)響應(yīng)大小,掃描完成后擬合得出響應(yīng)矩陣的結(jié)果并顯示。最大偏轉(zhuǎn)角度為0.2 mrad,每塊校正鐵掃描5點時,同步環(huán)響應(yīng)矩陣測量結(jié)果如圖3所示。
圖3 同步環(huán)響應(yīng)矩陣測量結(jié)果 Fig.3 Measurements of synchrotron response matrix
RingBetaMeasure分別用四極鐵和校正鐵激勵,直接求解得到激勵鐵處的β函數(shù)值。四極鐵激勵法使用漂浮電源微調(diào)單塊四極鐵磁場強度,當(dāng)微調(diào)量為Δk時,相應(yīng)的工作點會有微小變化Δν,在線性近似下結(jié)合工作點測得激勵四極鐵處β函數(shù)為
(1)
圖4為四極鐵激勵環(huán)β函數(shù)測量虛擬調(diào)試過程,激勵后工作點變化源于在線模型計算,實際可采用測量數(shù)據(jù)。
(a) Results list of β function
校正鐵激勵法由單塊校正鐵踢角變化Δθ引起閉軌畸變Δx,在BPM距離校正鐵較近時,校正鐵處β函數(shù)為
(2)
XiPAF 的BPM和校正鐵在同一位置,可直接使用該方法。在儲存模式下,改變校正鐵踢腳,使其有一個改變量Δθ,使用BPM測量該位置處閉軌變化Δx。
RingBetaMeasure軟件完成多個校正鐵或四極鐵處的激勵并測量計算各處β函數(shù)值,圖5為校正鐵激勵環(huán)β函數(shù)測量虛擬調(diào)試過程。
(a) Results List of β function
XiPAF有3類獨立可調(diào)的四極鐵,散焦四極鐵(QD)、聚焦四極鐵(QF)和引出段聚焦四極鐵(QFEX)。在聚焦四極鐵強度同時調(diào)整下,所有四極鐵有2組獨立可調(diào)變量。通過掃描聚散焦四極鐵強度可以得到水平和垂直方向上工作點的對應(yīng)值,圖6為水平和垂直方向上工作點隨四極鐵強度的變化關(guān)系。
(a) Horizontal tune
RingTuneControl讀取四極鐵強度和同步環(huán)工作點對應(yīng)列表,在給定同步環(huán)工作點后,通過查表可得最接近的聚散焦四極鐵梯度值,再用臨近4點四極鐵梯度值差分方法,估計給出工作點對應(yīng)的聚散焦四極鐵梯度。
軟件測試中采用Mad8軟件產(chǎn)生同步環(huán)四極鐵強度同工作點關(guān)系文件。RingTuneControl對虛擬加速器的PV值進行監(jiān)測,通過Machine Setting框讀取四極鐵磁場梯度值,通過滑動Xtune和Ytune滑桿改變水平和垂直工作點設(shè)定值,并可選擇添加四極鐵場修正和工作點修正,點擊計算即可通過查表和線性插值得到3類四極鐵的磁場梯度計算結(jié)果,如圖7(a)所示;點擊Submit按鈕可將結(jié)果設(shè)定給加速器或虛擬加速器,如圖7(b)所示。
OrbitCorrect由同步環(huán)BPM提供的閉軌信息計算閉軌校正所需的校正磁鐵磁場強度,然后手動或自動向控制系統(tǒng)發(fā)出指令,控制校正鐵使粒子軌道向理想閉軌靠攏,使軌道畸變最小。
(a) The calculation results of quadrupole
OrbitCorrect軟件利用Open XAL的最小二乘法校正方法,閉軌校正的一個原則在施加最小校正元件強度下得到畸變軌道同設(shè)計軌道偏差的方差最小值,并由校正元件強度和元件長度,算出對應(yīng)校正元件磁場強度。閉軌校正的另一個原則是將閉軌畸變變小的情況下,參與校正的校正鐵的數(shù)量越少越好,故采用依次迭代的最小二乘法,在每一次迭代中找出參與閉軌最小的校正鐵強度,尋求最有效的校正鐵組合。OrbitCorrect軟件中實際采用簡化了的計算及迭代方法(MInimisation des CArres des Distoution d’Orbite, MICADO)[12],是算法改進的最小二乘法。
在虛擬調(diào)束過程中采用環(huán)校正鐵激發(fā)閉軌偏離,并采用閉軌校正軟件進行校正,圖8為同步環(huán)閉軌校正前后情況對比。
圖8 同步環(huán)閉軌校正前后情況對比 Fig.8 The comparison of orbit before and after orbit correction
同步環(huán)調(diào)束軟件包含了硬件設(shè)備監(jiān)測控制、機器物理運算、人機圖形接口及事件回調(diào)等多種范疇。在開發(fā)和測試中需要建立虛擬運行環(huán)境,模擬調(diào)束軟件需要的硬件設(shè)備。Open XAL包含虛擬加速器系統(tǒng),構(gòu)建XiPAF虛擬加速器可方便的實現(xiàn)虛擬調(diào)束,完成調(diào)束軟件的虛擬測試。
虛擬加速器是利用計算機模擬方法實現(xiàn)一套虛擬的加速器系統(tǒng),在加速器在線模型基礎(chǔ)上集成虛擬束流測量元件和與控制系統(tǒng)相兼容的通信接口,可根據(jù)設(shè)計參數(shù)、歷史參數(shù)或加速器運行參數(shù)模擬加速器的運行狀態(tài),擁有與真實加速器完全相同的加速器結(jié)構(gòu)和束流參數(shù),從運行人員或控制系統(tǒng)的角度,完全等同于真實加速器。圖9為XiPAF同步環(huán)虛擬加速器運行狀況。
圖9 XiPAF同步環(huán)虛擬加速器運行情況 Fig.9 Operation of synchrotron virtual accelerator at XiPAF
運行XiPAF定制的virtual accelerator軟件加載裝置光學(xué)文件xipaf.xdxf可實現(xiàn)同步環(huán)虛擬加速器運行。虛擬加速器為磁鐵和BPM等硬件設(shè)備提供了PVServer,模擬調(diào)束軟件需要的硬件設(shè)備信息,并使調(diào)束軟件能夠讀寫虛擬設(shè)備設(shè)定的參數(shù)值,如電壓、電流、狀態(tài)及配置參數(shù)等。虛擬加速器還可通過機器物理計算反饋由設(shè)備設(shè)定值改變引起的機器狀態(tài)變化,最終被調(diào)束軟件監(jiān)測記錄。3節(jié)所進行的虛擬調(diào)束過程即是在虛擬加速器上完成的,虛擬調(diào)束過程實現(xiàn)了調(diào)束軟件測試和調(diào)束過程演練。
經(jīng)過多輪調(diào)束,XiPAF完成了離子源及注入器調(diào)試,同步環(huán)調(diào)束中實現(xiàn)總注入效率為58%,最大俘獲效率為51%,最高加速效率為82%,加速后不同能量下環(huán)中存儲粒子數(shù)大于1×1011,每周期引出粒子數(shù)大于5×1010,同步環(huán)調(diào)束軟件在調(diào)束過程中發(fā)揮了重要作用。
在2020年4月下旬XiPAF調(diào)束過程中,采用響應(yīng)矩陣測量軟件測量了俘獲存儲階段響應(yīng)矩陣,通過改變校正鐵強度,采用BPM記錄束流位置改變。實驗結(jié)果表明,束流位置隨校正鐵強度呈線性變化。表2為XiPAF加速器同步環(huán)水平方向響應(yīng)矩陣。
表2 XiPAF同步環(huán)水平方向響應(yīng)矩陣Tab.2 The horizontal response matrix of synchrotron mm·T-1
表3為XiPAF加速器同步環(huán)垂直方向響應(yīng)矩陣,由于BPM1和BPM11出現(xiàn)問題,結(jié)果暫未記錄。
表3 XiPAF同步環(huán)垂直方向響應(yīng)矩陣Tab.3 The vertical response matrix of synchrotron mm·T-1
在2020年8月中下旬XiPAF調(diào)束中采用同步環(huán)BBA軟件實現(xiàn)了同步環(huán)BPM基于束流準(zhǔn)直,x方向BBA中,選取四極鐵掃描范圍為磁場值的1%到5%,得到x方向BPM電中心偏差具體數(shù)值,如表4所列。由表4可見,x方向BPM電中心偏差在4 mm內(nèi)。
表4 同步環(huán)水平方向BBA結(jié)果Tab.4 The horizontal BBA results of synchrotron
y方向BBA中選取四極鐵掃描范圍為場值的5%~20%,得到y(tǒng)方向BPM電中心偏差,如表5所列。由表5可見,y方向BPM電中心偏差在1 mm內(nèi)。
表5 同步環(huán)垂直方向BBA結(jié)果Tab.5 The vertical BBA results of synchrotron
本文介紹了基于Open XAL開發(fā)的5種XiPAF同步環(huán)調(diào)束軟件。軟件采用Open XAL的軟件規(guī)范,通過模板開發(fā)或由原有軟件修改而成。開發(fā)過程中許多軟件模塊的功能確認(rèn)和測試都由Open XAL的虛擬加速器輔助完成,軟件在帶束運行前的調(diào)試測試工作也通過虛擬加速器完成。
在實際調(diào)束過程中,同步環(huán)調(diào)束軟件已經(jīng)完成了響應(yīng)矩陣測量和環(huán)BBA測量工作。在XiPAF下一步調(diào)束工作中,還將測量四極鐵強度同工作點的對應(yīng)map,實現(xiàn) RingTuneControl 軟件對工作點的控制,RingBetaMeasurement 軟件對同步環(huán)β函數(shù)的測量,另外還需要編制軟件實現(xiàn)色散函數(shù)測量,色品測量和線性光學(xué)校正等功能。在虛擬加速器輔助下,基于Open XAL的同步環(huán)調(diào)束軟件開發(fā)和測試工作先于機器建設(shè)進行,極大地分散了線上調(diào)束的工作密度,積累了調(diào)束經(jīng)驗,為調(diào)束工作開展奠定了基礎(chǔ)。