69 lines
6.1 KiB
Markdown
69 lines
6.1 KiB
Markdown
# J3 已存轨迹的 CPU 空间/奇偶分析
|
||
|
||
2026-10-12。运行前固定定义;只读输入为`research/j3-lag-2026-10-12/trajectory.h5`,SHA256 `2b51f8ec5e0cc8ca72c73ac1b51dd611158368e6d6de791d85150fa111ea1986`。已有numpy 1.26.4、h5py 3.15.1,matplotlib可发现;不安装依赖、不导入CelerisLab/run_j1/pycuda、不初始化CUDA、不增加求解轨迹。只新增独立脚本、本目录小输出和一张图,原数据/checkpoint/报告/生产文件只读。
|
||
|
||
## 固定统计定义
|
||
|
||
输入521帧,绝对step=20760..21280;每帧1584节点,x=0..47、y=1..33。u/v各约6.30MiB,逐组件统计,CPU峰值内存控制远低于1GiB。不复制轨迹或写逐步全场;速度尺度固定.002。
|
||
|
||
1. lag2/4/8合法起点为n=0..520−L,分别519/517/513个。逐起点计算完整空间分量RMS,再对起点取算术均值;最大绝对差取所有起点/节点最大值;同时记录带符号空间均值的起点均值和/.002归一结果。沿用原lag1/16/519定义,仅诊断,不改验收。
|
||
2. 偶/奇按绝对step分组,ne=261、no=260。每节点delta=mean_even−mean_odd。报告每区delta空间RMS、最大绝对值、带符号空间均值。总方差var=mean_t((a−mean_all)^2),分母521;奇偶组间解释方差B=(ne/521)*(no/521)*delta²,等价于按实际帧数加权的两组均值偏差平方。区内解释比例为sum(B)/sum(var),不用不平衡的简单半半权重,不假设独立随机样本。
|
||
3. 固定区域:bottom y=1(48点)、top y=33(48点)、interior y=2..32(1488点),三者构成不交叠全域;另列top4 y=30..33(192点),作为重叠补充而非第四个分区。每区分量RMS=sqrt(mean_region(var));波动能量份额=sum_region(var)/sum_all(var);集中度=份额/节点比例;另报区域奇偶解释比例。
|
||
4. 比较delta的空间有符号均值与RMS,均匀空间分量占delta能量比例为mean(delta)²/mean(delta²)。同时给内部和边界数值;不能将空间平均抵消解释成没有局部波动。
|
||
5. 一张4panel图:u/v每节点时间波动RMS和u/v奇偶delta,坐标为上述格点位置,标出物理top/bottom、底slot及top4范围,颜色单位明确。仅输出小JSON/CSV/报告/原始CPU日志和图,不写新的全场序列。
|
||
|
||
分析前已核对输入SHA、形状及step范围。原J3归一5e−5稳态门槛失败保持,不能选择偶数lag改判;本轮只量化空间集中度/奇偶结构并给下一轮最小功能建议,不继续推导或追加诊断。
|
||
|
||
## 完成结果
|
||
|
||
CPU 分析退出码 0,新增求解步数 0;峰值 RSS 112.63 MiB。脚本末尾检查输入 SHA 未变,且未导入 CelerisLab、run_j1 或 pycuda。本次仅增加独立分析脚本和本目录输出,没有修改生产代码或旧报告。绘图缓存分析后删除。
|
||
|
||
| lag | 合法起点数 | u 平均空间 RMS 差 | v 平均空间 RMS 差 |
|
||
| --- | ---: | ---: | ---: |
|
||
| 2 | 519 | 2.649281e-8 | 3.051287e-8 |
|
||
| 4 | 517 | 3.455162e-8 | 3.931383e-8 |
|
||
| 8 | 513 | 4.079962e-8 | 4.646402e-8 |
|
||
|
||
下面能量指时间波动方差之和,不是流动总动能;集中度以均匀分布为 1。
|
||
|
||
| 分量/区域 | 节点比例 | 时间波动 RMS | 波动能量份额 | 集中度 | 区内奇偶解释比例 |
|
||
| --- | ---: | ---: | ---: | ---: | ---: |
|
||
| u 全域 | 100% | 3.364553e-8 | 100% | 1.000 | 18.9417% |
|
||
| u 底行 | 3.0303% | 3.283614e-9 | 0.0289% | 0.010 | 0.1648% |
|
||
| u 顶行 | 3.0303% | 3.297410e-9 | 0.0291% | 0.010 | 2.0618% |
|
||
| u 内部 | 93.9394% | 3.470384e-8 | 99.9420% | 1.064 | 18.9520% |
|
||
| u 顶部四行 | 12.1212% | 2.603805e-8 | 7.2595% | 0.599 | 7.8382% |
|
||
| v 全域 | 100% | 7.375266e-8 | 100% | 1.000 | 75.6536% |
|
||
| v 底行 | 3.0303% | 5.133726e-9 | 0.0147% | 0.005 | 0.1861% |
|
||
| v 顶行 | 3.0303% | 1.365301e-7 | 10.3845% | 3.427 | 59.0306% |
|
||
| v 内部 | 93.9394% | 7.202938e-8 | 89.6008% | 0.954 | 77.5926% |
|
||
| v 顶部四行 | 12.1212% | 1.146411e-7 | 29.2867% | 2.416 | 73.8537% |
|
||
|
||
顶部四行与内部、顶行重叠,不能与其他行相加。完整精度、带符号均值、最大差和归一值保留在 results.json、lags.csv、regions.csv。
|
||
|
||
v 的奇偶差空间均值为 2.494708e-9,空间 RMS 为 1.282990e-7;均匀空间分量仅占奇偶差能量的 0.03781%。u 对应比例为 0.00004371%。图中可见延伸到内部的交替空间结构,v 顶部较集中,但内部仍贡献大部分波动能量。这些结果说明奇偶步关联明显,不能据此认定随机噪声、FP32 平台或唯一成因。
|
||
|
||

