创建case
-
- 创建sf2.5-- 调查内外不对称性
- done
-
- 运行sd10-- 选取相同的辐射case
- done
-
- 运行sf1.5-- Argon 在较低的注入速率实现脱靶
- crash
-
- 运行sd16-- 获得合适的辐射case
- done
网格
- 1.找到源文件
- hyponotoad.pro
- hypnotoad_version.pro
- tools/tokamak/gridgen/hypnotoad_version.pro
2. Hands-on exercises: transport code
generate the grid file
-
- EFIT 生成网格
- 通过hypnotoad将 gfile转化为nc-file
- 网格分辨率:NX=(径向),NY=(极向)
-
- 从实验获得的p-file获得剖面信息
- 通过pfile2Grid.pro读取p-file
- 通过prof_fit.pro拟合并smooth剖面
- Ni2Gridall_im.pro将数据写入nc-file
image.png
获取输运系数的一种方式
基于实验测量的内边界等离子体剖面,有效粒子热输运可以从输运方程获得(不考虑漂移)with sources from inner radial boundary
geometry used in the simulation
- 导入文件
- 显示文件的基本信息
稳态解剖面
- 如何绘图?
- 含时的问题
-
- 上游剖面(温度+密度)
- 在边界线内部,我们固定等离子体密度和温度剖面为实验剖面使用计算的输运系数
- 在SOL,我们计算通过鞘层边界条件使用输运方程,通过扩展台基区输运系数到SOL
Generate grid-file for Bout++
-
- IDL
- 通过hypnotoad读取gfile
- EFIT
- 网格分辨率:
- (径向,极向)
Important
阅读源码ee
TOKAMAK GRIDS FOR BOUT++
磁平衡装换
-
- 该code可以被用来作为一个外部的生成GS-磁平衡的工具,用它生成为bout++使用的网格输入文件
- elite/elite2pdb 从EFIT 格式装换
- 该程序输出一个中间的PDB文件,然后交互IDL,装换为BOUT++的输入信息
- all/pdb2bout.pro
pdb2bout, "intermediate_file.pdb",output="grid.pdb" [,/smooth]
Grid generation
从EFIT 的磁平衡生成网格,提供内BOUT++使用
- gridgen/ Grid generation codes
- gridgen/doc Manual for grid generation
hypnotoad is a graphical interface in IDL to these routines:
IDL> hypnotoad
Equilibrium generation
- 产生近似的磁平衡
- shifted_circle/ generate shifted circle equilibria
limiter???????
Intermediate PDB file format
- 存储 GS-平衡
必须的文件
-
- Scalar quantities
- nx:surface number
- ny: number of pointer per flux-surface
-
- 1D arrays (nx)
- psi: psi on each flux surface
- mu0p: Mu0*pressure
- mu0pprime
- f
- ffprime
- qsafe: safety factor
-
- 2D arrays (nx by ny)
- Rxy: Major radius of each point
- Zxy: Height of each point
- Optional quantities
If these are not present they can be inferred from other quantities or entered manually.
- Bpxy: Poloidal field
- Btxy: Toroidal field
- Brxy: B field in R direction
- Bzxy: B field in Z direction
- Ni: density
- Te: electron temperature
- Ti: Ion temperature
Tokamak grid generator in IDL
B.D.Dudson
1. Introduction
-
- 磁场线对齐网格对于tokamak模拟是很重要的,有如下特点
- IDL 环境
- 自动调整设置,网格生成可自定义,但是输入的最小数目非常小(网格数和psi变化)。PSI变化要求符合边界
- 可以操作一个任意数目XP的位型,可以应付奇怪的位型
对于更加复杂的网格生成器,例如CARRE 网格生成器for B2, UEDGE 也可以生成使用与BOUT++的输入。
Using the Hypnotoad(飞向未来的催眠蛤蟆)
- 调用
IDL> hypnotoad
出现如图的图形界面
image.png
- load the equ(import equ)
Read G-EQDSK
image.png
- Read boundary
不尝试识别边界
image.png
- 一旦你获得磁平衡和边界,输入径向和极向格数
- 归一化PSI (0 磁轴,1=innermost separatrix)
- 自定义重新分配
-
- Generate mesh (create_grid.pro)
-
定位初始XP,选择哪个是内部的点,已经对应的psi值
-
约束决定对应的偏滤器靶板以及芯部边界
-
常数psi到达靶板靶板
-
下图为下左偏滤器区域的网格。
image.png
-
网格并不会总是从左下开始,网格从内X点开始()顺时针产生网格,对于UDN网格从右上开始产生
-
如果需要,可以再次产生网格
"Strict boundaries",决定格点是否超过边界。如果关闭偏滤器腿会在边界停止,但是径向网格允许穿过边界
- 如果觉得合适,可以点击“Output mesh”产生网格。
image.png
尽管网格生成是自动,一些网格需要用户交互
- 检查equ是否合适
- 电流和压强剖面是否合理
- 不合适会出现数值问题,产生的结果也是不正确的
-
计算压强梯度的公式
image.png
-
- 通过格点几何距离计算,
- 从
- 从衍生出
计算的压强与压强的对比create_mesh.pro using DCTs
image.png
image.png
image.png
使用网格生成器
- create_grid 获取2D的,产生的沿着流表面的正交网格
- psi_inner,归一化的在最内边界
- scalar:用作芯部和PF区域
- array[0]:芯部的内归一化
- array[1..n_xpoint]:内 for 每一个PF区域
- psi_outer:最外边界归一化磁通
- scalar: 芯部和PF区域
- array[0..n_xpoint-1]:每一SOL区域的最外边界磁通
- nrad:径向格点数
- scalar:总的径向网格数,自动分区
- array[0]:芯部的径向径向格点
- array[1..(n_xpoint-1)]:边界间的径向格点(从芯部到边界)
- array[n_xpoint]: 最后一个边界外的径向格点
- npol:极向格点数
- scalar: 中的格点数.基于极向arc长度分割极向区域
- array[0..(3*n_xpoint-1)]:
- rad_peaking
- pol_peaking
4. DCT
image.png
5. 寻找关键点
- OP
- XP
6. 区域划分
7. separatrices
- 计算经过XP的等高线
- 闭合一个XP,近似改变
image.png
image.png
reading the source code
种下一棵树最好的时间是10年前,其次就是当下。
project:tokamak_grids
README
- 代码产生tokamak问题的输入文件
grid generation
pyGridGen
README
- BOUT++ python 预处理 module
本module包含的文件夹产生一个workflow,为BOUT++产生输入网格文件。改脚本是IDL脚本的延伸翻译 in ../gridgen,功能与../gridgen/test.pro类似
dependencie:
../../../tools/pylib (include in PYTHONPATH)
matplotlib/pylab
numpy
scipy
sys
bunch https://pypi.python.org/pypi/bunch
mayavi2/mlab
itertools
cPickle
netCDF4
time
copy
ode.lsode http://web.engr.illinois.edu/~mrgates2/ode/
*Initial development on a MacOS X using Enthought Canopy 1.1 python installation.
Most packages should be there by default except maybe mayavi2, ode.lsode and bunch.
- 执行:
python workflow.py
- 执行:
- anlyse_equil.py fllows the IDL algorithm step by step, Analyse_equil_2.py 小修,Analyse_equil_3.py 目前最有效。
workflow.py(main function)
基本流程
- grid
网友评论