Hamiltonian Two-Way Coupling of Nonlinear Waves and 3D Flows
Sinan Wang, Ruicheng Wang, Taiyuan Zhang, Fan Feng, Jinjin He, Yuchen Sun, Zhiqi Li, Bo Zhu
SIGGRAPH Asia 2026)
cs.GR, math.NA, physics.flu-dyn
2026-08-26
Georgia Tech 与 Dartmouth 用 Zakharov 正则对做非线性色散 2D 浪,再与局部 3D 流体双向耦合。相对 Airy,平均波高误差降 1.7 至 2.4 倍;单船场景比全场 GPU NB-FLIP 快 4 倍以上。
全场三维不可压缩 Navier-Stokes 一旦铺到几百米海域,内存和算力都会顶满。图形学的通行拆法是把贵的 3D 求解器圈在船体、溅落这些局部盒子里,远场交给便宜的二维表面波把浪传出去。这条 2D–3D 分解能不能用,取决于二维浪模型和接缝处两边是否说同一种表面状态。
常用的二维浪几乎都只守住半边物理。Airy 理论保留正确色散,不同波长走不同速度,但把自由面绕平表面线性化,丢掉随波陡度增长的波-波相互作用。浅水方程 (SWE) 保留非线性对流,色散却塌成 ω = √(gh) k,开敞海域里长短波会一起跑。波粒子、波包、波前跟踪沿着线性射线走,同样继承线性化。3D 盒子边界上本来就会出现波峰变陡、振幅相关色散;二维侧对不上,接缝处就会反射、错位。此前能同时非线性又色散的路线是边界元 (BEM),但要维护 Lagrangian 表面网格,逐步重网格,复杂度到 O(N³)。
Georgia Tech 与 Dartmouth 把远场改成 Zakharov 的正则对:水面高程 η 和表面速度势 ψ,像位置与动量那样在总能量下演化。关键算子是 Dirichlet–Neumann 算子 G(η):给定表面上的 ψ,它返回势函数在流体里调和延拓后的法向导数。有了 G,三维拉普拉斯问题收成规则水平网格上的两个场。
直接算 G 每步都要在不规则水体里解拉普拉斯。这里改用 Craig–Sulem 的 High-Order Spectral 展开,把 G 写成 η 的齐次幂级数,用 FFT 做到 O(N² log N)。实践里截到二阶 (HOS-2) 或三阶 (HOS-3)。再加一个标量 ε ∈ [0, 1] 去调制所有非线性修正:ε = 0 退回线性 Airy,ε = 1 是截断后的非线性 Zakharov。近破碎、强迫很强时把 ε 拧小,换稳定性。
时间积分把线性部分在傅里叶空间精确转一圈,每个波数按其色散频率旋转;非线性部分用 Adams–Bashforth-2 往前推。线性色散因此不耗散,步长也不被最高波数的刚度绑死。封闭边界用偶延拓加倍网格;非线性乘积走 3/2 去混叠。
双向耦合两边都走同一套 DNO:
2D 单独测:20 m × 20 m 水池,浅水 1 m、深水 20 m,中心高斯鼓包传播 2000 帧,对照高分辨率三维欧拉 level-set。时间平均绝对波高误差(浅 / 深):
| 方法 | 浅水均值 | 深水均值 |
| SWE | 0.0482 | 0.0962 |
| BEM | 0.0517 | 0.1705 |
| Airy DK | 0.0277 | 0.0545 |
| HOS-2 | 0.0136 | 0.0328 |
| HOS-3 | 0.0115 | 0.0342 |
相对最强线性基线 Airy DK,浅水均值约低 2.4 倍(HOS-3),深水约低 1.7 倍(HOS-2)。相对 SWE 和 BEM,浅水约 4 倍,深水 3 到 5 倍。RTX 4090 上单步:HOS-2 约 6.2–6.4 ms,HOS-3 约 13.5 ms;Airy DK 约 1.1 ms,BEM 深水 8.7 s、浅水 26.0 s。比 BEM 快三个数量级以上,比线性求解器贵大约 5 倍。
Stokes 行波上,ε = 0 的线性求解器缺振幅相关频移,相位逐渐漂走;ε = 1 的 HOS-3 锁在解析二阶 Stokes 剖面上。色散匹配实验里,Chentanez 等人 (2015) 的 SWE 耦合左右不对称;Schreck 与 Wojtan (2022) 把色散标定到 d = 0.8 后仍不如这套内外一致;FAB + Airy DK 没有左右不对称,但三维区浪更深。单船 Kelvin 尾迹:SWE 形状错,几种 Airy 或混搭接缝后有伪反射;这套尾迹穿过接缝,85.0 ms/子步,对照全场 GPU NB-FLIP 的 363 ms,快 4 倍以上。水上飞机、战列舰、潜艇上浮等大场景接缝大体干净。ε 在潜艇上用 0.3,战列舰和池塘用 0.2,其余多数用 1.0。
先前 2D–3D 耦合要么丢非线性,要么丢色散,要么付 BEM 的网格代价。这套把四件事叠进同一条 FFT 管线。船体尾迹、溅落远传这类镜头里,局部 3D 负责破碎和刚体,远场把色散和非线性波-波作用带出去,不必为整片海付 NB-FLIP 的账单。ε 从线性 Airy 连续拧到截断 Zakharov,制作上比换求解器方便。
平静、近线性的远场,Airy 或 Tessendorf 频谱仍然更便宜、更稳。HOS-2 在绝大多数场景已经够用,HOS-3 只在最陡的制度里多一点点精度。
ε = 1 不是无条件稳定。强迫接近破碎阈值时,高阶 DNO 会激起数值不稳,必须按场景拧 ε。截断阶数涨一阶,代价大约再翻一倍。二维模型是单值高度场,翻卷破碎后失效;整张 2D 网格每子步都推,域不能像 Tessendorf 频谱那样无限外扩。最苛刻的战列舰场景接缝伪影没有清干净,还要靠渲染期叠频谱位移和泡沫去遮。
消融说明耦合是非对称的:只松 η 才稳,关掉谱滤波器后 Crown Splash 很快炸掉。接缝误差没有定量指标,色散匹配和单船对照主要靠图。BEM 的 8.7–26 s 也受实现和网格影响。ε 仍是手工旋钮,没有自适应策略。