973课题一例会 赵亚亮 2014.05.07
目录 参与任务情况 任务完成情况 代码开发平台的建立 已有代码功能分析 新开发程序的物理要求 程序开发进展 问题 下一步工作计划
参与任务情况 参与的总体任务 本次例会前应完成的任务 总体,包括物理要求、软件集成(王志军、赵亚亮) 代码开发平台建立和维护(赵亚亮) CPU模块 (赵亚亮+两个研究生) 本次例会前应完成的任务 已有软件的构架和功能分析;(赵亚亮、齐新、张小虎、王志军) 提出物理要求,包含待开发的功能模块和发展计划; 提出基本的软件构架。
任务完成情况 代码开发平台的建立 完成本地的svn服务器的搭建,以及帐号、密码、权限的设置 目前已开发的代码已加入到svn版本库,拥有账号、密码的用户可以通过svn checkout https://192.168.36.121/svn/Track_t/ Track_t --username user检索到本地,也可以通过https://zhaoyl/svn/Track_t/ 从网页上打开 代码更改后上传之前,要先update到最新版本再上传,发生冲突时先将冲突引导本地,确认最终版本后再上传 建议:每次代码更改,在更改位置标明作者、时间,并简单描述意图;版本上传时,也简单描述更改内容
所外登陆:vpn http://www.ihep.cas.cn/jgsz/kyxt/div7/fuwu/suonei/vpn/
任务完成情况 已有代码功能分析 PADSC LinacOpt T-code PIC算法(GPU程序) BeamPath Matrix跟踪(quad、drift、gap) 多粒子跟踪(field map) 匹配(根据lattice周期结构,得到与之匹配的Twiss) 均温优化(尚未用多粒子跟踪校验) 其他辅助功能(计算任意两点之间的相移等) LinacOpt T-code PIC算法(GPU程序) BeamPath
任务完成情况 已有代码功能分析 T-code PIC算法(GPU程序) GPU程序 常用加速元件的多粒子跟踪(四极铁、drift、gap、RFQ) 数据后处理
已有代码功能分析 BeamPath end-to-end 模拟 ( 输出方式:z-code , t-code) 接受度计算 变步长计算 变频率计算 束流反向演化 组合误差分析 本征发射度计算 Particle-in-Cell 空间电荷效应 极化束模拟 RFQ for beam funneling
任务完成情况 新开发程序的物理要求(参考TraceWi n) 图形界面 矩阵跟踪 多粒子跟踪 误差分析 匹配 轨道矫正(可属于匹配) 图形化数据后处理 Others。。。
束流跟踪元件: 四极铁、螺线管; 加速间隙、腔; Circular or rectangular aperture; 束测元件; 漂移段; 场分布(静电场、静磁场、RF电磁场及其叠加); Funneling gap; RFQ ; Space charge compensation
束流匹配 目标: 算法 依据 Owner(?) 单纯形法(线性规划算法) 矩阵跟踪结果 多粒子(partran)跟踪结果 束流包络变化 发射度增长最小 场变化最小 相位变化最小 某位置CS参数 能量和相位 周期相移 束流尺寸 最大束流尺寸 同步相位 相位误差 Beam seperation 根据结构,得到与之匹配的束流
误差分析 Input beam errors bend errors cavity errors RFQ errors Quadrupole errors
数据后处理: 在某一位置或者元件出口的粒子分布 单位长度相移、周期相移 束流密度分布 Hofmann图 磁铁梯度或者强度 Field_map viewer 矫正子强度、周期长度、腔功率、能量及其增益变化、加速场、腔压、接受度、field map factor、流强、包络、发射度、束损、束晕、剥离损失率、tune depression
程序开发进展 Matrix跟踪,元件包括drift、gap、quad、solenoid,元件矩阵参考Trace3d和TraceWin 遗传算法库(nsga)的引入和用于匹配时的验证 依赖的库:CLHEP(2.1.3),nsga(2),FFTW(多粒子跟踪)
已有程序架构 粒子类 用于记录单粒子信息 记录束流粒子状态,用于多粒子跟踪 beam类 Twiss参数 Probe类 element drift gap quad others … … 基类,包含probe对象,实现element跟踪,每个元件包含多个step,每个step的矩阵由子类得到。包含线性SCF 扩展类,包含元件特有set、get函数
已有程序架构 sequence类 seqMatrix类 seqMultiPat类 element类 Track FFT算法类 椭圆边界 spacecharge类 开放边界 其他
包含的类 输入文件的格式 Element文件 用于遗传算法参数的输入文件
用遗传算法(nsga)进行束流匹配研究 全局、多目标、多变量 算法原理:参考遗传学理论,首先产生一个种群,种群中个体按照一定的优劣标准和算法进行优劣排序,找到这一代个体中最优的,通过交叉、变异产生下一代,依次类推,找到最优的个体。 变异率越高,收敛越慢; 变异率太低容易收敛到局部最优而不是全局最优
用遗传算法进行束流匹配研究 可行性验证:跟踪一段加速结构(D+G+Q),得到出口的Twiss参数(ProbeF),将其中一个(或多个)四极铁的梯度G变为0,以ProbeF的Twiss参数作为的目标,以加速段中的quad作为变量,用nsga进行匹配,可以很容易找到G。 目标函数:2个:横向失配参数取得最小值 限制条件:2个:横向失配参数小于0.1 变量个数:4个:4块四极铁梯度 缺点:循环迭代结束条件比较单一
将Q4设置为0,初始种群大小是100,经过100代遗传,可以找到失配参数小于0.1的解 设计值 -34.7495 23.6532 -10.1297 9.47967 Q4=0 -34.74±0.8 23.65±0.2 -10.13±0.2 9.2~9.6 Q3、Q4=0 -10 ~ -10.013 9.3 ~ 9.5 Q2、Q3、Q4=0 (100*150) -34.74±1.8 23.3 ~ 23.8 -10~ -10.2 Q1、Q2、Q3、Q4=0 非常多种组合,根据变量变化范围限制不同,得到不同的解
Q4=0 Q3、Q4=0 收敛图 Q2、Q3、Q4=0 Q1、Q2、Q3、Q4=0
问题 T-code 多粒子跟踪,以元件为单位是否合理?
下一步工作计划 将该程序遗传算法用于ADS加速段之间的匹配 针对大家对已有结构提出的意见和建议,尽快完善矩阵计算部分 开始进行多粒子跟踪部分
谢谢!!