# NeuralVOF：论文协议复现与补充结果

这次把“神经界面模型本身的误差”和“换压力后端能带来什么”分开验证。沿用已完成的原课程重训模型，保持共享骨干、输入输出和原约束；新增加的对照围绕同模型的AMGCL/compact替换、独立传统参照和对流尾迹展开。

本机14个配置的压力后端替换都有推进速度收益；神经界面部分没有形成普遍精度优势，复杂长轨迹也不能视为两后端完全等价。下面同时保留支持贡献的结果和限制。

## 目前能确认什么

- 压力算子的312项性质检查、55组线性算例已完成；论文30个迭代数条目均已核对。它们支持压力实现的对应性质，不等价于整个多相模拟已普遍更准确。
- 同一冻结神经模型完成14个动态配置、两后端、各3次独立进程，共84条有效观测（60条初轮观测+24条初始化修正后的补跑）；其中14项推进中位数compact更快，0项未更快。三次范围和全部退步保留。
- 两后端在共同物理时刻的最大已存VOF MAE为0.01543439（128²落滴）；128²溃坝也有约0.01138的末态差异。因此不能把速度收益写成“动态结果完全不变”。
- 四项128²被动对流共24次神经观测，压力调用为0；后端切换的全部保存VOF逐位一致。另完成12次原生Aphros被动对流，与精确单元平均量比较。
- 独立Aphros完成相同14项配置、各3次，共42次动态参照。CPU资源、锐化、曲率和压力容差保留原设置，跨代码时间仅为部署观察。
- 原199场曲率基准在本次新模型上补做回归；它是已有开发基准，不能当封存盲测。

## 同模型压力后端对照

比值AMGCL/compact大于1，表示本机这次compact较快。推进不含模型加载和场输出；进程时间包含这些开销。压力组装、setup和solve已经包含在推进中，不能重复相加。

| 配置 | 推进时间比 | 进程时间比 | 主参考误差 AMGCL / compact |
|---|---:|---:|---|
| static64 | 1.201 | 1.133 | 0.0618138 / 0.0618138 |
| static128 | 1.477 | 1.440 | 0.0611175 / 0.0611175 |
| rising128 | 1.100 | 1.074 | 0.000886581 / 0.000867379 |
| rising256 | 1.333 | 1.322 | 0.0016326 / 0.00162818 |
| capwave64 | 1.288 | 1.264 | 0.0299847 / 0.0299846 |
| capwave128 | 1.529 | 1.525 | 0.143916 / 0.142744 |
| falling64 | 1.342 | 1.308 | 无完整演化真值 |
| falling128 | 1.729 | 1.705 | 无完整演化真值 |
| hydro64 | 1.410 | 1.241 | 19.937 / 19.7814 |
| hydro128 | 1.571 | 1.528 | 8.2613 / 8.05431 |
| dam64 | 1.549 | 1.501 | 无完整演化真值 |
| dam128 | 1.869 | 1.850 | 无完整演化真值 |
| short_falling64 | 1.330 | 1.195 | 无完整演化真值 |
| short_falling128 | 1.828 | 1.694 | 无完整演化真值 |

本批正常非零RHS的真实压力相对残差最大为9.999706e-09，满足1e-8目标。各后端三次重复的末帧VOF均逐位一致（逐项见backend_repeatability.csv）；两后端之间的长轨迹差异不能当作这些重复运行的随机波动。落滴/溃坝没有完整演化解析真值，因此后端之间更接近也不能直接证明更准确。短落滴T=0.1的差异约1e-10至1e-9，长落滴T=0.6则可增长到1e-2；全部逐配置差异见backend_field_differences.csv。

### 更严格压力容差的定点复核

只对出现明显分歧的128²落滴和溃坝，将两后端的相对压力容差从1e-8收紧到1e-10，新增4条正确性轨迹。模型、时间步、材料、输入输出与约束保持原设定；两个默认容差短控制与原始全部保存VOF逐位一致。这4条并行运行不进入速度表。

