E—Linac加速管数字化设计系统
2017-05-16唐洋吕建友
唐洋+吕建友
摘 要:E-Linac加速管数字化设计系统通过将加速管的设计流程进行合理的模块划分,充分利用已有的加速管辅助设计软件SuperFish和Parmela,将设计流程中许多重复性的计算工作交由系统来完成,从而大大降低了设计人员的设计负担。文中介绍了E-Linac加速管数字化设计系统的结构和功能,并详细论述了该系统的实现方式。
关键词:E-Linac;加速管;SuperFish;Parmela;数字化设计系统
中图分类号:TL503;TP39 文献标识码:A 文章编号:2095-1302(2017)04-00-03
0 引 言
电子直线加速器的研制对于科研、医疗和工业生产等领域都有重要意义,而电子加速器研制的核心是加速管的设计。目前,虽然设计人员开发出了用于加速管设计的辅助软件,如SuperFish和Parmela等,但这些软件都只针对加速管设计的某一个方面,自动化程度不高。文中针对这些问题设计了E-Linac加速管数字化设计系统,通过将加速管的设计流程进行合理的模块划分,以有效降低设计人员的负担。
1 E-Linac加速管设计流程
目前,加速管的设计流程如图1所示。
从图1中可以看出,在加速管的设计过程中,尽管设计人员能够利用电磁场分析软件和束流分析软件进行加速管的辅助设计,但这些辅助软件的输入文件需要设计人员来编写,且辅助软件的输入文件中有一些数据必须经过特定计算才能获得,因此编写这些输入文件会耗费加速管设计人员大量的时间和精力。此外,在加速管的设计过程中,设计人员使用相应的软件进行电磁场分析和束流传输分析之后,需要根据输出文件获得设计结果,并将其与设计要求进行比较,通过比较结果调整加速管的几何参数,并再一次编写辅助软件的输入文件,然后进行电磁场分析和束流分析……这些工作需要重复不断地进行,直到获得的设计结果与设计要求相符合为止。
2 E-Linac加速管数字化设计系统结构
电子直线加速器加速管数字化设计系统结构如图2所示。
该系统由系统交互模块、数据库、输入生成模块、软件调用模块、结果分析模块、参数调整模块组成,并采用基于JSP的B/S架构进行设计。将系统的数据保存在MySQL数据库中,该数据库的要求如下:
数据库Linactube
(1)表Project
表项:projid, projname, mode,frequency,速调管输入功率P0, 电子枪输入能量Ein,初始束流Iin,输出能量Eout,输出束流Iout,腔个数。
(2)表Cavity
表项:projid, cavid(0表示驻波腔), a,b,D,t,δ,ρ。盘片倒角示意图如图3所示。
(3)表Coil
表项:projid,coiled,Zc(cm),Rc(cm),Ic(A)
3 E-Linac加速管数字化设计系统各模块的功能与实现
3.1 系统交互模块
系统交互模块负责为加速管设计人员呈现加速管相关信息;接收设计人员提交的数据,并将这些数据保存到数据库中;接收设计人员提交给系统的控制信息,调用系统其他功能模块实现相应的功能。
根据系统数据库Linactube的三个表Project、Cavity和Coil可知,系统的交互接口分为三个构件,每个构件都通过一个jsp文件对一个表进行增、删、改操作。Project构件的结构如图4所示。
图4中“.java”文件代表Servelet,箭头表示数据流,整个模块通过“.jsp”文件与加速管设计人员进行交互,从而实现对数据库Linactube中的表project的增删改功能。同时,Project模块通过“ShowProjects.jsp”与Cavity模块连接。另外两个模块的结构与Project模块类似,其不同之处在于Cavity模块通过“ShowCavity.java”与Coil模块连接,而Coil模块通过“ShowCoil.java”与系统的输入生成模块连接。
3.2 输入生成模块
输入生成模块是加速管数字化设计系统的基础,只有生成了正确的输入文件,后续模块才能够正确执行。
系统的输入生成模块需要生成的输入文件包括加速管每一类腔的“.AF”文件和两类“.IN7”,加速管的Parmela输入文件(文件后缀为.ACC),这些文件的存放目录如下所示:
(1)“.AF”和两类“.IN7”文件存放在“D:\ACC\projI\cavityJ\”目录下(其中I代表数据库Linactube中Project表的projid表项,而J代表数据库Linactube中Cavity表的cavid表项,);
(2)“.ACC”文件存放在“D:\ACC\projI\”目录下(I代表数据库Linactube中Project表的projid表项)。
对于“.AF”文件和两类“.IN7”文件,文件中的所有数据都可以根据数据库Linactube中的数据来确定,因此,只要设计人员设定好加速管的初始参数,我们就可以编程自动生成SuperFish的输入文件。
而对于“.ACC”文件,数据比较复杂,在E-Linac加速管数字化设计系统中,我们可以仿照现有的输入文件,先生成一个初始的输入文件,然后将该文件呈现给设计人员,让其根据自己的设计需求对部分数据进行相应的修改,后续过程需要自动生成“.ACC”文件,系统可以參照设计人员修改之后的文件自动编写。
加速管设计过程中要获得一次设计结果,系统需要执行如下所述的文件生成流程:
(1)生成“.AF”文件;
(2)调用AutoFish程序对“.AF”文件进行分析;
(3)生成第一类“.IN7”文件;
(4)调用SF7程序对第一类“.IN7”文件进行分析,生成“.TBL”文件;
(5)生成第二类“.IN7”文件;
(6)调用SF7程序对第二类“.IN7”文件进行分析,生成“.T7”文件;
(7)调用EFLD/EFLDTR程序对“.T7”文件进行分析,生成“FORCOEFF”文件;
(8)循环执行步骤(1)到步骤(7),直到加速管每一类腔的“.AF”文件和两类“.IN7”文件都生成完毕;
(9)综合加速管各个腔的“.TBL”、“FORCOEFF”文件以及數据库Linactube中的数据,生成“.ACC”文件。
综上所述,系统的输入生成模块包含CreateAF.java、CreateIN7.java和CreateACC.java三个类,其中CreateAF.java和CreateIN7.java通过访问Linactube数据库来生成相应的输入文件,而CreateACC.java需要与软件调用模块协同工作才能够生成“.ACC”文件。
3.3 软件调用模块
软件调用模块的功能如下:
(1)调用AutoFish软件分析SuperFish的输入文件,得到输出文件;
(2)调用SF7软件对输入生成模块生成的两类.IN7文件进行分析,得到相应的输出文件;
(3)调用EFLD或EFLDTR软件对生成的“.T7”文件进行分析,得到FORCOEFF文件;
(4)调用Parmela对“.ACC”文件进行束流分析,得到Parmela的输出文件;
AutoFish、SF7和Parmela程序都能够在Windows的CMD中以start /w 软件名文件名形式运行,如start /w autofish slac1。而Java程序能够以如下形式运行CMD命令:
Runtime run = Runtime.getRuntime();
try {
Process process = run.exec(“cmd /k start slac1”);
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
因此,当加速管数字化设计系统自动生成了相应的输入文件之后,加速管数字化设计系统可以自动调用SuperFish和Parmela等软件对这些输入文件进行相应的分析。
而EFLD或EFLDTR程序通过上述方式调用时会出现相应的问题,为解决这一问题,系统通过C语言的system函数来调用这两个程序,Java程序通过Socket向C语言程序发送消息,从而间接调用EFLD和EFLDTR程序。
3.4 结果分析模块
结果分析模块需要提取Parmela输出文件中的信息,将设计结果与设计要求进行比较,并将比较的结果提交给参数调整模块。
由于Parmela的输出文件是一种结构化的文本文件,因此我们可以从输出文件设计结果,将其与设计要求进行比较,由此获悉两者之间的差距,根据这个比较结果,系统的参数调整模块就能够根据参数的调整规则修正设计参数,使得设计结果能够快速收敛于设计要求。
3.5 参数调整模块
加速管数字化设计系统的参数调整模块能够根据结果分析提交的比较结果,结合加速管设计过程中参数调整的规则调整加速管相关参数,调整好后将其提交给输入生成模块。
通过深刻理解加速管设计过程中参数调整的规则,可以将这些规则用算法表述出来,并将该功能集成到数字化设计系统中。
4 结 语
E-Linac数字化设计系统结合加速管设计现状,通过将加速管设计的流程进行合理的模块划分,结合使用JSP、Java、C、Socket等计算机编程技术,完成了整个系统的设计。本系统最主要的特点是通过整合SuperFish和Parmela等加速管辅助设计软件,利用参数调整模块自动调整参数的功能,使其承担设计人员在设计加速管过程中的重复性工作,设计人员只需提供加速管的初始工作参数和几何参数就能够完成加速管的设计,大大提高了加速管设计的效率。
参考文献
[1]陈怀璧,丁晓东,林郁正.9MeV行波电子直线加速器加速管的物理设计[J].原子能科学技术, 2000,34(1):20-26.
[2]樊明武,秦斌.回旋加速器虚拟样机技术[M].武汉:湖北科学技术出版社, 2008.
[3]裴元吉.电子直线加速器设计基础[M].北京:科学出版社, 2013.
[4] Young L,Billen J.The particle tracking code Parmela[C].Particle Accelerator Conference. IEEE, 2003:3521-3523.
[5]刘正岐,郭涛.对比色配色方案数字化生成技术的研究[J].物联网技术,2014,4(2):59-60.
[6]盘采华,吕建友.E-linac数字化设计管理系统分析[J].无线互联科技,2016(22):45-47.
[7]王发芽.一个新型简易电子直线加速器的关键技术研究[D].合肥:中国科学技术大学,2006.
[8]舒钊.紧凑型低能高功率LINAC加速管及其同轴吸收负载的热特性研究[D].合肥:中国科学技术大学,2010.