---
title: "用一把随宇宙伸长的尺量运动"
description: "共动坐标扣除平均膨胀，正则动量整理本动速度的变化。完整换算位置、速度与时间，读懂物质盒里保存的量。"
canonical_url: "https://sandboxphysics.com/zh/stories/cosmic-web/coordinates-that-expand-with-the-universe/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/cosmic-web/coordinates-that-expand-with-the-universe/"
last_modified: "2026-11-12"
---

[从小起伏到宇宙蛛网](https://sandboxphysics.com/zh/stories/cosmic-web/)

从小起伏到宇宙蛛网 · L2

# 用一把随宇宙伸长的尺量运动

Sandbox Physics · 2026-11-12

把平均膨胀装进坐标尺，物质相对于这把尺的运动就能单独算。画面里的盒子保持同样大小，代表的物理距离却随宇宙膨胀增长；粒子靠近与否，需要把这两层变化一起看。

## 开始前需要什么

先读《引力怎样把物质织成宇宙网》。已有宇宙学课程的《微小起伏怎样长成结构》给出线性增长背景。这里用到向量和导数：向量列出三个方向的分量，导数表示某个量变化得多快。

[阅读已有的线性增长推导](https://sandboxphysics.com/zh/stories/cosmology/linear-perturbations/)

## 让尺跟着平均膨胀走

设物理位置为$\boldsymbol r$，有长度单位的共动位置为$\boldsymbol x$。尺度因子$a$记录宇宙相对于一个参考时刻放大了多少。把共动盒长定为$L=20\,\mathrm{Mpc}$，再定义无量纲位置$\boldsymbol y=\boldsymbol x/L$，盒子每个方向的范围就是零到一。

若物质仅跟着均匀膨胀走，$\boldsymbol y$保持不动，$\boldsymbol r$仍会增长。这正是共动坐标的用途：先把大家共有的膨胀扣掉，剩下的运动直接显示物质相对于平均流动怎样迁移。兆秒差距是长度单位；这里画面采用共动长度。

$$
\boldsymbol x=L\boldsymbol y,\qquad\boldsymbol r=aL\boldsymbol y
$$

相同共动间隔，在尺度因子加倍时对应两倍物理间隔。这里的参考时刻用来归一化，尚未把它拟合为真实宇宙的今天。

对应阅读：Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay

## 先分清两种速度

对物理位置求时间导数，会得到两项。第一项来自尺本身伸长，第二项来自粒子在尺上移动。定义$H=\dot a/a$，点表示对宇宙时间求导；相对于平均膨胀的第二项叫本动速度，也称特殊速度$\boldsymbol v_{\rm pec}$。

一颗粒子可以朝盒子内侧移动，共动位置减小，却仍因膨胀而离选定原点越来越远。只有向内的本动速度足够大，才会抵过向外的膨胀项。比较相邻物质是否真的靠近时，也要做同样的区分。

$$
\dot{\boldsymbol r}=H\boldsymbol r+\boldsymbol v_{\rm pec},\qquad\boldsymbol v_{\rm pec}=aL\dot{\boldsymbol y}
$$

原点随平均膨胀运动，所有位置和速度都相对这个选定原点定义。本盒子的运动尺度远小于Hubble尺度，可使用这套Newton近似。

对应阅读：Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1

## 保存一个适合推进运动的量

计算文件里保存的$\boldsymbol u$不是以千米每秒计的速度。先把每单位质量的正则动量写成$\boldsymbol p=a^2\dot{\boldsymbol x}=a\boldsymbol v_{\rm pec}$，再除以固定的速度标尺$H_\star L$，得到无量纲的$\boldsymbol u$。正则动量是随所选坐标一起定义、方便写运动方程的量。

采用$H_\star=70\,\mathrm{km}\,\mathrm{s}^{-1}\,\mathrm{Mpc}^{-1}$，乘盒长以后，速度标尺就是$1400\,\mathrm{km}\,\mathrm{s}^{-1}$。这个星号表示模型的参考值。把$a$和$\boldsymbol u$一起保存，就能在每个时刻还原本动速度。

为什么多乘一次$a$？取没有本动引力的均匀背景极限，本动速度按$1/a$减小，$\boldsymbol u$却保持恒定。这样写方程，背景膨胀造成的那项变化已经整理进变量里。

$$
\boldsymbol u=\frac{a\boldsymbol v_{\rm pec}}{H_\star L},\qquad\boldsymbol v_{\rm pec}=\frac{H_\star L}{a}\boldsymbol u
$$

不要直接把动量数组乘速度标尺；还要除以当前尺度因子。每单位质量的动量与真正的粒子质量乘积，是两种不同的量。

对应阅读：Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay

## 算一次向内运动

给定一个换算练习：$a=0.5$时，一颗粒子沿选定轴的位置是$y_x=0.25$，动量分量是$u_x=-0.2$。负号表示本动方向朝向原点。这组数是题目指定的状态，不是某个预设的测量值。

先算位置。共动距离为$20\times0.25=5\,\mathrm{Mpc}$，物理距离再乘$0.5$，得到$2.5\,\mathrm{Mpc}$。本动速度则是$1400\times(-0.2)/0.5=-560\,\mathrm{km}\,\mathrm{s}^{-1}$。

在本课程采用的平直纯物质背景，也就是Einstein–de Sitter（EdS）宇宙里，$H(a)=H_\star a^{-3/2}$。这个时刻的Hubble率约为$198\,\mathrm{km}\,\mathrm{s}^{-1}\,\mathrm{Mpc}^{-1}$，向外的膨胀速度约为$495\,\mathrm{km}\,\mathrm{s}^{-1}$。两项相加，物理距离的变化率约为$-65\,\mathrm{km}\,\mathrm{s}^{-1}$：它正在真正靠近原点。

$$
\dot r_x\simeq(198)(2.5)-560=-65\quad\mathrm{km}\,\mathrm{s}^{-1}
$$

前一项用Hubble率乘物理距离，后一项用本动速度。若只看共动位置变小，无法跳过这一步判断物理距离。

对应阅读：Original finite-mesh calculations and independent small-wave Python replay

## 把尺度因子也当作时钟

这个受限宇宙一直膨胀，$a$单调增加，能直接充当推进运动的时钟。定义物理本动引力势$\phi$，它有速度平方的单位；再取$U=a\phi/(H_\star^2L^2)$，把势也换成无量纲形式。$\nabla_y U$列出势沿三个共动方向的变化率，引力沿其负方向。

把Newton运动方程中的时间导数，按$\dot a=aH=H_\star a^{-1/2}$换成对$a$的导数，就得到下面两式。动量变量已经包含膨胀效应，右边不再另外加一次Hubble阻尼。

$$
\frac{d\boldsymbol y}{da}=a^{-3/2}\boldsymbol u,\qquad\frac{d\boldsymbol u}{da}=a^{-1/2}(-\nabla_yU)
$$

这两式与每一步重新求解的引力势一起使用。物质主导的背景、亚Hubble尺度和无碰撞粒子，是这里的物理设定。

对应阅读：Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay

## 跨过盒面，标签还在

周期盒把一面接到对面。显示时可从$y_x$减去一个整数，把它放回零到一之间；导出则保留连续位置，方便追踪同一粒子。相差一个整数的位置代表周期副本。

跨过显示边界没有丢失质量，也没有让粒子逃离引力系统。下一篇的壳层穿越说的是不同物质流到了同一位置，和穿过周期盒面是两件事。

对应阅读：Original finite-mesh calculations and independent small-wave Python replay

## 练习与解释性答案

1. 若$\boldsymbol y$不动而$a$加倍，物理距离与本动速度分别怎样变？

   展开解释

   物理距离$\boldsymbol r=aL\boldsymbol y$加倍。本动速度由$\dot{\boldsymbol y}=0$得零；物理距离增长完全来自平均膨胀。

2. 在无本动引力的极限里，$\boldsymbol u$保持不变。$a$从$0.5$到$1$，本动速度怎样变？

   展开解释

   $\boldsymbol v_{\rm pec}=H_\star L\boldsymbol u/a$，因此速度减为原来一半。恒定的是这套坐标的正则动量，而不是本动速度。

3. 换算例子中若改为$u_x=-0.1$，粒子还会真正靠近原点吗？

   展开解释

   本动速度变为$-280\,\mathrm{km}\,\mathrm{s}^{-1}$。加上约$495\,\mathrm{km}\,\mathrm{s}^{-1}$的膨胀项，物理距离仍以约$215\,\mathrm{km}\,\mathrm{s}^{-1}$增加，但比纯膨胀分开得慢。

## 动手检验预测

### [把导出的坐标换成物理量](https://sandboxphysics.com/zh/labs/cosmic-web-shell-crossing/)

1. 将尺度因子拖到接近$0.5$，导出当前状态，记录文件里的实际$a$而不是把滑块近似当成精确值。
2. 任选一个粒子的三个位置和动量分量，用$\boldsymbol r=aL\boldsymbol y$与$\boldsymbol v_{\rm pec}=1400\boldsymbol u/a$分别换成兆秒差距与千米每秒。
3. 再看周期面附近的粒子，说明连续位置与盒内显示位置为何可相差一个盒长。

[上一篇：引力怎样把物质织成宇宙网](https://sandboxphysics.com/zh/stories/cosmic-web/why-matter-forms-a-web/) [下一篇：同一位置，为什么会有几种速度](https://sandboxphysics.com/zh/stories/cosmic-web/when-one-position-has-several-velocities/)

## 来源与计算范围

1. [Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1](https://arxiv.org/abs/astro-ph/0505010v1)

   定向核读第2.1节式1至3、第3.2及3.2.1节式20至23、第4.1节式26至31，查看原PDF第3和11页。用于宇宙学动量、PM窗口与积分方法背景。教学模型另行规定截断和有限梯度，没有短程树力。

2. [Original finite-mesh calculations and independent small-wave Python replay](https://sandboxphysics.com/stories/cosmic-web/materials/cosmic-web-replay-v1.zip)

   自有已验收核/线性、非线性及五预设双精度计算用于课程图与校准。公开小ZIP仅含一份精确小波当前状态、独立NumPy/SciPy轨迹复算及预期结果。示例由Node执行冻结模型和规范序列化函数产生，不冒充浏览器下载。大型原始预设另行留存，包内没有Engine或原论文。