| 配置 | 1e-8两后端末帧VOF MAE | 1e-10两后端末帧VOF MAE |
|---|---:|---:|
| falling128 | 0.01543439 | 0.01591664 |
| dam128 | 0.01138166 | 0.008115201 |

1e-10表示设置的停止容差，重算真实残差的最大值为1.0364706e-10；AMGCL溃坝中有略超设置值的步，已保留精确达标标记，未用浮点余量冒充严格满足目标。

这说明的是容差敏感性，不是解析精度。收紧容差若未单调缩小分歧，也如实保留；不把变化未经进一步控制地归因于曲率门控或某个单独机制。原始轨迹、各后端随容差的变化及真实残差见../pressure-sensitivity/。

静滴误差为解析压差相对误差；毛细波由列积分体积分数得到等效高度，比较其基频正幅值RMS/a0，不评分相位；气泡为MooNMD数值基准的质心高度RMSE，升速和圆度另列；静水为去均值的尖界面压力RMSE。不同指标不合成一个总分。

![压力后端时间](../analysis-corrected/paired_runtime.png)

## 神经界面与独立传统参照

下面比较的是各自完整算法。静滴和气泡保留原独立初始化，初始VOF差另表记录；落滴、静水和溃坝共享原始VOF。Aphros不是演化真值，其粒子曲率、锐化、压力算法和容差与神经管线不同，差异不能全部归因于某个神经输出。

例如128²静滴的压差相对误差，NN–compact为6.11%，Aphros为3.15%；128²毛细波的正幅值RMS/a0约为0.1427与0.01789。本次四项被动对流的神经末帧VOF MAE也都高于Aphros。曲率回归则有几何族间差异，不能概括成每种几何都更差或都更好。

![静滴压差](static_curves.png)

![毛细波](capwave_curves.png)

![气泡高度](rising_curves.png)

## 界面“抹糊”：误差与尾迹分开看

| 算例 | 方法 | 末帧VOF MAE | 混合格数 | 门控外少数相面积 | 推进 s | 实际网络样本 |
|---|---|---:|---:|---:|---:|---:|
| translation128 | NN-compact | 0.0011938 | 1819 | 4.2259e-05 | 0.3081 | 194993 |
| translation128 | Aphros | 0.000386542 | 155 | 5.3006e-07 | 0.9353 | — |
| rotation128 | NN-compact | 0.00583945 | 6980 | 0.00025262 | 2.0659 | 1387415 |
| rotation128 | Aphros | 0.000259858 | 156 | 6.7166e-07 | 6.9645 | — |
| reverse128 | NN-compact | 0.00228863 | 8823 | 0.00025456 | 3.5089 | 3929585 |
| reverse128 | Aphros | 0.000676487 | 206 | 5.7912e-07 | 9.8354 | — |
| vortex128 | NN-compact | 0.00545424 | 7219 | 0.00024996 | 6.1227 | 8595545 |
| vortex128 | Aphros | 0.00212709 | 161 | 3.1012e-07 | 15.4377 | — |

![对流误差与混合格](passive_error_and_tail.png)

混合格以1e−6<f<1−1e−6计数；面积单位是单位域面积。门控外少数相面积是低于0.002的f与高于0.998的1−f之和。它与混合格数、整场MAE和实际网络工作量是四个不同量：很小的数值尾巴也可能形成许多混合格。门控跳过推理不会自动清除已有VOF。各少数相数量级和精确纯相区误差积分见CSV。这里先定位问题，没有加入未经验证的吸附、阈值清理或新网络。

## 并行补充：输入敏感性与尾迹时序

GPU对24份已有场做7档保守平滑扰动，并测试3档Courant数；CPU同时分析84个保存时刻，没有新增训练或流体推进。q=κh表示无量纲曲率，h为网格宽度；物理曲率为q/h。这里衡量同一冻结模型对输入变化的响应，不是给失真界面指定圆曲率真值。

![输入敏感性与门控变化](../input-diagnostic/curvature_sensitivity.png)

![尾迹与可推理中心的时序](../input-diagnostic/tail_time_series.png)

