计算机系统应用  2018, Vol. 27 Issue (5): 156-160   PDF    
EAST破裂炮的判定与波形显示
柴文婷1,2, 肖炳甲1,2, 袁旗平1, 陈大龙1     
1. 中国科学院 合肥物质科学研究院 等离子体物理研究所, 合肥 230031;
2. 中国科学技术大学, 合肥 230026
摘要:EAST运行放电期间等离子体破裂时有发生, 破裂炮的判定及破裂参数的提取对破裂物理和未来ITER电流猝灭时间预测的研究具有重要意义. 为了方便远程实验人员查看分析历史炮的破裂情况, 需要根据等离子体电流进行破裂判定, 采用MATLAB技术判定破裂并提取出主要参数存储到MySQL数据库中, 同时结合Web技术搭建网站, 并利用Dygraphs插件显示放电期间预设和实际参数. EAST破裂炮的判定与波形显示工作的实现, 免去了实验人员手动记录的繁琐性, 便于查询与对比分析, 合理利用了放电时间.
关键词: EAST    破裂炮    MySQL    Dygraphs    Web    
EAST Disruption Shot Distinction and Waveform Display
CHAI Wen-Ting1,2, XIAO Bing-Jia1,2, YUAN Qi-Ping1, CHEN Da-Long1     
1. Institute of Plasma Physics, Hefei Institutes of Physical Science, Chinese Academy of Sciences, Hefei 230031, China;
2. University of Science and Technology of China, Hefei 230031, China
Abstract: The plasma disruption always happened during EAST discharge experiment, disruption shot distinction and parameters extraction are significant in disruption physics and future ITER current quench time prediction. In order to view and analyze history disruption shots conveniently, we distinguish disruption shots and extract crucial parameters based on the value of plasma current using MATLAB software and archived them in MySQL database. Meanwhile, the websites in which contrast display preset parameters and actual discharge parameters were built by adopting Dygraphs. The implementation of EAST disruption distinction and waveform display will ultimately lead to reduce the triviality of manual record, facilitate query and analysis, and improve work efficiency of technicians.
Key words: EAST     disruption shot     MySQL     Dygraphs     Web    

EAST (Experimental Advanced Superconducting Tokamak)核聚变实验装置是我国自主研发的全超导的托卡马克[1]. EAST装置包括真空, 低温, 快控, 辅助加热等十余个子系统, EAST物理试验中, 由于杂质辐射、磁流体不稳定性以及垂直位移事件会导致放电瞬间停止, 释放出大量的储能和磁能[2,3], 期间产生的热负荷和电磁负荷会对第一壁造成极大的破坏, 威胁着整个装置的安全, 因此破裂炮的判定及破裂数据的提取尤为重要.

EAST运行期间, 操作人员使用等离子体控制系统 (PCS)设置参数的目标值, 待到放电结束时和诊断系统采集的各个子系统的放电参数一并存储到对应的MDSplus数据库中[47], 因此通过对MDSplus读取和分析, 可以获得破裂判定的关键参数信息.

为了使实验人员远程参与并实时的查询和记录实验数据, EAST聚变实验室有很多有用的Web工具. EAST实验日志评论系统Logbook能够实时的获取等离子体放电信息, 并提供分析评论的平台, 该系统能够实时获取工程实验数据、测量诊断数据、PCS控制数据等, 同时实验人员可以对每一炮进行评论标注, 记录该炮的辅助加热, 等离子体是否破裂, 放电是否完整等情况[8]. 基于Web的放电方案管理系统采用数据库技术建立了PCS中预设的放电方案及实际放电方案的信息管理, 运用C语言, MDSplus, PHP技术提取预设和实际放电方案参数并提供快速查找, 审核及日程管理等功能[5], 但目前并没有提供放电破裂情况和基本波形显示的功能.

本论文以放电方案管理系统为基础, 对其进行功能扩充, 增加了破裂信息和等离子体关键参数的预设值和实际值波形显示与对比功能, 从而减少了Logbook上需要手动记录的繁琐性.

