Twiss 传输(Twiss)
简介
Twiss 元件基于 Twiss 参数实现 6D 线性光学传输。它使用束流光学函数(beta、alpha、mu、色散)构建传输矩阵,对粒子进行线性光学追踪,是连接 lattice 设计与粒子追踪的核心元件之一。
代码位置 :
PASS/commands/twiss.py类名 :
Twiss,注册名"twiss"核心特征 :
基于前后两点的 Twiss 参数(beta、alpha、相位)构建横向传输矩阵;
支持色散的去除与恢复,保证动量偏差粒子在色散区正确传输;
支持色品修正,动量偏差引起的 tune 偏移可自动计入相位;
纵向传输支持 drift、matrix 及单位矩阵三种模式;
支持 z 坐标回旋折叠,保持纵向坐标在环周长范围内;
支持孔径检查,与其它元件一致。
物理推导
纵向传输
纵向传输由 Longitudinal Transfer 参数控制,支持三种模式:
drift 模式 :使用 gamma transition 参数,纵向传输矩阵元为:
其中 \(\gamma_t\) 为过渡 gamma, \(\gamma\) 为粒子相对论 gamma, \(s\) 为当前纵向位置, \(s_\mathrm{previous}\) 为前一元件纵向位置。
matrix 模式 :使用纵向振荡频率,传输矩阵为:
其中 \(\phi_z\) 为纵向相移, \(\sigma_z\) 为束团纵向尺寸, \(\Delta p_\mathrm{bunch}\) 为束团动量展宽。
其他模式 :纵向传输矩阵取单位矩阵。
色散处理
由于横向传输矩阵描述的是非色散部分的运动,需要在传输前后对色散进行去除与恢复:
去除前一点色散 :
线性传输 :
加新点色散 :
其中 \(D_x\) 为当前点水平色散, \(D_{x,\mathrm{previous}}\) 为前一点水平色散, \(\Delta p\) 为粒子动量偏差。
横向传输矩阵
横向传输矩阵由前后两点的 Twiss 参数及相位差表示。以水平方向为例:
其中 \(\beta_x\) 、 \(\alpha_x\) 为当前点水平 Twiss 参数, \(\beta_{x,\mathrm{prev}}\) 、 \(\alpha_{x,\mathrm{prev}}\) 为前一点水平 Twiss 参数, \(\phi_x\) 为两点间的水平相移。
垂直方向(y)的传输矩阵形式完全相同,只需将下标 x 替换为 y。
色品修正
动量偏差会引起 tune 偏移,通过色品参数对相位进行修正:
其中 \(\Delta Q_x\) 、 \(\Delta Q_y\) 分别为水平与垂直色品, \(\Delta p\) 为粒子动量偏差。
z 坐标回旋折叠
为保持纵向坐标在环周长范围内,传输后对 z 坐标进行回旋折叠:
其中 \(C\) 为环周长, under 与 over 为折叠计数。
t0 更新
参考时间 t0 根据纵向位置变化更新:
其中 \(\beta\) 为粒子相对论速度, \(c\) 为光速。
接口参数
位置参数
参数名 |
键名 |
类型 |
单位 |
说明 |
|---|---|---|---|---|
|
|
float |
m |
当前元件纵向位置 |
|
|
float |
m |
前一元件纵向位置 |
|
|
str |
由序列键名自动填入 |
横向参数
参数名 |
键名 |
类型 |
单位 |
说明 |
|---|---|---|---|---|
|
|
float |
当前点水平 alpha |
|
|
|
float |
当前点垂直 alpha |
|
|
|
float |
前一点水平 alpha |
|
|
|
float |
前一点垂直 alpha |
|
|
|
float |
m |
当前点水平 beta |
|
|
float |
m |
当前点垂直 beta |
|
|
float |
m |
前一点水平 beta |
|
|
float |
m |
前一点垂直 beta |
|
|
float |
当前点水平相位 |
|
|
|
float |
当前点垂直相位 |
|
|
|
float |
前一点水平相位 |
|
|
|
float |
前一点垂直相位 |
纵向参数
参数名 |
键名 |
类型 |
单位 |
说明 |
|---|---|---|---|---|
|
|
str |
纵向传输模式(drift/matrix/其他) |
|
|
|
float |
当前点纵向相位(可选,默认0) |
|
|
|
float |
前一点纵向相位(可选,默认0) |
色散与色品
参数名 |
键名 |
类型 |
单位 |
说明 |
|---|---|---|---|---|
|
|
float |
m |
当前点水平色散 |
|
|
float |
m |
前一点水平色散 |
|
|
float |
当前点水平色散导数 |
|
|
|
float |
前一点水平色散导数 |
|
|
|
float |
水平色品 |
|
|
|
float |
垂直色品 |
孔径参数
参数名 |
键名 |
类型 |
单位 |
说明 |
|---|---|---|---|---|
|
|
str |
孔径类型(默认off) |
|
|
|
list |
孔径参数(默认[]) |
使用示例
以下 JSON 片段展示了一个完整的 Twiss 元件定义:
"Twiss1": {
"S (m)": 10.0,
"Command": "Twiss",
"S Previous (m)": 5.0,
"Alpha X": 0.5,
"Alpha Y": -0.3,
"Alpha X Previous": 0.4,
"Alpha Y Previous": -0.2,
"Beta X (m)": 3.5,
"Beta Y (m)": 2.8,
"Beta X Previous (m)": 3.0,
"Beta Y Previous (m)": 2.5,
"Mu X": 0.123,
"Mu Y": 0.456,
"Mu X Previous": 0.1,
"Mu Y Previous": 0.4,
"Dx (m)": 0.5,
"Dx Previous (m)": 0.3,
"Dpx": 0.01,
"Dpx Previous": 0.005,
"Dqx": 2.0,
"Dqy": 2.0,
"Longitudinal Transfer": "drift",
"Aperture Type": "off"
}
其中:
"S (m)": 10.0—— 当前元件纵向位置为 10.0 m;"S Previous (m)": 5.0—— 前一元件纵向位置为 5.0 m;"Alpha X": 0.5—— 当前点水平 alpha 为 0.5;"Beta X (m)": 3.5—— 当前点水平 beta 为 3.5 m;"Mu X": 0.123—— 当前点水平相位为 0.123(以 \(2\pi\) 为单位);"Dx (m)": 0.5—— 当前点水平色散为 0.5 m;"Dqx": 2.0—— 水平色品为 2.0;"Longitudinal Transfer": "drift"—— 纵向传输采用 drift 模式;"Aperture Type": "off"—— 关闭孔径检查。
应用场景
Twiss 元件适用于以下场景:
基于 lattice 设计的线性追踪 :当已有 MadX、AT 等光学计算程序输出的 Twiss 参数表时,可直接使用
Twiss元件进行粒子追踪,无需重新建模磁铁元件。色散与色品研究 :
Twiss元件内置色散去除/恢复与色品修正,适合研究动量偏差粒子的横向动力学。纵向动力学模拟 :通过选择 drift 或 matrix 纵向传输模式,可模拟不同纵向传输场景。
快速光学评估 :相比逐元件建模,基于 Twiss 参数的线性传输计算量更小,适合大规模参数扫描与初步评估。
与非线性元件混合使用 :
Twiss元件可与 sextupole、octupole 等非线性元件串联使用,在线性传输基础上叠加非线性效应。