粒子在节点之间,也能分清质量
若只把质量塞给最近节点,粒子刚越过半格,节点里的质量就会突然跳变。CIC把一颗粒子的质量按距离分给相邻节点:在一维是两处,在三维是八个角点。粒子仍留在原位置,分配的是求场用的权重。
把相邻两节点之间的分数位置记为,它从零到一。左、右权重分别是和。例如质量为一个单位、位置在四分之一路程处,两个节点分别获得与个质量单位。
对应阅读:Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay
先保住质量,再扣掉平均背景
设每轴有个节点,盒内有个等质量粒子。节点分到的粒子权重记为。用一个网格体积来归一化,得到节点密度与同一时刻均密度之比。
把所有节点的质量加起来,应当恰好回到原来的总质量。先检查这一步,再定义密度对比度。若先把结果强行重新归一化,就会藏起周期面上漏分配的质量。
对应阅读:Original finite-mesh calculations and independent small-wave Python replay · Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1
每一条波,都有对应的势
周期密度可以拆成整数波矢的波。其无量纲波数是;有长度单位的共动波数则是。整盒恒定的分量是零模式,均匀背景已经决定整体膨胀。
坐标篇使用的缩放势满足。对单个Fourier波,空间二阶导数给出负的波数平方,因此可以逐波解出势。实际沉积会平滑波形,CIC回收力又带来一次平滑;这里对这两次平均窗口作显式修正。
定义,零点取连续极限一。窗口和保留范围写在下式。FFT只是快速完成离散变换的方法;保留哪些波仍由网格和截断决定。
对应阅读:Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay
把势的坡度取回粒子位置
变换回网格以后,力沿势下降的方向。这里对每条轴使用四点中心差分,网格间距按无量纲坐标量;再用与沉积相同的CIC权重,把节点力取回当前粒子位置。
以、为例,节点间距是共动长度,Fourier截断还会进一步限制短波。粒子可以挤到很小的间隔,求力却仍是这个较粗的模型。密集小点的内部细节因此需要另外的分辨率研究。
对应阅读:Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay
先推一下,再移动,再推一下
受力先改变动量,动量再推进位置。对称的kick–drift–kick方法在一步中先用旧位置的力更新一部分动量,再移动位置、重求引力,最后完成另一部分动量更新。
从走到,中点取,与对数尺度因子的等间隔一致。由于背景是EdS,位置和动量方程中的尺度因子可以直接积分。把两个因子记作与,以免和密度增长因子混淆。
对应阅读:Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1 · Original finite-mesh calculations and independent small-wave Python replay
步长细化,和网格细化分别检查
先做一个因子算例。区间到给出,。实际轨迹把整个区间分成许多小步,并在每一步重算密度和力。
保持网格不变,把步数加倍,检查同一算子的时间误差;保持连续初值不变,再细化粒子与网格,检查空间与采样误差。独立自适应积分也能检验前者。前面平面例子的首穿越和后面的线性增长,则给出解析或独立力参考。
质量应当守恒。膨胀背景下,动能加引力势能一般不会保持常数;一次对称推进本身也不是精确能量守恒的证明。要信任某个读数,仍需看它在相应细化和独立参考下怎样变化。
对应阅读:Original finite-mesh calculations and independent small-wave Python replay · Springel (2005), The cosmological simulation code GADGET-2, astro-ph/0505010v1