下载一个可以独立运行的实验目录
使用下方公开材料链接下载压缩包,解压到空目录。把分析脚本、八份 CSV 和出处 JSON 保持在同一目录。材料还包含可选原始轨迹生成脚本、说明、固定分析输出及校验和,匿名访问即可获得。
在该目录执行下面的命令。程序只使用 Python 标准库,结果写入新的分析目录。它会先检查积分器版本标识,并逐一核对原始文件与出处记录中的 SHA-256;不匹配就停止,避免悄悄换了一组实验。
将新生成的周期分析 JSON 与附带期望文件比较。在声明的 Python 浮点计算条件下,数值结果应可复算。平台和原始哈希记录在输入出处里,派生结果另外保留处理方法。
python3 analyze-frozen-orbits.py --data-dir . --output-dir rerun-analysis对应阅读:REBOUND 5.2.2 official Kozai example and IAS15 integrator · Tremaine & Yavetz, Why do Earth satellites stay up?, arXiv:1309.5244v1
每行数据究竟保存了什么
CSV 每行依次是时间、三个位置分量、三个速度分量,以及伴星的三个相对位置分量。坐标系以中心恒星为原点,轴不旋转。初始内轨近心点和伴星都朝第一轴正向,外轨绕第一轴倾斜。
引力常数、中心恒星质量、伴星质量与初始内轨半长轴都为一,内轨开普勒周期为二乘圆周率。将时间除以外内半长轴比的三次方,便得到无量纲世俗时间;保存间隔为零点零零五。
出处记录区分完整牛顿与瞬时四极文件。前一组由三粒子 IAS15 积分产生;两个四极对照则积分中心引力加声明的潮汐加速度,伴星按指定圆轨时钟运动。两组都保存实际积分得到的位置与速度。
分析先由叉积计算角动量,再从瞬时状态计算偏心率;平均向量方程另行积分,最大步长为零点零零一个世俗时间。两条历史都没有用拟合波形替代动力学。
对应阅读:REBOUND 5.2.2 official Kozai example and IAS15 integrator · Tremaine & Yavetz, Why do Earth satellites stay up?, arXiv:1309.5244v1
让周期估计避开快振荡
直接偏心率包含公转时间尺度上的细小起伏。如果直接寻找局部极大值,会把许多快振荡都当成世俗循环。脚本先用一个外轨周期做居中滑动平均,再挑选较高的极大值,把相隔不到一个世俗时间的候选峰合并,每组保留最高峰。
平滑后偏心率振幅至少达到零点二,才使用这套大幅循环估计。低倾角支便不报告大循环周期。近极轨记录在出现完整复现前已经停止,同样不报告周期;JSON 用空值并附解释。
报告周期是相邻选定峰的间隔平均。将平滑窗口减半和加倍,再计算一次,可以看出处理方法的敏感度。这不是统计置信区间:原始轨迹没有随机测量噪声,窗口变化检验的是分析选择。
这套方法针对当前记录设计。对于混沌或逐渐漂移的历史,应保留每段峰间隔并检查原始曲线,不宜强行压缩成一个平均周期。
对应阅读:REBOUND 5.2.2 official Kozai example and IAS15 integrator · Klein & Hamilton, Short-range forces beyond double averaging, arXiv:2606.19456v1
复算三个模型的对照结果
默认完整力轨迹的分组峰时刻为二点五一零和七点五六五个世俗时间,因此周期为五点零五五;独立平均记录为五点零二五。直接最大偏心率约零点八四三四八七,平均最大值为零点八三八九零九。另行检验的前三个世俗时间内,积分器之间的误差远小于这些模型差异。
再看初始倾角同为七十五度的配对记录。外内半长轴比为六时,完整牛顿、瞬时四极、双平均的周期分别为五点零零五、四点八一零、四点六七零;比值为二十时,分别为四点六七五、四点六六五、四点六七零。输出中的受控比较分组把这三个结果放在一起。
瞬时四极与双平均比较,在相同空间阶数下检查快相位被平均的影响;完整牛顿与瞬时四极比较,则检查空间截断。长时间非线性相位差和有限峰选取也会影响结果,两种残差不一定能当作线性修正相加。
派生 CSV 提供原始偏心率、平滑曲线、平均偏心率和共同时间上的差值。近极轨派生文件只写双方共同存活的区间,摘要仍保留两个模型各自完成的终止时间。
对应阅读:Liu, Muñoz & Lai, Short-range forces in triple systems, arXiv:1409.6717v2 · REBOUND 5.2.2 official Kozai example and IAS15 integrator · Klein & Hamilton, Short-range forces beyond double averaging, arXiv:2606.19456v1
先改变分析选择,再考虑重做积分
第一个值得尝试的改动是平滑窗口,保持力模型不变。记录哪些峰移动、周期判断是否稳定。再比较对相位敏感的位置误差与慢变偏心率误差,这样能区分分析选择和积分选择。
如需重算原始轨迹,在独立环境安装固定 REBOUND 5.2.2,再运行下面的可选生成脚本。出处会写入源提交、软件许可、平台、精确初值、精度参数与停止条件。不同平台可能让 CSV 最末位和哈希改变,应保留新生成的出处,不能套用旧哈希。
输出中的相对论例子只积分平均模型,强度为零点八、最大偏心率约零点六二九二七八,并注明直接参照采用牛顿模型。直接验证还需要一套物理一致、经过独立检验的相对论力方程。
python3 generate-ias15-reference.py --output-dir regenerated-inputs
python3 analyze-frozen-orbits.py --data-dir regenerated-inputs --output-dir regenerated-analysis对应阅读:REBOUND 5.2.2 official Kozai example and IAS15 integrator · Liu, Muñoz & Lai, Short-range forces in triple systems, arXiv:1409.6717v2