《Computer Physics Communications》:HOS-Ocean v2.1: extensions of a nonlinear wave solver based on the High-Order Spectral method
编辑推荐:
本研究中,研究人员报告了HOS-Ocean开源求解器的新版本,该版本用于确定性非线性海洋波浪传播的数值模拟。该数值模型采用所谓的高阶谱(High-Order Spectral, HOS)方法,确保了高效率和高精度。本次发布的新版本包含:(i)额外的物理特性,如
本研究中,研究人员报告了HOS-Ocean开源求解器的新版本,该版本用于确定性非线性海洋波浪传播的数值模拟。该数值模型采用所谓的高阶谱(High-Order Spectral, HOS)方法,确保了高效率和高精度。本次发布的新版本包含:(i)额外的物理特性,如空间变化的流场和地形,以及专门用于模拟波破碎(wave-breaking)的模型;(ii)数值开发方面的进展,包括通过消息传递接口(Message Passing Interface, MPI)实现代码并行化,以及更加用户友好的代码(提供预编译二进制文件、简化的构建过程和操作)。HOS-Ocean v2.1以开源形式发布,可从GitLab获取,按照GNU通用公共许可证(GPLv3)的条款进行开发和分发。随源代码一同提供的还有Sphinx格式的详细文档。
## 研究背景与问题
海洋波浪动力学涉及多尺度物理过程,包括风场能量输入、非线性波-波相互作用以及波破碎能量耗散等。非线性势流理论是研究海洋波浪时空演化的典型框架,其中高阶谱(High-Order Spectral, HOS)方法凭借其伪谱方法的收敛特性和快速傅里叶变换(Fast Fourier Transform, FFT)的计算效率,成为模拟高度非线性海况的重要工具。HOS-Ocean代码作为首个(也是迄今唯一)开源的HOS求解器,自发布以来已被广泛应用于不规则海况特性研究、极端事件形态分析、数值模型基准验证、波-结构相互作用以及非线性海况数据库构建等领域。
然而,原有版本存在三方面局限:其一,计算效率受限,大规模长时间模拟(如数百平方公里海域、数小时物理过程)需要数天计算时间;其二,物理模型简化,未考虑地形变化、流场影响及波破碎等关键物理过程;其三,用户友好性不足,编译安装流程复杂。为此,研究人员开发了HOS-Ocean v2.1版本,以增强功能并提升易用性。
## 主要技术方法
本研究的核心技术方法包括:基于MPI的并行计算架构,采用FFTW库的MPI实现进行y方向物理空间及k
y波数空间的域分解;伪谱方法中的零填充去混淆(dealiasing)技术;自适应步长的四阶Runge-Kutta Cash-Karp时间积分方案;松弛区域(relaxation zone)方法用于非齐次边界条件处理;以及三种波破碎处理策略——低通滤波、超黏性滤波,以及基于B参数的Chalikov模型和Barthelemy-Tian模型。
## 研究结果
### 并行化计算
研究人员通过MPI实现代码并行化,采用y方向域分解策略,测试规模达48处理器。弱可扩展性(weak scalability)分析显示,速度提升因子约达10倍;强可扩展性(strong scalability)测试表明,由于伪谱方法的非局部特性及FFT所需大量通信,实际效率低于理论最优值。计算复杂度为T
CPU = O(M2N log(N)),其中N为扩展后的总网格点数。
### 波破碎模型
研究人员实现了三种波破碎处理方案。低通截断滤波在每子时间步对模态振幅进行阈值截断,但该方法一般不推荐使用。超黏性滤波通过在自由表面边界条件中添加大波数耗散项提高鲁棒性,其参数包括r=0.25、p
1=1、p
2=2,但存在能量去除限于高波数、参数需校准等局限。Chalikov模型以水面曲率作为破碎起始判据,通过添加扩散项实现能量耗散,需与超黏性滤波联用,但缺乏普适参数化方案。Barthelemy-Tian模型采用B参数(B
x = U
x/C
x ≥ 0.85)作为破碎起始判据,通过部分Hilbert变换计算波峰速度,结合涡黏性模型实现局部能量耗散,模型参数源于实验且无需额外校准,是目前推荐用于实际应用的模型,但其当前实现限于单向波场。
在单向JONSWAP谱(H
s=8.5 m,T
p=10 s,γ=3.3)的深水中,对比实验表明:无破碎模型时模拟在数个传播周期后崩溃;各破碎模型均可完成200个峰值周期的完整模拟,但耗散水平存在差异。
### 松弛区域
松弛区域方法通过引入松弛系数C
r(x)(0 ≤ C
r(x) ≤ 1),在时间积分过程中将解向预设解(生成或吸收)强制收敛。典型设置包括两侧吸收区和中间生成区。松弛区长度通常为1-10倍波长,需根据具体配置权衡数值稳定性与计算效率。对于短峰波(short-crested seas),可采用横向松弛区或反射侧边界条件。
### 波-底相互作用
针对变底地形问题,研究人员将速度势分解为? = ?
h0 + ?
β两部分,其中?
h0满足平底Neumann条件,?
β修正底边界条件。引入新的HOS阶数M
b描述底边界条件的非线性,在自由面和底部分别进行级数展开和Taylor展开。该方法假设β/h
0 << 1且O(β/h
0) = O(|?β|),但经有效验证至β/h
0 = 0.7、坡度≈0.5的情况,在单向和多向配置中均表现良好。应用包括规则波、不规则短峰波模拟,以及二维潜堤实验验证。
### 波-流相互作用
研究人员开发了考虑空间变化流场的修正版本。假设流场时均、垂向和水平向缓变,将自由面抬升分解为流致分量η
c(x)和波致分量η(x, t)。以z = η
c(x)为新的垂向坐标参考面,推导得到修正的自由面边界条件,采用标准HOS方案求解。结合松弛区域方法,可在计算域中心区域实现从零到目标值的流场变化(目前限于x方向变化)。该模型有效应用于表征反向流场中非线性波相互作用增强现象,并经实验验证。
## 讨论与结论
HOS-Ocean v2.1作为开源非线性海洋波浪传播求解器的更新版本,在保持核心数值方法不变的基础上,实现了多方面的功能扩展和用户体验提升。新增的MPI并行化功能显著提升了大规模问题的计算效率,使超级计算机架构上的应用成为可能。物理模型方面,波破碎、变底地形和波-流相互作用的引入,极大拓展了原代码的应用范围,使其能够处理更为复杂和真实的海洋环境。
代码工程方面的改进包括:基于CMake的简化编译流程、预编译二进制文件分发、YAML格式的层级化输入文件,以及Sphinx格式的详细文档,这些措施显著降低了使用门槛。后处理工具支持标准分析,并与Grid2Grid库耦合,可实现与计算流体动力学(Computational Fluid Dynamics, CFD)求解器(如OpenFOAM)的高效数据交互。
研究结论指出:"HOS-Ocean v2.1是HOS-Ocean开源代码的更新版本,旨在为高度非线性海况的确定性传播提供高效的数值模型。这一新版本提供了多种新功能。它们通过提供预编译二进制文件、使用CMake简化编译过程以及用于输入文件的新YAML格式,简化了用户体验并增强了用户便利性。此外,原始HOS模型的应用范围得到了扩展,现在包括支持MPI的代码并行化,允许在笔记本电脑或超级计算机架构上使用多核。在物理特性方面,HOS-Ocean v2.1现在提供了重要的补充。模拟的波场可以包含破碎事件,这些事件通过专用算法模拟能量耗散过程。通过使用松弛区域,现在可以模拟非齐次空间条件。这对于HOS-Ocean v2.1中提供的两个新特性尤为重要:首先,波场与变底地形的相互作用;其次,波浪与空间变化流场的相互作用。HOS-Ocean v2.1中提供的新功能有望促进该模型的使用,从而有助于其在海洋工程、非线性波浪和海洋学界的更广泛应用。研究人员希望,这些扩展HOS模型应用范围的新的物理特性,也能激励新用户,并有助于新颖有趣的非线性海洋波浪研究的出现。"