1 EAST实验炮的破裂判定

为了便于实验人员对历史数据炮破裂情况的筛选分析, 我们将EAST实验炮大致分成3种类型: 1) 破裂炮 (Disruption), 即依据1.1章中的破裂判定条件筛选出的实验炮. 2) 完整的放电炮(Full discharge), 即等离子体电流经历了完整的脉冲放电的实验炮. 3) 其他炮(Other), 除掉以上两种情况以外的实验炮, 一般指的是等离子体未击穿或者是小电流短脉冲放电.

1.1 破裂炮的判定

在EAST运行期间, 等离子体破裂是指等离子体在放电期间快速熄灭的过程, 一般分为: 热猝灭和电流猝灭, 如图1所示, 虚线所示的芯部软X射线的温度反映的是等离子体的温度, 在破裂发生后的1 ms内等离子体温度降到最低, 这段期间的等离子电流(实线)表现出热猝灭过程, 当等离子体能量在极短时间内坍塌到第一壁后, 壁杂质就会溅射至等离子体中, 造成等离子体电阻升高, 电流减小, 这一过程称为电流猝灭.

破裂期间, 从等离子体中释放出的热能对第一壁造成烧蚀危害, 电流猝灭期间引起的halo电流、涡流会对真空室部件带来强大的电磁力, 严重威胁着内部部件的安全. 因此开展破裂数据分析, 从大量的放电历史实验数据中寻找破裂炮, 建立破裂数据库存储破裂及等离子体参数信息对科研人员顺利开展破裂分析以及破裂预测有着重要的意义.

图 1 破裂期间等离子体电流(实线)演化情况, 芯部软X射线演化(虚线)

目前EAST上破裂条件根据等离子体电流(IP)来判断得出, 我们制定了6个基本条件来判断破裂是否发生, 分别是:

(1) Tdischarge>0.6 s: 即放电时间长度大于0.6 s. EAST是长脉冲放电, 因此需要排除放电时间小于0.6 s的短脉冲.

(2) TCQ<50 ms: 电流猝灭时间TCQ应小于50 ms.

(3) |IPfinal|<100 KA: 破裂发生15 ms后电流绝对值|IPfinal|要小于100 KA, 此条件是为了排除小的破裂.

(4) |IP0|>100 KA: 破裂时刻电流绝对值|IP0|要大于100 KA, 此条件是为了排除等离子电流比较小的破裂.

(5) |IPmax|>200 KA: 整个过程中等离子电流的绝对最大值|IPmax|应大于200 KA, 此条件是为了排除小电流炮.

(6) IP0/IPmax>1/3: 等离子体电流在下降阶段也会发生破裂, 为了排除破裂时刻过晚的放电, 我们规定破裂时刻电流值IP0要大于最大电流IPmax的1/3.

1.2 完整放电炮的判定

对于一次完整的放电, 等离子体电流会在0时刻开始, 按照预设的目标值, 经历建立、爬升、平顶和下降四个阶段. 图2所示为2017年第一轮实验中的75 680炮的IP电流, 该炮在1.4 s左右进入平顶段, IP电流约400 KA, 7.9 s左右进入下降段, 9.7 s左右结束放电.

从1.1节中破裂判定条件来看, 条件(2)、(3)、(4)、(6)是判断一次等离子放电是否破裂的必要条件, 而条件(1)、(5)则是限定了算法判定的范围. 对于EAST而言, 一次完整放电的放电长度Tdischarge一般大于0.6 s, 电流平顶段的最大值IPmax大于200 KA, 而在对于破裂炮的判定时, 系统对于Tdischarge大于0.6 s、IPmax大于200 KA的炮都进行了破裂判定, 因此, 我们规定当Tdischarge大于0.6 s并且IPmax大于200 KA时, 除去破裂炮之外的炮都是完整的放电炮.

图 2 完整放电情况下的等离子体电流

