ARTICLE · 1156346
自制国产溃坝分析软件的精度对比情况
表 1 对比案例一览
编号 | 案例 | 流态特征 | 检验重点 | 参考解 |
1 | 干床溃坝 | 非恒定稀疏波、干湿前缘 | 干湿处理、前缘速度 | 解析解 |
2 | 湿床溃坝 | 稀疏波 + 激波 | 激波捕捉、激波速度 | 解析解 |
3 | 亚临界流过驼峰 | 恒定亚临界流、变地形 | 底坡源项平衡、流量边界 | 解析解 |
4 | 跨临界流过驼峰(含水跃) | 临界流 + 水跃 | 跨临界流与静止激波 | 解析解 |
5 | 二维非对称局部溃坝 | 二维溃口出流、绕流、反射 | 二维传播与坝体阻水 | 加密网格 开源模型参考解 |

表2案例 误差指标(t = 20 s)
模型 | 相对 L1 | L∞ (m) | RMSE (m) | 前缘位置 (m) | 质量误差 |
HydroBreak 一阶 | 0.471% | 0.2797 | 0.0445 | 339.5 | -1.5e-16 |
HydroBreak 二阶 | 0.098% | 0.1008 | 0.0104 | 357.5 | 1.5e-16 |
解析解的 0.01 m 前缘位于 x = 376.5 m。
分析:
·四种计算的水深剖面均与解析解吻合。HydroBreak 二阶格式的相对 L1 误差为 0.098%。
·一阶格式的数值耗散较大,误差为 0.471%,主要出现在稀疏波波头和干湿前缘。以0.01 m 水深判定的干床前缘对数值耗散非常敏感:解析解前缘位于376.5 m,HydroBreak 一阶、二阶分别偏后约37 m、19 m。前缘附近水深只有几厘米,对整体水量影响很小。
·HydroBreak 在封闭边界下的质量误差约为 10⁻¹⁶,即机器精度。

表3案例 误差指标(t = 20 s)
模型 | 相对 L1 | L∞ (m) | RMSE (m) | 激波位置 (m) | 中间水深 (m) |
HydroBreak 一阶 | 0.372% | 1.1277 | 0.0672 | 195.5 | 3.9617 |
HydroBreak 二阶 | 0.099% | 1.3864 | 0.0484 | 195.5 | 3.9618 |
分析:
·HydroBreak 两种格式算得的中间水深与解析值3.9617 m 的偏差都小于0.001 m;激波位置(195.5 m)与解析值196.4 m 只差一个网格。
·二阶格式的相对 L1 误差为0.099%。
·各模型的 L∞ 都在1.1–1.6 m,来自激波所在单元的单格错位(激波高差约3 m),属于间断解的正常现象,不代表整体精度差。

表4案例 误差指标(t = 200 s)
模型 | 相对 L1 | L∞ (m) | RMSE (m) | 稳态残差 (m) | 流量偏差 |
HydroBreak 一阶 | 0.0592% | 0.0098 | 0.0022 | 1.2e-06 | 0.48% |
HydroBreak 二阶 | 0.0041% | 0.0022 | 2.19e-04 | 2.1e-06 | 0.11% |
分析:
·HydroBreak 二阶格式的相对L1误差为0.0041%,驼峰顶部水面跌落的计算值与解析解基本重合。
·一阶格式在驼峰段的单宽流量偏差为 0.48%,上游水位偏高约1.5 mm。这是一阶静水重构在“运动稳态”(流动中的恒定流)下不能精确平衡的已知局限;二阶格式把偏差降到0.11%。
·HydroBreak 两种格式在计算末段的稳态残差约10⁻⁶ m,说明流量边界加水位边界的组合能稳定收敛到恒定流。