|
||
|
||
## 实际建议与停止点
|
||
|
||
全域 v 时间波动 RMS 为喷口幅值 0.002 的 0.00369%。在当前小网格、正幅值案例和这段短窗口内,量级较小,初步判断可用于 Jet 形态演示;这不构成长时间载荷、精度、AMR 或稳态验收证据。原归一 5e-5 稳态门槛仍失败,不以偶数 lag 更小为由改判。
|
||
|
||
建议下一轮依次补以下最小验证,本轮均未执行:
|
||
|
||
1. 真实 checkpoint 短续跑一致性:从现有保存点比较连续运行与保存/加载后续跑 8–16 步的状态;不重放前 20760 步。已有无推进恢复检查不足以替代此项。
|
||
2. 零幅值对照:按原有有界判据检查静止态、伪速度和质量,确认无喷流驱动时的行为。
|
||
3. 负幅值:同案例、原判据验证反向流动及边界行为。
|
||
|
||
本轮至此停止,不追加轨迹、频谱诊断或理论推导。
|
||
|
||
## 可复核运行记录
|
||
|
||
工作目录 /home/frank14f/CelerisLab;实际命令如下,仅设置当前进程环境:
|
||
|
||
```bash
|
||
env PYTHONPATH=/home/frank14f/CelerisLab/src PYTHONDONTWRITEBYTECODE=1 MPLCONFIGDIR=/home/frank14f/CelerisLab/research/j3-offline-2026-10-12/.plot-cache /home/frank14f/anaconda3/envs/pycuda_3_10/bin/python tests/validation/analyze_j3_saved_frames.py > research/j3-offline-2026-10-12/cpu-analysis.log 2>&1
|
||
```
|
||
|
||
脚本为 tests/validation/analyze_j3_saved_frames.py;为了保护已存结果,发现 results.json 存在时会拒绝重跑。原始日志保留在 cpu-analysis.log。输入 SHA256 为本文开头值,脚本 SHA256 为 `438f67dac682b94c4950626f8de4fdcde48c3a4e9ecf8fdf1b0ada4b6e0e781a`,图 SHA256 为 `a72907638e32b0ecfc2205bea438e7b408f40aad86217ce6ad9b4877840c9cfc`。
|