---
title: "从保存状态重算一条棒势轨道"
description: "用独立Python积分读取角动量与力矩，重新射击六条周期母轨道，并复现预登记的失败例子。"
canonical_url: "https://sandboxphysics.com/zh/stories/galactic-bar-orbits/replay-a-bar-orbit-from-saved-states/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/galactic-bar-orbits/replay-a-bar-orbit-from-saved-states/"
last_modified: "2026-11-05"
---

[星系棒、共振与恒星迁移](https://sandboxphysics.com/zh/stories/galactic-bar-orbits/)

星系棒轨道 · L3

# 从保存状态重算一条棒势轨道

[打开旋转棒Lab](https://sandboxphysics.com/zh/labs/galactic-bar-orbits/)

Sandbox Physics · 2026-11-05

离开网页，也能重新积分示踪星、求出周期母轨道，再画出三张图。把独立科学程序解压到新目录，输出路径选择尚不存在的位置。算完以后，只读保存下来的状态，检验力矩怎样改变角动量。

## 开始前需要什么

先读力矩与周期轨道两章。需要已有Python环境及NumPy、SciPy、Matplotlib；程序不会安装依赖，默认计算也不联网。

## 运行前先看清小包里有什么

科学ZIP只包含自有Python程序、数值输入、来源说明和解释文字。清单逐项列出自身以外的成员，重放入口在计算前检查它们；改坏一个字节，或者指定已经存在的输出目录，都会拒绝继续。

引力势为 $\Phi=\ln R+Af(R)\cos[2(\phi-\Omega_pt)]$，取 $A=0.01$、$\Omega_p=1$、$R_b=0.5$。示踪星群状态用惯性坐标，周期母轨道则用随棒坐标。能量、角动量都按单位质量计，没有拟合银河系的长度或质量尺度。

与交互画面比较时，请选择任意一个母轨道预设，它们使用这份相同引力场。主默认状态的强度是0.04，属于另外一次释放。

```
python3 -W error replay.py --output /absolute/new/empty/run
```

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1 · Dehnen (1999v1/2000), The Effect of the Outer Lindblad Resonance of the Galactic Bar on the Local Stellar Velocity Distribution

## 顺着六个新计算往下看

第一步对二百五十六颗示踪星分别走五千一百二十步和一万零二百四十步，保存细网格结果。第二步用极坐标引力的独立DOP853方法对照十个原始测试初态，再计算解析圆轨道、小本轮振动和规定的振幅增长。第三、四步分别求内外两组母轨道根，实际走完各自完整周期。

第五步读取已完成的文件计算诊断；第六步从这些保存数组画图。包里没有放完成轨迹来代替积分。六条命令严格串行，每条最多运行一百二十秒。

作者第一次从空目录运行时，六步连同首次绘图和字体处理共用 $23.37\,\mathrm{s}$，输出约 $1.90\,\mathrm{MB}$。这是本地实测时间，不是所有电脑都一样的承诺；收条中分开记录了每条命令。

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1

## 把保存的角动量与力矩放在一起读

打开 population/population-record.npz，其中有时间、四分量惯性状态、等权采样权重，以及细步长力矩积分。每帧用 $L_z=xv_y-yv_x$ 算角动量，减去初值，再与保存的力矩时间积分比较。

图中选择的示踪星，末态 $\Delta L_z\simeq-0.0596448$。因 $v_0=1$，轴对称参考导引半径减少相同数值；这既不是当前半径，也还没有指定永久迁移后的终点。

保存的力矩差约为 $4.7\times10^{-14}$。KDK速度步和配套力矩求和共享一个离散角动量恒等式，因此接近舍入误差的吻合，首先检查的是内部一致性。独立十星轨迹对照的误差更大，按预定缩放范数约为 $2.44\times10^{-5}$，它才提供另一种轨迹精度证据。

[![同一次新保存示踪星群中的角动量变化与力矩时间积分。两条曲线都读取同一份保存状态。](https://sandboxphysics.com/stories/galactic-bar-orbits/materials/torque-changes-angular-momentum.svg)](https://sandboxphysics.com/stories/galactic-bar-orbits/materials/torque-changes-angular-momentum.svg)

自有新计算。蓝实线为选中恒星的角动量变化，橙虚线沿所有细步累积力矩。两者吻合本身不等于独立验证了轨迹。

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1

## 误差要沿整段历史检查

整个示踪星群的中细差除以三，最大约 $2.53\times10^{-5}$，小于原定 $2\times10^{-4}$ 门槛；每次细网格漂移检查得到的最小半径约 $0.7814$。这些量都不是只从二百五十七个保存时刻推出来的。

六条新求母轨道的参考返回误差最大约 $1.3\times10^{-14}$。另外三种KDK步长还会与完整参考轨迹比较；求根返回极小，不意味着另一种离散积分也有同样小的轨迹误差。

示踪星群统计量$Q_2$对双倍方位角的复指数做等权平均，幅度表示这份样本的角向不均匀。它没有按面积、质量、恒星年龄或光度加权，不能拿来代替星系亮度图。

$$
Q_2(t)=\sum_{i=1}^{256}\frac{1}{256}e^{2\mathrm{i}[\phi_i(t)-\Omega_pt]}
$$

复平均把双倍相对方位角的余弦和正弦分别平均，幅度表示这份等权样本的角向不均匀。

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1

## 失败例子也照原样留下

在初始半径1.45处，原宽括区两端的返回速度都为负。重放会记录实际残差，保留这次括区失败；成功的六条母轨道使用的是另行声明的窄区间。

快而暖的释放取 $A=0.04,\Omega_p=1.4,\sigma_R=0.08$，会穿过允许分支的内边界 $R=0.5$。读者程序在首次非法漂移就停止，并保存这个状态，没有忽略越界来拼出一条有效的完整轨迹。

增长例子先保留“Jacobi应当不变”这一假设的失败，再检查包含振幅功的正确关系。外层程序成功重现反例，不会让反例中的物理假设变成成功。

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1

## 换问题时，先换完整的物理定义

读新曲线前，先写参考系、单位、初始采样和完整时间变化。诊断使用的权重要与样本一致；除了守恒量，还要用独立积分或解析极限比较完整轨迹。

改变一个物理条件前，先规定误差与适用范围怎样检查。新轨道若进入排除的内侧分支，就留下失败输入；扰动若增长或消退，就先加显式功再判断守恒。末态属于这段历史，不能替代这段历史。

对应阅读：Sandbox Physics independent galactic-bar scientific reader v1 · Sellwood & Binney (2002), Radial mixing in galactic discs, astro-ph/0203510v2

## 练习与解释性答案

1. 力矩差已经接近舍入误差，为什么轨迹对照仍有十万分之几的差？

   展开解释

   配套积分与力矩求和共享离散恒等式，两者可以在略有偏移的轨道上极好地吻合。与独立DOP853解比较，才是在另外检查实际轨迹。

2. 能从这份示踪星群的$Q_2$推断棒的恒星质量吗？

   展开解释

   不能。样本使用等角权重，没有恒星质光模型，也没有自洽求解Poisson方程。$Q_2$描述的是规定势下这份样本的角向分布。

## 动手检验预测

### [把读者程序与实验输入对上](https://sandboxphysics.com/zh/labs/galactic-bar-orbits/)

1. 选择任意一个母轨道预设，保持强度0.01、模式速度1。
2. 导出已接受的示踪星群，计算前先确认惯性坐标、单位和生成代次。
3. 比较独立读者程序的引力场和采样。不同积分器应在已检精度内相符，不要求逐字节一样。

## 独立科学复算材料

[下载科学复算ZIP](https://sandboxphysics.com/stories/galactic-bar-orbits/materials/galactic-bar-orbits-reader-science-v1.zip) · [阅读安装与计算说明](https://sandboxphysics.com/stories/galactic-bar-orbits/materials/reader-setup.md)

独立ZIP零网络积分新示踪星群、独立极限和六条周期母轨道，三张图读取保存输出。原论文、原观测与交互程序不在包内。

[上一篇：周期轨道与恒星径向迁移](https://sandboxphysics.com/zh/stories/galactic-bar-orbits/periodic-orbits-and-radial-migration/) [下一篇：读懂2026年棒共振的相空间年轮](https://sandboxphysics.com/zh/stories/galactic-bar-orbits/reading-bar-resonance-tree-rings-2026/)

## 来源与计算范围

1. [Dehnen (1999v1/2000), The Effect of the Outer Lindblad Resonance of the Galactic Bar on the Local Stellar Velocity Distribution](https://arxiv.org/abs/astro-ph/9911161v1)

   固定十四页astro-ph/9911161v1，参数预飞已完整核读；对应式3、第3节与原轨道图。自有模型采用固定棒半径0.5和逆时针方向，原文历史银河系推断不当作当前测量。

2. [Sellwood & Binney (2002), Radial mixing in galactic discs, astro-ph/0203510v2](https://arxiv.org/abs/astro-ph/0203510v2)

   固定十三页v2，已完整核读。第2节单位质量能量与作用量交换，第3—4节短暂自引力波；原模拟与这里规定外棒势的示踪释放分别使用。

3. [Sandbox Physics independent galactic-bar scientific reader v1](https://sandboxphysics.com/stories/galactic-bar-orbits/materials/galactic-bar-orbits-reader-science-v1.zip)

   自有零网络Python积分与保存状态分析：完整二百五十六示踪星群、十个独立DOP853对照、圆轨道与本轮极限、规定增长功、六个新周期根和三张自有合成图。不含交互程序、完成轨道输入、原论文或观测数据。
