ElectronCooler(电子冷却)
ElectronCooler 在有限长度冷却段内输运离子,并计算离子与给定电子库之间的
非相干碰撞。电子束支持直流和高斯束团模式,横向密度可选均匀圆形或高斯分布。
NumPy、CuPy 粒子数组使用相同物理模型。ElectronBeamConfig 和
ElectronCoolerItem 由 PASS.para.schema、PASS.para.api 导出,
无需新增顶层命名配置。
电子库不会响应离子束而演化。本元件不模拟阴极发射、自洽电子光学、集体屏蔽动力学、 复合、相干电子冷却或电子库耗竭。
碰撞模型
|
功能 |
假设与限制 |
|---|---|---|
|
非磁化高斯 Landau 摩擦和动量扩散。 |
支持任意对称正定 3×3 局部电子速度协方差。名称指速度分布,与空间密度 形状无关。即使设置螺线管场,碰撞算子也不包含电子回旋。 |
|
经验磁化摩擦。 |
要求磁场非零、电子轴倾角为零且 |
|
有限作用窗磁化响应摩擦与扩散。 |
弱响应、弱偏转、局部均匀且回旋对称电子库的数值参考模型。要求显式冲量参数 截断、正轴向磁场、电子轴倾角为零、两个横向热方差相等且交叉协方差为零。 |
磁化响应后端不是覆盖高密度实际冷却器全部工况的通用模型。超出适用域或积分不收敛 时明确报错,不静默切换公式。其约束包括 \(\omega_pT_*\leq0.3\)、 \(\omega_iT_*\leq0.1\) 和不大于 0.1 的紫外截断偏转度量。 \(T_*\) 是整段物理作用时间,\(\omega_p\) 是电子等离子体频率, \(\omega_i=|Z|eB/M\) 是离子回旋频率。这些有限窗系数作为局部 Markov 踢作用:离子动量和局部电子库在该物理窗口内必须变化很小;程序不求解相邻踢之间 全部时间相关性。系数描述与初始无关联、局部均匀的新电子库之间的一次有限作用, 包含瞬态极化;不声称有限窗 Maxwell 细致平衡,也不代表一般屏蔽等离子体平衡。
最大电子热 RMS 速度、实际遇到的局部平均剪切速度以及参与碰撞的离子相对电子速度 均不得超过 \(0.05c\)。实验室系参考运动可相对论化,但热碰撞模型仍为非相对论。 高斯 RMS 检查用于控制近似适用域,不截断高斯分布的数学尾部。
Python 示例
将下面元件加入含 Injection 和相邻束线输运的序列。电子能量独立于离子参考能量, 不会跟随离子质心自动变化。速度匹配要求 \(E_{k,e}=(\gamma_i-1)m_ec^2\)。
from PASS.para.schema import ElectronBeamConfig, ElectronCoolerItem
electrons = ElectronBeamConfig(
kinetic_energy=1000.0, profile="uniform_round", radius=0.01,
mode="dc", current=0.1,
temperature_transverse=0.1, temperature_longitudinal=0.001,
)
sequence.add(
"cooler",
ElectronCoolerItem(
s=12.0, length=2.0, electron_beam=electrons,
model="gaussian", diffusion=True, coulomb_log=10.0,
num_slices=8, random_seed=2026, save_diagnostics=True,
save_turns=[[0, 1000, 10]],
),
)
该元件占据 [10, 12] m,S (m) 是出口位置。不要再用独立 Drift 或 Solenoid
重复输运同一段。
元件接口
别名不区分大小写;未知字段和重复别名会报错。输入必须有限。整数控制量与布尔量
不接受字符串或可强制转换的浮点数。标准 Order 和孔径字段继承自
ElementBase,参见 输入文件生成(命令行模式)。
Python 字段 |
JSON 键 |
默认值 |
含义 |
|---|---|---|---|
|
|
必填;0 |
出口位置和非负物理长度。 |
|
|
必填 |
一个 |
|
|
|
上述三种碰撞模型之一。 |
|
|
True、True |
分别控制整体碰撞漂移与噪声、仅扩散噪声。关闭碰撞后仍保留输运和可选平滑场。 |
|
|
0、False |
带符号均匀轴向磁场;可选给定电子束平滑自场。 |
|
|
None |
正的固定 Gaussian/Parkhomchuk 库仑对数;省略则使用有效截断。 磁化响应不允许指定此项。 |
|
|
None、None |
磁化响应要求显式 \(0<b_{\min}<b_{\max}\);最大值也可限制 Gaussian/Parkhomchuk 自动截断,但不能与固定库仑对数同时使用。 |
|
|
0 |
Parkhomchuk 中代表未解析场误差或漂移的附加 RMS 速度。 |
|
|
1 |
正整数输运/碰撞分段数。 |
|
|
0.05、1000 |
碰撞漂移/扩散自适应步长控制,以及每个输运段最大内部碰撞子步数。 |
|
|
64 |
Gaussian 速度积分每个积分区间的阶数,至少 8。 |
|
|
16、12、16、64 |
磁化响应初始积分阶数;加密时四者同时增加。 |
|
|
0.02、2 |
磁化积分收敛控制;容差范围 [1e-6, 0.1]。不收敛时抛出错误。 |
|
|
None |
非负严格整数,或非确定性熵;JSON 保留 null。 |
|
|
False、[] |
空选择表示每圈;否则使用 [turn] 或含端点的 [start, end, step] 条目。 |
仅属于未启用模型的数值参数不能偏离默认值。离子自身空间电荷和 IBS 使用独立显式 命令;组合格架时避免重复计算相同物理作用。
电子库接口
宽度参数描述入口;可选出口宽度规定宽度自身沿程线性插值,省略则保持常数。 这是给定包络,不是自洽电子输运或连续性方程解。
Python 字段 |
JSON 键 |
默认值 |
含义 |
|---|---|---|---|
|
|
必填 |
每个电子的正动能。 |
|
|
|
横向空间密度: |
|
|
None |
均匀圆形分布的正硬边界半径,入口半径必填。 |
|
|
None |
高斯正 RMS 尺寸,两个入口尺寸均必填。 |
|
|
|
直流模式要求非负电子电流幅值。 |
|
|
None |
|
|
|
0、None |
入口处电子脉冲中心时刻和可选正重复频率。重复模式定义无限脉冲列; 中心时刻是相位原点,不是开启时刻。省略重复频率时只有一个脉冲。 |
|
|
0 |
电子轴入口偏移和方向;局部坐标基随电子轴旋转,离子参考轨道不随之改变。 两个磁化碰撞模型均要求倾角为零;未解析场线缺陷可由 Parkhomchuk 的 附加有效速度展宽近似表示。 |
|
|
None |
电子平均静止系中正的 \(k_BT\),单位 eV,横向按每个笛卡尔分量。 两个温度同时指定,或改用协方差。 |
|
|
None |
电子轴坐标基、电子平均静止系中的对称正定 3×3 条件协方差。 |
|
|
None |
有限 3×2 矩阵 \(G\),给出局部平均速度 \(\bar{\mathbf u}_e=G(x_e,y_e)^T\);省略时为零。 磁化响应只允许纵向一行非零。 |
温度输入给出 \(C=\mathrm{diag}(T_\perp,T_\perp,T_\parallel)e/m_e\)。 存在剪切时,\(C\) 是给定局部位置的条件协方差,不是对整个电子束平均后的协方差。 直流电子固有密度为
束团模式用 \(Q_bh(t)\) 替换 \(I\),其中 \(h\) 是归一化高斯到达时间 分布。重复脉冲包含相互重叠。电流和电荷输入均为非负幅值,平滑场使用负电子电荷。
碰撞方程
令 \(M\) 为完整离子质量、\(g=|Z|e^2/(4\pi\epsilon_0)\)、 \(\mathbf w=\mathbf v-\mathbf u\)。下式平均使用归一化局部电子速度分布。 非磁化系数为
高斯 Rosenbluth 卷积采用一维数值积分,积分区间围绕热协方差特征值尺度进行几何分区。 \(\mathbf F_*\) 单位为 N, \(Q_*=d\,\mathrm{cov}(\Delta\mathbf p_*)/dt_*\) 单位为 \(\mathrm{kg^2\,m^2\,s^{-3}}\)。随机增量是
这里没有额外的因子 2。模型保留离子反冲,也不扣除平均踢;能量失配或轴线失配可以 改变离子质心。碰撞更新使用 Itô Euler–Maruyama,弱阶为 1、强阶为 1/2; 仅摩擦的碰撞步进也是一阶。对称输运半映射不会提高碰撞积分本身的阶数。 各向同性热库的平衡验证使用固定库仑对数。自动库仑对数在微观电子速度 积分之外保持局部常数,是有效近似;不能据此声称速度相关库仑对数的精确细致平衡。
Gaussian 自动截断为
其中 \(\mu=m_eM/(m_e+M)\)、\(\omega_p^2=n_*e^2/(\epsilon_0m_e)\);
\(a\) 为局部硬半径或两个高斯 RMS 尺寸中较小者。
Max impact parameter (m) 可以进一步限制上界。
Parkhomchuk 使用
其中 \(u^2=v^2+\sigma_\parallel^2+v_{\rm extra}^2\)、 \(b_{90}=g/(m_eu^2)\)、 \(\rho_L=\sqrt2m_e\sigma_\perp/(e|B|)\)。 \(\sigma_\perp\) 是单个笛卡尔分量的 RMS 速度。 该经验摩擦定律不定义扩散张量。输入完整协方差时,Parkhomchuk 将其化约为 \(\sigma_\parallel^2=C_{zz}\) 和 \(\sigma_\perp^2=(C_{xx}+C_{yy})/2\), 忽略交叉相关;只有 Gaussian 模型积分使用完整各向异性协方差。
磁化响应使用 \(\Omega=eB/m_e\)、\(\alpha=2g^2/\pi\),以及
初始均匀、相互独立且沿未扰动螺旋线运动的电子给出
Fourier 截断约定为 \(k_{\min}=1/b_{\max}\)、 \(k_{\max}=1/b_{\min}\)。反冲项是 \(\nabla_{\mathbf v}\cdot Q_*/(2M)\),不是人为指定的 Einstein 噪声律。 零磁场、长窗口极限恢复库仑对数为 \(\ln\Lambda=\ln(b_{\max}/b_{\min})\) 的 Landau 系数。 底层系数函数支持零磁场验证极限,磁化命令配置则要求正磁场。 积分加密时四个阶数同时翻倍,检查力/张量相对误差、张量正性以及回旋相位分辨率。 这种受控弱响应参考计算的数值开销可能较高。
输运、时钟与平滑场
每个正长度分段采用半段输运、碰撞/平均场踢、半段输运。零磁场使用漂移, 非零轴向磁场使用均匀螺线管映射;耗散和扩散不使用负 Yoshida 子步。 螺线管内部的机械横向动量为 \(p_x^{\rm mech}/P_0=p_x+k_sy/2\)、 \(p_y^{\rm mech}/P_0=p_y-k_sx/2\),碰撞速度由这些机械动量计算。
坐标 boost 使用相对论机械动量。PASS 的 \(dp=(|\mathbf P|-P_0)/P_0\) 是总动量偏差,不是纵向动量偏差。 完整离子的 SI 冲量转换回 PASS 的每核子归一化。参考能量不会跟随冷却质心变化。 输运只把 \(t_0\) 推进一次 \(L/(\beta_0c)\), 连续 \(z\) 随飞行时间差演化。物理节点上的粒子时刻为 \(t_i=t_{0,\rm node}-z_i/(\beta_0c)\),束团分组元数据不参与该时钟。
改变数值分辨率时,整段物理作用时间保持不变。平行轴时 \(T_*=\gamma_eL(1-\beta_e\beta_0)/(\beta_0c)\)。 该截断时间沿理想离子参考世界线计算,而每次踢的实际时间增量沿粒子世界线计算。 截断因此采用接近参考运动的近似;宽分布或明显失配的束流需要检查飞越时间截断的 敏感性。精确动量 boost 并不能消除这项近似。 若在截断公式中用数值分段长度代替整段物理长度,增加分段数就会改变物理模型, 参见 JSPEC 厚冷却器研究,IPAC 2023,TUPM030。 物理长度为零时坐标和时钟保持不变。
Mean space charge=True 独立于碰撞地加入准静态、局部均匀、长束近似下的
电子横向平滑场。静止系作用力和 boost 包含实验室系磁场抵消;
平行近等速横向力含 \(1-\beta_e\beta_i\) 因子。
这不同于静止电子云,也不同于离子自身空间电荷。
束团电子要求 \(\gamma_e\beta_ec\sigma_t\geq10a_{\max}\), 其中使用配置的入口/出口半径或 RMS 宽度最大值。 模型不包含端部场、导电管镜像、纵向空间电荷加速或一般三维有限束团场, 也不按空间电荷电势降自动修正电子动能。
诊断、组件状态与 IBS
选中圈次的调用追加到每个冷却器独立的 JSONL 文件:
output/electron_cooler/beam<id>_<name>_<unique>.jsonl,
同时更新 last_diagnostics。记录包括模型和参考系、作用长度、粒子数/损失、
子步数、密度/重叠、平均力、扩散对角项、能量交换以及模型特有数值检查。
密度、重叠与系数摘要描述最后一个作用节点;能量交换与子步数按整个元件累加。
真实束流所代表的总能量交换包含宏粒子权重。
随机流按束流、命令名和束团分离,粒子按稳定 tag 顺序汇集。
NumPy 随机数驱动两个后端,但浮点轨迹不要求逐位一致。
state_dict() 保存配置身份、熵、调用计数与随机数状态;
load_state_dict() 仅恢复当前冷却器的组件状态。匹配的粒子、参考状态和执行
边界仍需由调用者负责。这些 API 不提供完整模拟重启;跟踪入口从第 0 圈开始新运行。
冷却—IBS 平衡要求使用 IBS 的 kinetic 或 binary 实际跟踪;
bjorken_mtingwa 只报告增长率。解释平衡结果前,应验证格架采样、碰撞步长、
宏粒子数及随机统计的收敛。仅 Parkhomchuk 摩擦不能预言电子碰撞的扩散下限。
参见 束内散射(IBS)。
参考资料
Y. Derbenev, Theory of Electron Cooling, arXiv:1703.09735:非磁化力/扩散及磁化响应。 上述有限窗平均与反冲归一化明确了本程序采用的数值变体。
A. V. Fedotov et al., Numerical Studies of the Friction Force for the RHIC Electron Cooler, PAC 2005, TPAT092:经验磁化摩擦、 有效速度与截断约定。