Page 127 - 2025年第56卷第10期
P. 127
表 1 OpenMP、CUDA 及 Kokkos 框架属性
功能模块 OpenMP CUDA Kokkos
并行指令 #pragma omp parallel for <<<grid,block>>> kernel Kokkos::parallel_for
内存管理 自动共享内存 显式主机与设备内存拷贝 自动管理内存布局和跨设备数据迁移
CPU 并行 支持 不支持 支持
GPU 并行 不支持 支持 支持
异构计算 不支持 有限支持(仅限 NVIDIA GPU) 支持
模型案例 SWMM [9] TRITON [26]1) SERGHEI-SWE [22]
注:1)此处仅讨论其 CUDA 实现,该部分不支持 CPU 并行。
变化的动态边界等。Godunov 方法具有计算稳定性高、鲁棒性强等优势,能有效处理复杂地形、干湿
边界的演变以及水深剧烈变化等情况,适用于对降雨-径流过程进行高精度模拟,在水动力模型中得
到了广泛应用 [9,28-30] 。此外,SERGHEI-SWE 模型基于 Kokkos 框架开发,具备良好的可移植性,并以
开源形式发布,为进一步研究和实际应用提供了便利。文献[22]详细介绍了该模型的基本架构与原
理,并对其计算准确性和并行性能进行了评估。
[9]
2.3 管道排水模块 本研究采用 SWMM version 5 中的动态波方法 模拟管道排水过程。该方法采用隐
式差分法求解完整的一维浅水方程,虽不依赖于全局矩阵求解,但仍需满足 CFL 条件以保证数值计算
的稳定性 [27] 。动态波方法能够模拟节点溢流、回水效应以及管道内部复杂的水动力过程,已被广泛应
用于管道排水研究中 [31-32] 。在 SERGHEI-SWMM 中,管道排水计算模块基于 Kokkos 框架进行了代码重
构与优化,具备高效的并行计算能力与良好的可移植性。
2.4 水量交换计算 目前,地表径流与排水管道之间的水量交换多采用堰流公式或孔流公式进行计
算,该方法的可靠性与准确性已得到了广泛验证 [33] 。在 SERGHEI-SWMM 中,地表与管道的水量交换
同样基于堰流或孔流公式进行模拟。根据雨水井处排水管道节点水头(h m )、地表水位(h s )与地表高程
(z)之间的相对关系,水量交换可分为以下三种情况 [34-35] :(a)当 h s > z > h m 时,地表径流进入排水管
道(图 1(a)),交换水量通过自由堰流公式(1)进行计算;(b)当 h s > h m ≥ z 时(图 1(b)),管道节点处于
淹没状态,交换水量由淹没堰流公式(2)或孔流公式(3)计算;(c)当 h m ≥ h s 时,排水管道内水流溢流
至地表(图 1(c)),交换水量同样通过淹没堰流公式或孔流公式计算。
图 1 地表径流-地下管流交换示意图
Q e = C w W 2g (h s - z) 3 2 (1)
Q e = C w W 2g ( h max - z)( h max - h min) , h max - z < A mn /W (2)
1 2
2g (h max - h min ) , h max - z ≥ A mn /W (3)
1 2
Q e = C o A mh
h max = max ( h m ,h s) ,h min = min ( h m ,h s) (4)
式中:Q e 为流量,m /s;C w 为堰流系数,取值范围[0,1];W 为雨水井周长,m;A mn 为雨水井面积,
3
m ;C o 为孔流系数,取值范围[0,1]。
2
— 1374 —

