跳到主要内容
Sandbox Physics
从小起伏到宇宙蛛网

从小起伏到宇宙蛛网 · L2

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

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

让尺跟着平均膨胀走

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

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

x=Ly,r=aLy\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=a˙/aH=\dot a/a,点表示对宇宙时间求导;相对于平均膨胀的第二项叫本动速度,也称特殊速度vpec\boldsymbol v_{\rm pec}。

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

r˙=Hr+vpec,vpec=aLy˙\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

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

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

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

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

u=avpecH⋆L,vpec=H⋆Lau\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.5a=0.5时,一颗粒子沿选定轴的位置是yx=0.25y_x=0.25,动量分量是ux=−0.2u_x=-0.2。负号表示本动方向朝向原点。这组数是题目指定的状态,不是某个预设的测量值。

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

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

r˙x≃(198)(2.5)−560=−65km 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

把尺度因子也当作时钟

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

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

dyda=a−3/2u,duda=a−1/2(−∇yU)\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

跨过盒面,标签还在

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

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

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

练习与解释性答案

  1. 若y\boldsymbol y不动而aa加倍,物理距离与本动速度分别怎样变?

    展开解释

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

  2. 在无本动引力的极限里,u\boldsymbol u保持不变。aa从0.50.5到11,本动速度怎样变?

    展开解释

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

  3. 换算例子中若改为ux=−0.1u_x=-0.1,粒子还会真正靠近原点吗?

    展开解释

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

动手检验预测

把导出的坐标换成物理量

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

来源与计算范围

  1. Springel (2005), The cosmological simulation code GADGET-2, 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

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

反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策