本文将破裂炮和完整的放电炮以外的炮称为其他(Other)类型的炮, 一般是一些无效炮, 小电流破裂炮等.

1.3 具体实现描述

根据1.1和1.2所描述的破裂炮和完整放电炮的判定条件可以得出判定的关键是对实验炮的IP电流进行数据提取和分析. 对于EAST的每一炮放电, 采集系统都会实时的采集各个子系统的关键参数信息并按类别存入MDSplus数据库中.

Matlab具有高效的数据计算功能, 而且能够通过接口文件方便的存取MDSplus和MySQL. 因此我们选用Matlab工具读取IP电流并按照1.1和1.2中的条件编写程序进行关键参数的提取和判定, 最后将关键参数和判定结果存入MySQL数据库中, 然后利用Web技术显示在界面上, 每一次放电结束后程序自动运行, 数据库自动更新, 在本文中需要使用的主要参数有: 炮号, 评定结果(破裂炮, 完整放电炮或其他炮), 破裂时刻电流值, 破裂时刻.

具体实现过程如图3所示. 功能界面见3.1节.

图 3 破裂判定的实现过程

2 Dygraphs实现波形的对比显示

EAST每一次放电结束后, 等离子体电流和密度等参数都会按照指定的类目存入MDSplus, 为了更加直观的显示出等离子放电过程中尤其是破裂情况下预设参数值与实际参数值的波形对比情况, 采用PHP技术读取MDSplus中各个波形的参数, 并转换成Dygraphs显示数据的格式, 然后用Dygraphs绘制出带对比显示功能的图表. 具体过程如图4所示.

图 4 波形对比显示的实现过程

2.1 图表绘制框架Dygraphs

Dygraphs是一个快速, 灵活, 开源的JavaScript图表绘制插件[9], 用于生成可与用户交互的、可缩放的时间表, 可以用来显示密集数据集, 用户可以方便的浏览和查看数据: 可以高亮需要强调的数据集; 可以使用鼠标点击或者用鼠标拖动来缩放图表; 可以修改数值或者点击条目来调整平均周期. Dygraphs支持多种格式的数据显示, 可接收的数据类型有: CSV data, URL, array(native format), function, Data Table.

Dygraphs还支持将多个x-value相互独立的数据集在同一坐标系显示的功能. 方法是对所有数据集中的x-value都指定y-value, 对于一个数据集中有y-value的x-value, 给其余在x-value这一时间点上没有值的数据集赋值null. 如图5所示, 两个独立的数据集A和B, 必须转换成图示的array形式, 即对没有值的位置赋null值, 就可显示出如图5所示的图表.

2.2 波形参数的获取及格式化

IP和Density的预设值是采用PCS手动绘制离散点后系统自动插值得到的波形, 数据量在6个点左右, 而其实际值是经过高速采集系统(频率约250 KHZ)采集得到, 因此一次放电会产生几万个数据点. 为了使这两个差距较大的数据集共同显示在一个图表上, 我们选取了array作为数据类型, 采用类似顺序表合并的算法[10], 将两个数据集合并成图5所示的array形式.

算法实现采用PHP技术, 流程如图6所示.其中n1和n2分别代表两个数据集的总点数, time和value数组分别代表数据集的x-value和y-value, Data是最终需要的合并后的数据集. 得到Data后, 就可以按照Dygraphs插件的格式要求显示出来, 具体结果见第3部分.

图 5 两个独立数据集的显示

图 6 数据集合并算法流程

3 系统实现 3.1 破裂信息的显示

图7是放电方案管理系统中历史炮的参数信息显示界面, 包括等离子体电流(IP), 位形(Shape), 密度(Density), 放电长度(Pulse), 一些波加热参数(ECRH, ICRF, NBI, LHW)和破裂参数等. 图中圈出部分为破裂相关信息, 其中Disruption表示是否是破裂炮, Disruption time为破裂时刻, 另外Evaluate为破裂评定结果, 一般有三种取值: Plasma died at ‘disruption time’s, Full discharge, Other.

