继续阅读
磁张力怎样放大吸积盘中的扰动 · 阅读路径
L3 · 方法指南
检查一次小型 MRI 计算,可以从四组保存的场数据开始:先在每个高度算出动量通量,再把剪切做的功与扰动能量的增加相比较。下载包里有十一组已经算完的线性通道实验。下面先用两个只读命令检查旧结果,不推进时间。
要回答的问题很具体:场值、应力与分辨率误差,能否对应同一次计算?
公开版调整了文件路径和参考标签。原始852,417字节的离线包SHA-256为8e5918ecefd472a171ce7a7a17c2ae44659a71db9e3ac36bf2c4d1aac9e2972c。这里的277个压缩场帧与原包逐字节相同。元数据版本也实际检查运行了一次,计时4.24秒、驻留内存峰值25,296,896字节;下载包内包含所用源码和明确标注为摘录的计时说明。
下载 linear-channel-replay-public.zip,文件大小为 849,925 字节;再下载独立的保存场测量脚本。把两个文件放进一个新的工作目录。ZIP 的 SHA-256 应为:
680ce195877487db5520cde1b4233fea89e91e46589daca562045feff24c4ef9
原计算使用 Python 3.14.3。准备好这个版本后,运行:
shasum -a 256 linear-channel-replay-public.zip
unzip linear-channel-replay-public.zip -d mri-replay
cd mri-replay
python3 -I -B source/inspect_saved.py --bundle .
python3 -I -B ../measure_saved_fields.py --bundle . --out ../field-measurements.json
两个脚本都只用 Python 标准库。解压前先比较校验值。包内检查器会检查清单中的 299 个文件和 277 帧场数据,输出 PASS_SAVED_FIELD_INSPECTION_ONLY,并注明 newTimeSteps: 0。独立测量脚本也先验证全部文件的校验值,随后从四组数组重新算能量、应力和傅里叶系数,输出 PASS_READ_ONLY_FIELD_MEASUREMENTS。输出文件名必须尚未存在。
ZIP 一共有 300 个成员;manifest.json 没有把自身列进校验清单。source/ 中的四个文件包含演化和检查代码,records/receipt.json.gz 保存原来的十一组实验及 45 项通过的比较。今天重新检查保存数据,并没有重新运行当时的演化。原来受外部程序监督的计算耗时 4.67 秒,内存峰值为 26,001,408 字节。这是那台机器上的实测值,其他电脑的运行时间可以不同。
用支持 gzip 的 JSON 阅读工具打开 records/keplerian-fastest/00600.json.gz。它保存代码时间 1.5 的场。field 从前到后依次是径向速度扰动、方位速度扰动、径向磁扰动和方位磁扰动,每组都有 256 个采样点。下标 0 位于周期竖直区间的起点,下标 64 位于四分之一波长处。
坐标 指向径向外侧, 沿轨道转动方向, 沿竖直方向。磁扰动换成了速度单位:
其中 是均匀密度, 是磁导率。速度随高度按正弦变化,磁扰动按余弦变化。流体没有竖直速度,背景竖直磁场保持恒定。空间求解器推进的是周期网格上的四组数组,竖直导数由相邻网格点求出。
要换回物理单位,先选定箱体高度 、参考频率 和密度 。保存的高度区间长度为一,时间单位为 ,速度单位为 。保存的能量密度或应力乘以 ,才得到物理单位下的数值;代码中的密度为一。
记录的 tension 是频率 在这套固定单位下的数值, 为竖直波数, 为背景阿尔芬速度。旋转参考实验取 ,因此数值也等于 。不旋转的阿尔芬实验取 ,tension 仍为 0.8,时钟仍以 为准。把它除以局部的零转速,会丢掉这个极限实验本来的含义。
实际保存的四个场分量,以及同一高度上的两种应力乘积;窄屏使用另绘版式。
下标 64 处,两个速度约为 和 。两个磁扰动接近零,因为这里的余弦为零;它们的峰值在相隔四分之一波长的位置。只看速度箭头,无法判断磁应力在哪里最大。图中的曲线直接取自这一帧,没有补算新的演化。
在有 个等距采样点的网格上,计算
第一行给出体积平均的扰动能量密度,后两行分别是雷诺应力和麦克斯韦应力,描述相关运动与磁张力怎样输运轨道动量。在这里的坐标约定下,总应力 为正,表示径向向外的角动量输运。必须先逐点相乘,再平均。若先把每个分量平均,正弦和余弦都会得到零,随后相乘就会错过真实的通量。
最快增长的实验在代码时间 3 结束,此时
这些数都使用代码的能量密度单位。磁应力与速度应力的比值约为 1.666746,接近连续模型中最快本征模的 ,小差别来自有限网格。这个比值由指定的线性本征模决定。湍流盘的应力比需要另行计算。
背景剪切向扰动供能的速率是
其中 描述差动转动。保存的 integratedShearWork 用每个时间步的四个 Runge–Kutta 阶段的应力累加而成,与末态能量差分别计算。最快实验给出 。从 中减去它,再取绝对值并除以 ,约得 。
测量脚本还用保存的 25 帧应力做了梯形积分,得到 ,比能量增量高约 0.293%。这是另一种时间采样造成的差别。增长的指数曲线向上弯曲,跨过较宽区间的梯形会多算面积;原演化用了密得多的时间步,每一步还有四个阶段。原来的严格功率比较针对阶段积分;稀疏快照的积分还带有采样误差。
三组空间实验使用同一个连续模型本征向量作为初态,演化到相同终点。四分量向量的相对误差为:
| 竖直采样点数 | 场的相对误差 |
|---|---|
| 64 | 0.001287717890 |
| 128 | 0.000321942474 |
| 256 | 0.000080486418 |
测量脚本把末态场投影到规定的正弦或余弦基底,再与保存的解析目标比较。网格点数每加倍一次,误差分别缩小 3.99984 和 3.99996 倍,符合中心差分导数的二阶空间精度。
从保存场重新测得的空间与时间误差。
三组时间实验则固定 32 个网格点,时间步长依次为 0.02、0.01 和 0.005。它们的初态与目标使用中心差分对应的有效波数,把连续空间与离散空间之间的差别移出了这项比较。误差约为 、 和 ,每减半一次步长,误差缩小 15.9122 和 15.9574 倍,接近四阶方法的 16 倍。若在这里改用连续模型的目标,空间误差会先成为下限,遮住时间精度。
公开数据把参考目标命名为expectedReferenceProjection;时间实验的referenceKind为semidiscrete-eigenmode,其他组为continuum。原控制程序从解析参考中取得初始向量和比较目标。空间步进器只接收四个场、转速、剪切、阿尔芬速度和时间步长,不接收预期末态数组。从原场重新算乘积,检查的是保存的诊断量;连续极限、空间收敛和时间收敛又各自检查不同的物理或数值性质。文件校验值说明拿到的是哪份文件,物理准确性则要靠单独的科学比较。
若要从头推进同样的十一组实验,在解压根目录中指定一个全新的输出目录:
python3 -S -B source/qualify.py --out rerun-01
这个命令会演化场,只用 Python 标准库,原来的 records/ 保持原样。作者资格检查曾使用外部 120 秒监督程序;脚本自身每次检查已运行时间是否超过 110 秒,并要求启动时至少有两 GB 可用磁盘空间,最后还记录并比较 128 MB 内存峰值和 15 MB 新输出上限。内存报告的字节解释按 macOS 编写。若有比较失败,保留终端输出和整个新目录;先查清舍入差异或平台资源统计,再考虑阈值。
每组完整返回的结果会先保存,再接受比较。失败项会留下名称、实测值和上限,压缩收据的 failure 则给出异常信息。先读第一次失败。某组若在中途异常退出,即使没有完整结果行,目录里也可能已经有保存帧。程序拒绝覆盖已有输出目录。只读检查若遇到校验值不符,会在解码数值记录前停止。
这批实验是理想、不可压缩、水平匀质、竖直周期的线性通道,只考察短时间小振幅下的增长、振荡极限、剪切功和分辨率依赖。模型没有热压强归一化,保存的应力不是吸积参数 。
浏览器 Lab 计算连续模型的线性通道,并导出自己的采样场。它的初始振幅、进入页面时展示的代表时刻和振幅停止条件,与这份离线包不同;离线包固定种子尺度为 ,各组都算到时间 3。比较时应对齐参数与经过的时间,查看增长率、应力比或 ,绝对能量不必相等。Lab 没有导入这些离线帧的入口。页面导出与这份下载包是分别标明身份的两组数据。
先预测“各分量先平均,再相乘”会得到什么。在四分之一波长处读出两个速度并相乘,再与体积平均应力比较,解释两种操作为什么不同。
接着比较 field-measurements.json 中的两种积分功。找出哪一种使用了每个积分阶段,哪一种只使用保存帧。说明为什么加密保存快照,可以改善后者,却不用改变原来的演化轨迹。
换一个离线数据集时,也按这个次序做:确认文件版本,读清坐标和单位,从场算一个诊断量,选一个物理上独立的比较,分开检查网格与时间误差,保留第一次失败。这样每个数都有明确的问题可以回答。
离线包的模型说明列明了所用原典:Balbus与Hawley(1991)的式2.2及2.5—2.9,以及Stone与Gardiner(2010)的第II—III节。Balbus与Hawley原始扫描。Stone与Gardiner固定版本。
磁张力怎样放大吸积盘中的扰动 · 阅读路径