330 likes | 671 Views
ASIPP. Corsica调研与工作进展. 报告人:邢哲 导师:肖炳甲 研究员. ASIPP. 报告内容. 1、Corsica 简介 2、BASIS 初步 3、Corsica 构建平衡 4、Corsica 应用调研 5、 工作进展和计划. ASIPP. 一、Corsica 简介. Corsica 是由 美国 劳伦斯利弗莫尔国家实验室 (LLNL) 开发的一个综合的托卡马克放电模拟程序。开发的初衷是通过 Corsica 实现对托卡马克中所有物理过程的综合模拟,分析放电试验中的物理现象,优化放电控制 , 也可以用于优化托卡马克设计,比如 ITER
E N D
ASIPP Corsica调研与工作进展 报告人:邢哲 导师:肖炳甲 研究员
ASIPP 报告内容 1、Corsica简介 2、BASIS初步 3、Corsica构建平衡 4、Corsica应用调研 5、工作进展和计划
ASIPP 一、Corsica简介 Corsica是由美国劳伦斯利弗莫尔国家实验室(LLNL)开发的一个综合的托卡马克放电模拟程序。开发的初衷是通过Corsica实现对托卡马克中所有物理过程的综合模拟,分析放电试验中的物理现象,优化放电控制,也可以用于优化托卡马克设计,比如ITER Corsica代码耦合二维平衡计算和一维输运模拟,可以使用自由边界平衡解或者固定边界平衡解模拟放电平衡演化。目前的Corsica III 加入了二维的边界输运和湍流输运模型
ASIPP Corsica包含的程序包可以数值计算等离子体平衡、模拟等离子体中的输运(如芯部输运、中心-边界输运、湍流输运等)、分析MHD稳定性、辅助加热等等。 Corsica的程序包还包括常用数学计算、多项式拟合、Bessel函数、快速傅里叶变换、图形绘制、BASIS开发环境等。 Corsica中还预留与Mdsplus和外部控制器的接口
ASIPP 二、BASIS初步 Corsica的一个优点是代码的适应性好,用户可以通过交互界面自由的定义变量,编译程序(使用体验类似Matlab);甚至可以根据需要向Corsica加入编译好的程序包,方便国际合作。 这一优势源于Corsica基于BASIS开发环境,BASIS提供了交互式语言解释器,内部包括大量嵌入的函数、错误恢复、宏、存取变量、标准化I/O等。 BASIS语言是一种解释性语言,语法类似Fortran90语言。用户可以自定义变量和函数,之后保存为一个脚本文件.bas(类似Matlab中.m文件)
ASIPP 举例:test.bas # caltrans test.bas read tokamak.bas # Variables used by weqdsk... shotName=probname;shotTime=1 # Create a nominal direct-solve eq from scratch... ds(trim(probname)//".inp") # Converge to q(0)=1.1, q(a)=2.9, betaN=1... probid="DCON "//trim(probname)//" direct-solve" nctot=3 vo=["ctroy","qsrf(1)","qsrf(msrf)"] vo0=[1,1.1,2.9] vi=["betaj","alfa(0)","plcm"] x0=[betaj,alfa(0),plcm] ihy=20; run # Save the direct-solve eq... saveq(trim(probname)//".sav") # Make some plots... layout;profiles # Write direct-solve EQDSK files... weqdsk("ag") # Standard a- and g-files quit
ASIPP Corsica中读写数据(1) 使用标准I/O设备读写文本文件 读入data1.dat:写入data2.dat: integer n=100 character*1 tab=char(9) real big_array(2,n)io=basopen("data2.dat","w") integer io=basopen("data1.dat","r")io << "time current" io >> big_arraydo $i=1,n call basclose(io)io<<format(time($i),10,3,1) << \ real time(n)=big_array(1,)tab<<format(current($i),16,8,2) real current(n)=big_array(2,)enddo call basclose(io)
ASIPP Corsica中读写数据(2) 使用PFB设备读写二进制文件.pfb: 创建some_data.pfb: real time(0), current(0) time := shotTime # shotTime is a caltrans variable current := placur # code variable placur holds Itor create some_data.pfb write time,current close 之后可以使用: open some_data.pfb ls #查看some_data.pfb中的内容
ASIPP 三、Corsica构建平衡 Corsica构建平衡的启动模式有三种: 1、从零开始构建平衡 2、从EQDSK文件启动 3、从已保存的平衡解启动
ASIPP 1、从零开始(dead-start) #基于装置与等离子体参数计算平衡 caltrans -probname pname tokamak.bas #pname定义工程名称 corsica>ds("tokamak.inp","pfcoil.inp") 下面以 EAST 为例
ASIPP 运行结果
ASIPP 参数剖面
ASIPP 2、从EQDSK文件启动 caltrans -probname pname d3.bas #以d3d为例,从g-file开始计算平衡解 corsica>d3("g-flie") #d3函数可以计算自由边界平衡解和固定边界平衡解 以d3d的g106535.02110为例,d3函数从g-file中获取信息作为初始值,调用teq程序包构建自由边界平衡解,同时默认计算固定边界平衡解,并分别将结果保存为106535_2110.sav,106535_2110_inv.sav
ASIPP 平衡解
ASIPP 3、从已保存的平衡解启动 caltrans -probname pname name.sav 在前一方法中平衡结果保存为106535_2110_sav,106535_2110_inv.sav 下次可以直接从这些已计算的结果启动: corsica>restore "106535_2110.sav" corsica>run #使用free-boundary solver求解 或: corsica>restore "106535_2110_inv.sav" corsica>teq_inv #使用fixed-boundary solver求解
ASIPP 四、Corsica应用调研 1、放电演化模拟 G.L.Jackson,T.A.Casper等人使用Corsica根据DIII-D上的实验数值模拟ITER放电过程。首先在DIII-D上分别研究Corsica对等离子体爬升与下降段状态的模拟结果,依据此对输运模型进行标定。 使用标定后的输运模型可以数值模拟等离子体位形和参数随时间的演化(如),并且为位形控制、垂直稳定性控制和主动反馈控制系统建模。
ASIPP 典型的放电演化模拟过程 在对于爬升段的模拟中,使用从EFIT获得的一系列随时间演变的边界信息确定位形演化;使用Thomson散射诊断系统测得的电子温度剖面做电子温度演化的初始值;在每一个时间段中输入实际测得的电子密度剖面,并且设置杂质密度与电子密度的比例符合放电时测得的某一固定值。 输运模型使用gyro-Bohm based thermal transport model(Coppi-Tang transport model)计算电子温度剖面演化,温度剖面确定等离子体内部的非线性电导率进而得出电流密度剖面。
ASIPP 2、模拟放电控制 2.1 受控演化过程 Corsica使用平衡计算程序包TEQ来设计PF线圈系统并且模拟托卡马克放电的控制过程,即使用固定边界模式模拟放电演化,自由边界模式下计算控制参数(Scenario control evaluation (SCE) mode)。 演化过程的模拟在固定边界模式下,内插入一系列时刻点的边界位形计算得到满足平衡态的位形演化,使用输运模型求解放电的参数,评估控制过程。在这样的模式下,每个时间点平衡与输运状态均对应。
ASIPP 关于求解控制参数,使用之前演化模拟更新的动理学数据(密度、温度和q剖面)求解自由边界平衡,模拟计算时使用H-mode-like解析剖面作为密度剖面,温度剖面根据输运模型(使用GLF23模型)假设确定,求解平衡就得到对应的separatrix、外部回路和线圈中的电流这些控制参数。 在这里,使用固定边界位形作为自由边界求解时 separatrix的最小二乘约束条件。这样就避免了使用真实的位形控制器,也不需要控制等离子体垂直位移。所以,在SCE模式下,我们可以用较少的时间模拟长脉冲放电。
ASIPP 模拟放电中根据自由边界平衡求解的位形演化,左侧为爬升段,右侧为平顶段。
ASIPP 2.2模拟放电控制模式 ITER-FEAT shape controller的控制流程图,其中包含位形控制与垂直位移控制。
ASIPP Corsica有两种模式实现框图所示的控制过程 一种是模拟与控制代码紧密耦合的模式,就是将所有的状态矩阵和反馈控制回路整合进Corsica环境变量中。 由于Corsica使用脚本语言环境和便捷的画图环境,我们可以方便的运行和使用控制器。但是这种模式的扩展性不好,对于不同的装置需要重新开发。不过在这种模式下,全部放电的数值模拟的运行时间较短。
ASIPP 另一种模式就是将控制变量全部剥离出来,Corsica模拟运算和控制器分处于不同的集群中,相互之间通过一个接口连接。控制器基于Matlab/Simulink仿真环境。 在这种模式下,所有的控制变量都在控制环境中,与非线性等离子体输运模拟分离。这就为单独发展和测试控制器提供了一个灵活的方式。此时,输运模拟遵循控制器设定的时间流程。在模拟长脉冲放电时,还要考虑内嵌入快速的垂直位移稳定控制。
ASIPP Code-coupling模式下还可以与MDSplus数据系统连接存放模拟数据,使用jScope查看数据。
ASIPP 3 Corsica用于稳定性分析 Corsica中集成有线性垂直性分析模块,气球模稳定性分析模块,以及一·个MHD稳定性分析的程序包DCON
ASIPP 五、工作进展和计划 从g-file启动构建EAST平衡解,取g028071.2490: caltrans east.bas corsica>east("g028071.2490") #计算28071炮2.49s的自由边界平衡解和固定边界平衡解,绘制一系列的结果
ASIPP 自由边界平衡解
ASIPP 固定边界解
ASIPP 工作计划 1、目前正在学习TEQ 2、分析d3.bas
ASIPP 参考文献 Corsica: Integrated Simulationsfor Magnetic Fusion Energy Creating Tokamak Equilibria with Corsica DIII-D Equilibrium and Stability Modelling with Caltrans ITER startup studies in the DIII-D Simulating ITER plasma startup and rampdown scenarios in the DIII-D tokamak Understanding and predicting the dynamics of tokamak discharges during startup and rampdown Validation of the thermal transport model used for ITER startup scenario predictions with DIII-D experimental data ITER Shape Controller and Transport Simulations
ASIPP 谢 谢