图 7 历史炮的信息显示界面

3.2 预设值和实际值的波形对比显示

采用Dygraphs图表绘制插件将波形绘制到前端页面, 首先需要在页面载入dygraph.js和dygraph.css, 然后将2.2部分得到的Data数组生成Dygraphs对象, 此外, 我们还添加了波形的显示和隐藏功能, 以IP为例生成对象的代码如下所示, 对应生成的图表如图8所示.

g1 = new Dygraph(

  //指定图表绘制的DIV位置

  document.getElementById("graphdiv1"),

 //2.2部分得到的IP预设值和实际值数组

 <?php echo json_encode($data_IP);?>,

 {

  legend: 'always', //显示图例

  labels: ["Time", "pcrl01", "IP"], //图例说明

  title: 'IP:<?php echo $shot;?>', //标题

  titleHeight: 32, //标题字体大小

  xlabel:'Time(sec)', //X坐标设置

  ylabel:'IP(KA)', //Y坐标设置

  connectSeparatedPoints: true, //插值连线

  visibility:[true, true] //显示或隐藏设置

 });

图 8 Dygraphs对比显示预设参数和实际参数

本文选取了IP和Density这两个参数, 图8中75655是破裂炮, 75677是一次完整的放电炮, 实际值和预设值分别用实线和虚线画出, ‘pcrl01’和‘IP’ 分别代表等离子体电流的实际值和预设值, ‘dfsdev’和‘density’分别代表密度的实际值和预设值.

为了用户能够方便的查看数据, 我们还提供了波形的显示与隐藏功能, 见图中的Show series复选框, 图8(d) 是隐藏了预设值的效果图. 此外, 用户还可以运用此插件提供的局部缩放功能更方便的查看数据.

4 结语

本文通过MDSplus技术读取破裂参数, 然后应用Matlab设计算法进行破裂判定, 最后采用主流的Web技术展示破裂参数信息. 基于Web的EAST破裂参数的计算与显示功能的设计与实现能够对EAST实验炮的破裂情况进行判别分类、自动记录和显示, 尤其是运用Dygraphs绘制的预设置和实际值的对比图, 能够更加直观的反映破裂状态. 作为放电方案管理系统的重要部分, 该功能的实现使得实验人员不用手动记录破裂情况, 同时更加便捷直观的查看破裂电流和密度, 提高了实验运行效率.

参考文献
[1]
Wan BN, Teams EH-7, International Collaborators. Recent experiments in the EAST and HT-7 superconducting Tokamaks. Nuclear Fusion, 2009, 49(10): 104011.
[2]
Chen DL, Robert G, Shen B, et al. Characterization of plasma current quench during disruption in EAST Tokamak. Chinese Physics B, 2015, 24(2): 025205. DOI:10.1088/1674-1056/24/2/025205
[3]
陈大龙. EAST装置上halo电流实验性研究[博士学位论文]. 北京: 中国科学院大学, 2015.
[4]
袁旗平. 基于Linux集群架构的等离子体控制系统[博士学位论文]. 合肥: 中国科学院合肥物质科学研究院, 2009.
[5]
Chai WT, Xiao BJ, Yuan QP, et al. The design of remote discharge scenario management system on EAST. Fusion Engineering and Design, 2016(112): 1049-1054. DOI:10.1016/j.fusengdes.2016.04.015
[6]
李贵明, 罗家融, 刘英, 等. EAST托卡马克实时数据系统. 计算机工程, 2008, 34(21): 15-17. DOI:10.3969/j.issn.1000-3428.2008.21.006
[7]
黄文君, 王华忠, 杨飞, 等. MDSplus实时数据采集系统. 测控技术, 2014, 33(2): 16-19.
[8]
杨飞. EAST实验数据系统研究[博士学位论文]. 北京: 中国科学院研究生院, 2011.
[9]
http://dygraphs.com/.
[10]
严蔚敏, 吴伟民. 数据结构(C语言版). 北京: 清华大学出版社, 2007. 21–31.