表5案例 误差指标(t = 400 s)
模型 | 相对 L1 | L∞ (m) | RMSE (m) | 水跃位置 (m) | 流量偏差* |
HydroBreak 一阶 | 0.400% | 0.0729 | 0.0053 | 11.75 | 2.36% |
HydroBreak 二阶 | 0.175% | 0.0665 | 0.0043 | 11.75 | 0.55% |
* 流量偏差统计时剔除了水跃两侧各0.3 m 的范围。
分析:
·四种计算都在 x = 11.75 m 所在的网格捕捉到水跃,与解析位置11.67 m 相差不到一个网格(0.1 m)。
·HydroBreak 二阶格式的相对L1误差为0.175%,一阶格式为0.400%;在该算例中 HydroBreak 的误差偏大:二阶格式约55% 的误差来自水跃附近4 个网格(激波过渡带较宽),约39% 来自驼峰上游段(水深平均偏差约0.5 mm)。
·HydroBreak 的稳态残差约为10⁻⁶ m,已完全达到恒定。

表6案例 与参考解的偏差(t = 7.2 s,非坝体单元)
模型 | 网格 | 单元数 | 水深 RMSE (m) | 最大偏差 (m) | G3 过程 RMSE (m) | 质量误差 |
HydroBreak 一阶 | 2.5 m | 6400 | 0.204 | 1.660 | 0.298 | 0 |
HydroBreak 二阶 | 2.5 m | 6400 | 0.095 | 1.114 | 0.195 | 0 |
HydroBreak 一阶 | 1.25 m | 25600 | 0.148 | 1.459 | 0.217 | 0 |
HydroBreak 二阶 | 1.25 m | 25600 | 0.048 | 0.619 | 0.111 | 0 |
分析:
·模型给出的二维流态一致:溃口两端形成绕流漩涡,下游呈半圆形涌波向外扩展,上游出现向库区传播的负波。二阶格式各测站过程线与参考解趋势一致,溃口附近 G2、G3 初期涨水略慢,末时刻水深相差不超过0.14 m;一阶格式在库区测站G1 偏高约0.56 m。
·在 2.5 m 网格上,HydroBreak 二阶格式与参考解的水深 RMSE 为0.095 m。偏差主要集中在涌波前锋(x ≈ 165–170 m)和溃口两端。
·网格加密到 1.25 m(单元数25600)后,HydroBreak 二阶格式的RMSE 降为0.048 m,说明其随网格加密向参考解收敛。
·一阶格式在 2.5 m 网格上的RMSE 为0.204 m,涌波前锋抹平明显(剖面图中前锋坡度偏缓);它适合做方案初筛,最终成果宜用二阶格式或更密的网格。
计算运行统计
表 7 HydroBreak 各案例计算统计
案例 | 格式 | 单元数 | 时间步数 | 平均步长 (s) | 初始水量 (m³) | 末时刻水量 (m³) | 边界净出流 (m³) | 质量误差 | 最大流速 (m/s) | 耗时 (s) |
案例1 | 一阶 | 4000 | 1062 | 0.0188 | 50000.0 | 50000.0 | 0.0 | -1.5e-16 | 16.78 | 0.61 |
二阶 | 4000 | 1132 | 0.0177 | 50000.0 | 50000.0 | 0.0 | 1.5e-16 | 18.51 | 1.19 | |
案例2 | 一阶 | 4000 | 878 | 0.0228 | 55000.0 | 55000.0 | 0.0 | 0 | 7.36 | 0.43 |
二阶 | 4000 | 880 | 0.0227 | 55000.0 | 55000.0 | 0.0 | 0 | 7.47 | 1.12 | |
案例3 亚临界驼峰 | 一阶 | 1000 | 56554 | 0.0035 | 494.7 | 492.4 | 2.2 | -2.3e-15 | 4.31 | 6.97 |
二阶 | 1000 | 56550 | 0.0035 | 494.7 | 492.4 | 2.3 | -1.3e-15 | 4.38 | 20.75 | |
案例4 跨临界驼峰 | 一阶 | 1000 | 46972 | 0.0085 | 494.7 | 84.1 | 410.6 | 7.7e-14 | 3.03 | 5.63 |
二阶 | 1000 | 46893 | 0.0085 | 494.7 | 84.0 | 410.7 | 7.2e-14 | 3.05 | 17.68 | |
案例5 局部溃坝(2.5 m) | 一阶 | 6400 | 175 | 0.0411 | 290625.0 | 290625.0 | 0.0 | 0 | 4.74 | 0.24 |
二阶 | 6400 | 185 | 0.0389 | 290625.0 | 290625.0 | 0.0 | 0 | 6.54 | 0.42 |