混合格增长与实际可推理中心增长是不同量。门控跨越也应与网络在共同支持内的连续响应分开看。该诊断尚不能单独证明毛细力失稳或最终模拟误差；逐场的原始输出变化、应用门控后的变化、体积核验和GPU算子检查见input-diagnostic/。该任务在原生正式测速暂停期间完成，结束后才恢复计时，未把它的并行负载混入速度表。

## 199场曲率回归

| 几何族 | 场数 | 有效样本 | 神经物理RMSE | 共同支持神经 / 粒子RMSE |
|---|---:|---:|---:|---|
| capillary_wave_original | 19 | 2642 | 0.0195051 | 0.0195051 / 0.00819495 |
| circle | 18 | 5298 | 0.506763 | 0.506763 / 0.302661 |
| ellipse | 18 | 5084 | 0.696044 | 0.696044 / 0.350098 |
| four_lobes | 18 | 5740 | 0.855446 | 0.855446 / 0.358362 |
| gaussian | 18 | 2916 | 0.482095 | 0.482095 / 0.295748 |
| multiharmonic | 18 | 2984 | 0.270015 | 0.270015 / 0.286097 |
| plane | 18 | 3096 | 0.117383 | 0.117383 / 0.203654 |
| sine | 18 | 3096 | 0.157816 | 0.157816 / 0.20815 |
| smooth_heart | 18 | 5122 | 0.586616 | 0.586616 / 0.32898 |
| three_lobes | 18 | 5402 | 0.697731 | 0.697731 / 0.330898 |
| weak_sine | 18 | 2562 | 0.0148563 | 0.0148563 / 0.00160138 |

曲率使用物理单位q/h，实际模型门控为0.002≤f≤0.998；共同支持只取同一批粒子估计有限的样本，支持数量单独保存。所有场的分辨率、放置和相位结果均保留，不用全局均值掩盖退步。

## 复现边界

已取得当前Overleaf原文和GitHub资料，并只读保存。Git交接文档说明论文指定最终权重、数据和ONNX未纳入Git；V29离线包也未含权重二进制。本次使用的是独立完整课程重训模型，不能冒充论文历史edges64_v4_weak。历史权重身份和历史V100加速倍数仍不能作精确数值复现；旧表不被本机结果覆盖。

三次最小—最大值不是置信区间。GPU背景仅逐次采样，其他项目未停止，不能声称全程固定负载或独占显卡。CPU与CUDA局部预测接近不保证长期轨迹逐位一致。解析圆曲率只用于真正的干净圆几何，未给失真界面套用圆真值。质量账本闭合只是收支核对，不是一般能量/动量守恒证明。

初次静水/溃坝研究驱动保留了Eigen临时表达式，产生了错误的全满初始场；这24条观测已明确排除并保留，只补跑这4个配置、两后端、各3次。修正只将坐标表达式实体化，生产算法和网络未改；增加独立逐格交叠积分和0.53/0.18初始面积检查。Aphros首次隔离链接也因同名vof对象误匹配漏了模块注册，已用完整目标路径修复。原生重复末帧原样保留，只有逐位相同、同一实际时刻的重复输出从评分序列去重。失败和修正证据见geometry-correction/及aphros/failures/。

## 结果文件与复跑

- dynamic_accuracy_cost.csv：三方法动态精度、成本、三次范围、漂移。
- passive_accuracy_cost.csv、minority_tail_bins.csv：被动对流精度、成本和尾迹分桶。
- curvature_families.csv：曲率几何族汇总；原逐场结果保留在curvature-regression/summary.json。
- claim_evidence.json、figure_sources.json：每个结论与图的来源及限制。
- 同模型有效完整记录：analysis-corrected/summary.json；独立参照：aphros/summary.json。

运行记录和选择性恢复入口见../REPRODUCE.md。主矩阵与修正、原生参照各有独立状态；不要重新启动已完成的大矩阵，也不要修改冻结协议覆盖本次目录。只重生成报告不会启动训练或模拟。
