先固定正在比较的两个物理问题
第一份球对称气体在引力中冷却,并在第十八至十九百万年接收一笔中心热释放;第二份从相同初态出发,只冷却。热源能量来自十八百万年总输入的百分之五,功率、时间和空间核始终固定。
空间比较使用二千零四十八与四千零九十六个径向单元。时间比较把同一四千零九十六网格的CFL系数从零点三五减半到零点一七五。这个系数限制单步中最快信号能跨过多少个单元。它们都从初态算到六千万年,没有从一个较晚时刻续接。
每份球面记录保留覆盖零至六千万年的十二个预先指定完整场、三百三十四行积分量,以及八十一帧波前候选诊断。完整场按预先指定的十二个时刻保存;每个被接受的步都经过守恒和物理范围检查。
对应阅读:Sandbox Physics
单元平均不能当作中心点样本
每个有限体积单元保存一段球壳的平均状态。细网格两个单元合成一个粗单元时,要按实际球壳体积相加。简单把两点做算术平均,会忽略外侧单元通常占据更大的体积。
先分别重建两份气体的密度、径向速度与压强,再取热脉冲减去匹配纯冷却的差。把细网格差值按体积投影到粗网格,才与粗解比较。独立脚本使用逐壳层积分,避免沿用原生产脚本的稠密重叠矩阵。
先读分母,再看百分比
场误差用绝对差的体积积分,除以脉冲相对冷却的实际信号积分。每个保存时刻、每种变量都独立计算,最后取最大值。最早三个时刻尚未释放热源,信号严格为零,此时检查绝对误差,而不是除以任意很小的数。
| 实际比较 | 最大相对场误差 | 结果 |
|---|---|---|
| 512至1024 | 0.178 | 空间失败 |
| 1024至2048 | 0.0794 | 空间失败 |
| 2048至4096 | 0.0332 | 空间通过 |
| 4096半时间步,原粗网格投影定义 | 时间通过 | |
| 4096半时间步,原生细网格附加比较 | 时间通过 |
对应阅读:Sandbox Physics
波形要接上同一条传播分支
画面里可能同时有几个压缩带。若每帧都选“最强”的峰,一条波变弱、另一条变强时,所选位置可能突然跳走。把这两个位置差分,会得到一个根本没有波前真正走过的速度。
诊断因此保留所有窗口内密度相对初始背景的负梯度极小,并要求最小值有左右两侧括住。相邻四分之一百万年帧之间,还要用实际上游流速、声速和预先给定的弱激波马赫范围,寻找唯一的双向关联。关联不唯一、峰换支或更强肩部被窗口截断时,这一帧的候选速度不可用。
这种关联只是局部运动学一致性。它不自动把候选峰变成激波,也不把几个相隔很远的检验点强行连成同一条轨迹。
对应阅读:Sandbox Physics
把熵信号放到正确的底噪旁边
直接的热释放与冷却本来就会改变熵。求解器运输一份随气体移动的源修正标签,把这些已声明源项从额外熵诊断中分开。然后再把候选后方的额外熵,与声学对照、匹配冷却、空间差和时间差中最大的底噪比较。
四个时刻的底噪现在都由匹配冷却对照主导。三千万年时,额外熵约为十二点一乘十的负十次方,底噪约为五点六七乘十的负八次方,两者比例只有零点零二一三四。原要求是大于十,差距很大。二千六百万年时的微小负值也保留;这点微小负值落在底噪内,按数值未分辨处理。
| 时间(百万年) | 额外熵/原底噪 | 原RH跃升相对误差 |
|---|---|---|
| 26 | −0.126 | 0.709 |
| 30 | 0.0213 | 0.367 |
| 34 | 0.0247 | 0.458 |
| 38 | 0.0277 | 0.304 |
对应阅读:Sandbox Physics
数值波通过了,激波条件仍失败
候选首先要远离热源及采样宽度,并呈压缩性。再检查马赫数略大于一且不超过一点三,密度与压强跃升也要相符。最后检查传播与声速数值不确定性的分离,以及熵是否明显超过底噪。还必须在四个指定时刻中至少两个相邻检验点通过。
这里四点都未通过跃升、声速分离和熵条件。加密后的脉冲减纯冷却后密度扰动梯度的半高宽约为零点三八至零点六一千秒差距,跨约十九至六十五个局部单元。这些是描述波形的宽度,不是已经拟合出的不连续面厚度。
另外的均匀理想气体RH参考确实通过了独立检验,但它没有使用这份AGN热源。它说明求解器能处理规定的弱激波比较问题,不替代当前物理情景的激波条件。
在自己的电脑上重算两个场误差
下载完整记录、原生细化输入ZIP、来源清单、收敛结果和独立脚本。ZIP内原始NPZ字节与来源逐项相符;记录保留完整四千零九十六径向单元和十二个实际时间,不降采样或插值。
运行后,空间最大误差约为零点零三三二一四九四,原粗投影时间误差约为百万分之四点六八七。两个最大值都落在最后一个时刻的速度列,早时零信号误差为零。脚本重算这些场范数;每步守恒、参考算例和激波识别仍由各自保存的结果说明。
python3.12 -m venv .venv
. .venv/bin/activate
python -m pip install numpy==2.3.5
python reproduce-wave-refinement.py --materials . --output local-wave-check.json
对应阅读:Sandbox Physics