图 1 HydroBreak 案例1:多时刻水深、流速分布与坝址过程

图 2 HydroBreak 案例2:多时刻水深、流速分布与坝址过程

图 3 HydroBreak 案例3:稳态水面线、单宽流量偏差与驼峰顶水深收敛过程

图 4 HydroBreak 案例4:稳态水面线、单宽流量偏差与驼峰顶水深收敛过程

图 5 HydroBreak 案例5(二阶,2.5 m 网格):t = 1.2、3.6、7.2 s 水深与流速矢量

图 6 HydroBreak 案例5:测站G1–G4 水深过程(一阶、二阶与0.625 m 加密网格)

图 7 HydroBreak 案例5:剖面水深随网格加密的变化与网格收敛曲线
表8 HydroBreak 案例5 测站水深(m)
计算 | t (s) | G1 库区 | G2 溃口 | G3 下游近区 | G4 下游侧区 |
一阶 2.5 m | 1.2 | 10.000 | 7.228 | 5.000 | 5.000 |
3.6 | 9.906 | 7.261 | 6.533 | 5.000 | |
7.2 | 8.574 | 7.576 | 6.934 | 5.059 | |
二阶 2.5 m | 1.2 | 10.000 | 7.249 | 5.000 | 5.000 |
3.6 | 9.990 | 7.269 | 6.823 | 5.000 | |
7.2 | 8.147 | 7.662 | 6.969 | 5.001 | |
二阶 0.625 m | 1.2 | 10.000 | 7.263 | 5.000 | 5.000 |
3.6 | 10.000 | 7.269 | 7.222 | 5.000 | |
7.2 | 8.011 | 7.624 | 6.960 | 5.000 |
表 9 HydroBreak 案例5 网格收敛(t = 7.2 s,以二阶0.625 m 解为参考,非坝体单元)
Δx (m) | 单元数 | 一阶 RMSE (m) | 一阶收敛阶 | 二阶 RMSE (m) | 二阶收敛阶 | 二阶最大偏差 (m) | 二阶时间步数 | 二阶耗时 (s) |
5 | 1600 | 0.262 | — | 0.130 | — | 1.17 | 94 | 0.07 |
2.5 | 6400 | 0.202 | 0.37 | 0.092 | 0.50 | 1.35 | 185 | 0.42 |
1.25 | 25600 | 0.150 | 0.43 | 0.049 | 0.91 | 1.27 | 378 | 3.53 |
0.625(参考) | 102400 | — | — | — | — | — | 782 | 99.6 |
注:0.625 m 网格计算与其他补充计算同时运行,耗时偏长,仅供参考。
分析:
·流场演变:t = 1.2 s 时溃口内形成向下游的射流,全场最大流速约3.3 m/s;t = 3.6 s 时下游涌波呈半圆形扩散,水流绕过两侧坝头向上下两侧展开,最大流速约4.9 m/s;t = 7.2 s 时涌波前锋推进到x ≈ 165–170 m,库区负波向上游传到x ≈ 25 m 附近,最大流速约 6.5 m/s。
·测站过程:二阶格式 2.5 m 网格与0.625 m 加密解的过程线形态一致,末时刻G1 相差 +0.136 m,G2、G3 相差不超过0.04 m。一阶格式涌波前锋更平缓,G3 起涨提前且峰值偏低,G4 在t = 7.2 s 已出现0.059 m 的虚假涨水(加密网格中涌波尚未到达),这是一阶格式数值扩散的表现。
·网格收敛:二阶格式的 RMSE 随网格加密单调减小(0.130 → 0.092 → 0.049 m),收敛阶由0.50 提高到0.91;一阶格式收敛较慢(0.262 → 0.150 m,收敛阶约0.4)。最大偏差约 1.2–1.4 m,不随加密减小,原因是涌波前锋为间断,前锋位置错开一个网格就会产生与涌波高度相当的单点偏差。
·全部网格和两种格式的质量误差都不超过 2×10⁻¹⁶;坝体单元在整个计算中水深始终为0,没有出现虚假过流。
一维算例网格收敛性

