---
title: "复算流动增长率与有界双流体环片"
description: "独立运行六根、八根、时间积分与二维网格基准，保留输入、输出、数值扩散和失效极限。"
canonical_url: "https://sandboxphysics.com/zh/stories/dust-gas/streaming-replay/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/dust-gas/streaming-replay/"
last_modified: "2026-10-28"
---

[气体、小石子与最初的聚集](https://sandboxphysics.com/zh/stories/dust-gas/)

AC14 · L3

# 复算流动增长率与有界双流体环片

Sandbox Physics · 2026-10-28

同一个线性增长，可以用两套独立组装的色散问题、直接时间积分和有限网格分别检验。比较时，要让不可压与弱可压模型各自对应自己的参考。

## 开始前需要什么

先读《给流动波两个可以增长的方向》。需要 Python 3.10+、固定 NumPy 2.0.2和 SciPy 1.13.1；公开科学文件放在同一文件夹即可。

## 固定实验，再安装小工具

下载下方科学脚本、输入、固定输出和出处。主计算使用自行给定的均匀气尘背景与小扰动，是数值基准。另附的 DSHARP 实测亮度属于最后的原文导读，不进入流动模式初态。

在新环境安装固定依赖。输入列出两组发表基准、单位、波数、格数、步长和种子振幅，输出记录原样输入的 SHA-256。改参数前，先另存副本。

```
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 -W error replay-streaming.py --input streaming-input.json --out streaming-replay-rerun.json
```

对应阅读：Youdin & Goodman 2005, Streaming Instabilities, arXiv v1 · Benítez-Llambay, Krapp & Pessah 2019, FARGO3D multifluid tests, v3

## 独立组装两个六根问题

第一种写法沿上一章的气体、尘埃分相方程，把气体投影到两个横向基矢，再接尘埃三速度与一个相对密度振幅，交给 NumPy 对六阶复矩阵求本征值。

第二套直接转写 Youdin–Goodman 原文式26–31，变量改成质心速度、相对速度、总密度扰动与压强。它保留代数不可压条件，不先消去压强，由 SciPy 解广义本征问题。有限本征值给出六个物理根，两个无穷代数根来自约束变量。

比较时逐个比较全部有限根。固定例子里，两种组装达到浮点精度的一致；这能检查变量变换与密度反馈，而不只是从同一个矩阵再生成一个特征多项式。

对应阅读：Youdin & Goodman 2005, Streaming Instabilities, arXiv v1

## 与完整八状态发表基准比较

弱可压系统保留气体密度与三个速度，再接尘埃密度与三个速度。取 $c_s/(\eta v_{\rm K})=20$。气体阻力系数含 $\rho_{\rm d}/\rho_{\rm g}$，所以一阶反馈中有 $\epsilon(\delta_{\rm d}-\delta_{\rm g})\mathbf W/t_{\rm stop}$。

完整系统得到 LinA $0.4190091323\Omega$、LinB $0.0154862262\Omega$，与 Benítez-Llambay 等人2019表4的打印精度一致。附录E给出方程，第3.5.3节式86解释与早期 Youdin–Johansen 表1的小差别；输出分别保存发表数值与独立求根。

这里采用 $e^{\sigma t+ikx}$，实部为正表示增长；2019原文用 $e^{-\omega t+ikx}$，表中复本征值是这里的相反数。其密度振幅为绝对量，六状态方程采用相对尘埃振幅；比较向量前要先统一归一。

对应阅读：Benítez-Llambay, Krapp & Pessah 2019, FARGO3D multifluid tests, v3 · Youdin & Johansen 2007, Linear Evolution and Numerical Methods, v1

## 让时间积分测出增长

将增长本征向量的相对尘埃系数归一为一，再乘 $10^{-6}$。独立 DOP853 积分在 $4/\Omega$ 内真正推进复振幅，用尘埃振幅对数随时间的斜率测增长率。

默认不可压增长率分别是0.41903111和0.015456678，ODE 拟合恢复了它们。种子要足够小，让速度与密度仍是背景上的微扰；把线性方程画到很大的振幅，仍然只是线性外推。

对应阅读：Youdin & Goodman 2005, Streaming Instabilities, arXiv v1 · Youdin & Johansen 2007, Linear Evolution and Numerical Methods, v1

## 再推进真正的径向—垂直网格

网格助手在每个单元推进气尘速度与相对尘埃密度，周期方框的两个方向各容一个波长。空间采用中心差分，通过离散 Fourier 压强投影保持气体不可压，再用四阶 Runge–Kutta 推进时间。每种物质的三个速度分量均保留，但方程仍是线性化的。

中心差分对一个解析波形，代表的有效波数与连续值有差别。每个网格先给相应的离散本征向量，再比较实测增长与该离散参考；增长率没有输入积分器。盒内物理波长相同，增加格数会把离散率带向连续率。

$$
k_{\rm eff}=\frac{\sin(k\Delta x)}{\Delta x}
$$

这是中心差分作用于 Fourier 波的精确导数符号，先解释空间收敛，再讨论物理。

对应阅读：Youdin & Johansen 2007, Linear Evolution and Numerical Methods, v1 · Benítez-Llambay, Krapp & Pessah 2019, FARGO3D multifluid tests, v3

## 读取实际收敛与对照

下方图表读取固定数值输出。LinA 每波长16、32、64格给出0.41247010、0.41739996、0.41862389，接近连续不可压值0.41903111；LinB 对应0.015472384、0.015465589、0.015459218，接近0.015456678。另在32格将步长减半，单独检查时间误差。

若直接在粗网格播入连续本征向量，可能混入多个离散模式，早期尘埃增长会偏离主本征率。离散匹配种子用来单独检验积分器，细化网格则检验对连续方程的近似。

输出还分别关闭反馈、垂直变化和压强驱动漂移，这些完整不可压对照不再保持正增长。相同扩散率是对全部扰动的简化假定。终端速度三次式也保存作比较，并附停止时间乘波数的适用域指标；短波长 LinA 位于其紧耦合范围之外。

实际合成 LinA 放大。青色实线为独立时间 ODE，琥珀虚线为每波长32格的径向—垂直网格实测 RMS，并除以初始 RMS。横轴时间为角频率倒数，两条曲线分别播入其连续/离散本征种子。

实际独立求根与积分网格结果，增长率按角频率归一。六状态不可压与完整八状态弱可压是不同系统。

| 情形 | 六状态根 | 完整八状态根 | 32格网格 | 64格网格 |
| --- | --- | --- | --- | --- |
| linA | $0.4190311$ | $0.4190091$ | $0.4174000$ | $0.4186239$ |
| linB | $0.01545668$ | $0.01548623$ | $0.01546559$ | $0.01545922$ |

对应阅读：Youdin & Goodman 2005, Streaming Instabilities, arXiv v1 · Umurhan, Estrada & Cuzzi 2020, Streaming Instability in Turbulent Disks, v4

## 另看非线性径向计算

radial-results 文件保存气压陷阱实际有限体积快照，以及空间、时间步长比较。无需交互引擎，也能检查两种物质的质量与气体响应。默认128格与1024格参考在剖面和峰高上都有差别，前一章已量化。

径向模型的密度与速度可以非线性演变，但没有垂直模式；这里的网格基准有两个空间方向，却仍是线性方程。研究聚团阈值时，接着读分层原文模拟，并保留其分辨率、粒子处理与混合条件。

对应阅读：Youdin & Johansen 2007, Linear Evolution and Numerical Methods, v1 · Li & Youdin 2021, Thresholds for Particle Clumping, v2

## 练习与解释性答案

1. 为什么粗网格中放入连续本征向量，早期增长可能与预期根不同？

   展开解释

   空间离散改变了线性算符。连续向量一般是多个离散本征向量的混合，各分量增长与相位不同，会出现暂态。匹配离散种子单独检验时间积分，细化网格则检验连续近似。

2. 弱可压与不可压增长率在第五位不同，是否该改方程让它们相同？

   展开解释

   两者采用不同物理近似。分别与独立参考比较，说明声速与反馈约定，并保留实际差异。

## 动手检验预测

### [把数值基准接回可玩的模型](https://sandboxphysics.com/zh/labs/protoplanetary-dust-traps/)

1. 选择线性波，在小振幅停止前导出；复系数与历史描述同一份密度场。
2. 将积分增长与不可压六状态基准比较。
3. 回到径向陷阱，指出它缺少哪些流动模式，并描述其峰高记录的物理过程。

[上一篇：给流动波两个可以增长的方向](https://sandboxphysics.com/zh/stories/dust-gas/two-directions-to-grow/) [下一篇：顺着亮环与聚团阈值读原论文](https://sandboxphysics.com/zh/stories/dust-gas/rings-and-thresholds/)

把科学文件放在同一文件夹，按 requirements.txt 安装固定 NumPy/SciPy 版本即可独立运行。

- [流动根、ODE 与网格重跑](https://sandboxphysics.com/stories/dust-gas/downloads/replay-streaming.py)
- [独立矩阵与原方程广义本征问题](https://sandboxphysics.com/stories/dust-gas/downloads/linear-system.py)
- [实际周期线性双流体网格](https://sandboxphysics.com/stories/dust-gas/downloads/grid-patch.py)
- [固定合成输入](https://sandboxphysics.com/stories/dust-gas/downloads/streaming-input.json)
- [固定本征值与网格场](https://sandboxphysics.com/stories/dust-gas/downloads/streaming-replay.json)
- [独立径向快照分析](https://sandboxphysics.com/stories/dust-gas/downloads/replay-radial.py)
- [固定径向复测](https://sandboxphysics.com/stories/dust-gas/downloads/radial-replay.json)
- [实际径向有限体积状态](https://sandboxphysics.com/stories/dust-gas/downloads/radial-results.json)
- [实测亮度重跑](https://sandboxphysics.com/stories/dust-gas/downloads/replay-brightness.py)
- [精确实测强度剖面](https://sandboxphysics.com/stories/dust-gas/downloads/Elias24.profile.txt)
- [档案原始列定义](https://sandboxphysics.com/stories/dust-gas/downloads/README_profiles)
- [精确 FITS 主头块](https://sandboxphysics.com/stories/dust-gas/downloads/Elias24_continuum.header)
- [实测产品元数据与哈希](https://sandboxphysics.com/stories/dust-gas/downloads/observed-provenance.json)
- [固定亮度换算](https://sandboxphysics.com/stories/dust-gas/downloads/brightness-replay.json)
- [固定科学依赖](https://sandboxphysics.com/stories/dust-gas/downloads/requirements.txt)
- [科学包哈希与许可](https://sandboxphysics.com/stories/dust-gas/downloads/provenance.json)
- [独立运行说明](https://sandboxphysics.com/stories/dust-gas/downloads/README.md)

## 来源与计算范围

1. [Youdin & Goodman 2005, Streaming Instabilities, arXiv v1](https://arxiv.org/pdf/astro-ph/0409263v1)

   2004 年9月10日第一版，发表于 ApJ 620,459–469（2005）。核读全文第2节式1–7、12–17、24–31，图1–3和第4节模式几何；第5节式39及其终端速度适用域；第6节区分任意线性振幅与后续塌缩。PDF 内印有较晚的2018年7月5日修改页首，这里固定档案第一版。

2. [Youdin & Johansen 2007, Linear Evolution and Numerical Methods, v1](https://arxiv.org/pdf/astro-ph/0702625v1)

   2007年2月23日第一版，ApJ 662,613–626。第2.1–2.3节式1–14、表1和第4节图4–5：固定停止时间、双向阻力、径向—垂直变化下的三个速度分量、有限分辨率本征模式检验与弱可压的已发表根。第2.3节明确说明，只有稳态径向拥堵的解释不足以产生线性 SI 增长。

3. [Benítez-Llambay, Krapp & Pessah 2019, FARGO3D multifluid tests, v3](https://arxiv.org/pdf/1811.07925v3)

   2019年6月10日第三版，ApJS 241，25。核读第3.4–3.5节、表4、式86与附录E。文献把特征值取负后放进时间指数，课程的复增长特征值与它符号相反。表4完整八状态的 LinA 增长率为0.4190091323，LinB 为0.0154862262，与独立矩阵一致。第3.5.3节把它和2007年表格的小差别追到气体密度的阻力反馈项，这是原文已经指出的区别。

4. [Li & Youdin 2021, Thresholds for Particle Clumping, v2](https://arxiv.org/pdf/2105.06042v2)

   2021年10月14日第二版，DOI 10.3847/1538-4357/ac0e9f。核读第2、3.1–3.5和4节：分层模拟、面密度金属丰度与体密度比、图1阈值图、图7线性增长图和图8聚团比较。式21的扩散诊断不能预言全部非线性分层聚团，原文明确提醒不要把线性阈值泛化。

5. [Umurhan, Estrada & Cuzzi 2020, Streaming Instability in Turbulent Disks, v4](https://arxiv.org/pdf/1906.05371v4)

   2020年5月25日第四版，PDF 页首为5月26日。第3.1–3.3节式4–18及附录A给出粘性、尘埃扩散/压强和背景强迫，第5节还联用湍流稀释模型解释增长。实验对全部线性场相同阻尼，是更简单的教学闭合，没有复现这个 alpha 盘模型。
