低风速原算例延长计算与独立核验

原 runs/low.npz 的低风速轨迹在结束时仍在增长。本次从其完整末状态继续求解,将计算时间从 140 延长到 320,新增 3,600 个真实 CFD–结构耦合步。结果保存为 runs/low-long.npz;原文件及原审计保留,原文件 SHA-256 与续算前一致。时间采用共同参考尺度 D/Uref,D = Uref = 1;不是回放慢放或时间轴拉伸。

参数沿用原算例:U = 0.7、Re = 70、fn = 0.16、面积质量比 m* = 10、ζ = 0.01、dt = 0.05、积分阶次 4。续算恢复完整 P2 速度、P1 压强、结构位移/速度与上一步流体力,不新增初始扰动。原求解器 solve_ale.py 未修改。

结果和窗口定义

每个 40 时间单位的窗口含 800 步;脉动 RMS 为减去该窗均值后的均方根,半峰峰值为 (max − min)/2。最后两个窗口分别为 (240, 280] 与 (280, 320]。

量前 40 时间单位后 40 时间单位相对变化
位移脉动 RMS,y/D0.011194350.01119413−0.00196%
位移半峰峰值,y/D0.015869170.01586944+0.00174%
升力系数脉动 RMS0.185593860.18560218+0.00448%
升力系数半峰峰值0.263070160.26307488+0.00179%

原来的 (60, 100] 与 (100, 140] 窗口位移 RMS 为 0.00092410 和 0.00594883,升力系数 RMS 为 0.01916654 和 0.10469484,说明原记录末段并未充分发展。延长记录最后 80 时间单位的多次峰谷已接近重复;升力和位移的主频均落在 0.1125 频点,真实频率分辨率为 0.0125。窗口变化较小是当前离散模型的轨迹发展诊断,不是严格稳态或网格/时间收敛证明,因此未进一步延长至 500。

续算与独立核验

- 从原记录 t = 139.5 恢复,再计算 10 步至 140,与原保存的历史、P2 速度、压强、结构状态及显示场逐位相同,最大差均为 0:low-continuation-restart-audit.json。

- 延长文件的全部原始前缀与原文件一致;第一新步与原末步的时间差为 dt;全部数值数组有限:low-long-development.json。

- 独立核验通过:外边界位移 0、P2 壁面无滑移误差 0、保存帧最小单元 Jacobian 比 0.987596、重新积分的牵引力最大差 2.78×10⁻¹⁶、结构离散能量恒等式残差 3.18×10⁻¹⁶:low-long-audit.json。

- 原记录未保存节点帧,已从原谐和映射及保存位移精确重建其节点坐标;新续算段直接保存节点坐标。审计读取这一完整节点数组,其 coordinateEvidence 指数组存在,不代表原旧记录曾直接存过这些坐标。

该模型仍采用一步滞后的显式分区耦合与后向 Euler。此记录的算法数值耗散/物理阻尼耗散比约为 1.866,不能把输入 ζ = 1% 当成离散系统的全部有效阻尼。这里检验的是当前离散方程和数据的一致性,没有完成网格、时间步、耦合迭代或工程精度验证。

复现

在课程工作区根目录运行(需要原算例及其 Python 依赖):

python -X utf8 advanced-wind-course/viv/ale/continue_ale.py --until 320 --name low-long
python -X utf8 advanced-wind-course/viv/ale/live_qa/analyze_low_continuation.py
python -X utf8 advanced-wind-course/viv/ale/qa/audit_ale.py advanced-wind-course/viv/ale/runs/low-long.npz --output advanced-wind-course/viv/ale/live_qa/low-long-audit.json

真实续算耗时约 724 秒(含检查点保存),完成记录见 ../runs/low-long.log。该日志是由已保存的真实元数据、进度和完成输出整理的记录,未冒充完整原始控制台转录。