图 8 HydroBreak 案例 1–4 水深相对 L1 误差随网格尺寸的变化(双对数坐标)
表 10 HydroBreak 一维算例网格收敛(水深相对L1 误差与实测收敛阶)
案例 | Δx (m) | 一阶 L1 | 一阶收敛阶 | 二阶 L1 | 二阶收敛阶 |
案例1 | 4 | 1.2747% | — | 0.3921% | — |
2 | 0.7900% | 0.69 | 0.1964% | 1.00 | |
1 | 0.4707% | 0.75 | 0.0977% | 1.01 | |
0.5 | 0.2745% | 0.78 | 0.0493% | 0.99 | |
案例2 | 4 | 1.2115% | — | 0.3818% | — |
2 | 0.6688% | 0.86 | 0.1919% | 0.99 | |
1 | 0.3716% | 0.85 | 0.0991% | 0.95 | |
0.5 | 0.2126% | 0.81 | 0.0477% | 1.05 | |
案例3 亚临界驼峰 | 0.2 | 0.1179% | — | 0.0157% | — |
0.1 | 0.0592% | 0.99 | 0.0041% | 1.96 | |
0.05 | 0.0297% | 1.00 | 0.0011% | 1.94 | |
案例4 跨临界驼峰 | 0.2 | 0.7186% | — | 0.2540% | — |
0.1 | 0.3999% | 0.85 | 0.1753% | 0.54 | |
0.05 | 0.2015% | 0.99 | 0.0742% | 1.24 |
分析:
·亚临界驼峰的解是光滑的,二阶格式实测收敛阶为 1.96、1.94,达到设计的二阶精度,一阶格式为1.00,说明两种格式的实现与理论一致。
·案例1、2和跨临界算例含有间断或导数间断(干湿前缘、稀疏波波头、激波、水跃)。对这类解,高分辨率格式的L1 收敛阶一般只能达到1 左右,二阶格式实测约1.0,一阶格式约0.7–1.0,与理论相符;二阶格式在相同网格上的误差约为一阶的1/2–1/6。
·跨临界算例二阶格式的收敛阶在 0.5–1.2 之间波动,原因是水跃位置在网格内的相对位置随网格变化,属于静止间断问题的正常现象。
HydroBreak 软件独立验证小结
只看 HydroBreak 自身,与解析解和自身加密网格解比较,结论如下:
1. 解析解吻合:二阶格式在案例1中坝址水深偏差+0.13%、单宽流量偏差小于 0.01%;案例2中间区水深、流速偏差小于0.01%;亚临界驼峰水面偏差在0.1 mm 量级。
2. 收敛阶符合理论:二阶格式在光滑解上的实测收敛阶为 1.94–1.96,达到设计精度;在含间断的解上约为1,与理论预期一致。一阶格式收敛阶约0.7–1.0。
3. 质量守恒:封闭边界算例的质量误差不超过 2×10⁻¹⁶;开边界算例中水量变化与边界净出流吻合,质量误差不超过8×10⁻¹⁴。
4. 恒定流计算:流量边界加水位边界的组合能稳定收敛,亚临界、跨临界算例分别约 105 s、55 s 后驼峰顶水深稳定到±1 mm,末段稳态残差约10⁻⁶ m。
5. 二维溃坝:局部溃坝的射流、绕流、涌波扩散和库区负波过程清晰,坝体阻水可靠;二阶格式随网格加密单调收敛。
6. 一阶格式的适用范围:一阶格式稳定、速度快,但前缘和激波抹平明显,会造成下游测站涨水提前、峰值偏低(如案例 5 的G3、G4),适合方案初筛。
7. 网格建议:对二维溃坝演进,建议采用二阶格式;按本案例结果,网格尺寸可参考不大于溃口宽度的 1/30(案例5 中2.5 m 时RMSE 约0.09 m,1.25 m 时约0.05 m);关注前锋到达时间时宜进一步加密。
8. 计算效率:案例 5 的6400 单元二阶计算模拟 7.2 s 只需约0.4 s,25600 单元约3.5 s,可满足方案比选的快速计算需求。