《Computer Physics Communications》:CN-Waves: An open-source Python package for modeling and generating nonlinear sea states using the high-order spectral method
编辑推荐:
CN-Waves 的目标是简化并自动化数值波浪水池(numerical wave tanks, NWTs)和开放域(open domains)中真实水波场的生成与建模。波浪建模采用基于完全非线性势流(fully nonlinear potential flow
CN-Waves 的目标是简化并自动化数值波浪水池(numerical wave tanks, NWTs)和开放域(open domains)中真实水波场的生成与建模。波浪建模采用基于完全非线性势流(fully nonlinear potential flow, FNPF)理论的高阶谱(High-Order Spectral, HOS)代码 HOS-Ocean 与 HOS-NWT。CN-Waves 将 HOS 命令行可执行文件打包,并提供 Python 软件包以执行 HOS 模拟。该 Python 方法具有默认数值参数,使仅具备基本波浪理论知识的用户能够建模和生成水波,同时允许更高级用户控制不同参数。已实现多种可视化功能。该软件包旨在促进大量模拟的启动与分析。此外,该 Python 软件包针对波浪水池配置实现了几种波浪生成方法。这些方法包括成熟方法,例如二阶波浪生成(second-order wave generation)或考虑斜向波(oblique waves)生成过程中的侧壁反射(side-walls reflection)。其他近期开发的方法,包括时间反转法(time reversal method)、用于校准海况(sea state)的迭代方法,以及响应条件波浪(response-conditioned waves)的生成,也在 CN-Waves 中提供。
研究背景与问题:在流体-结构相互作用研究中,需表征波浪并确保其与目标海况一致;数值研究常以非线性势流码提供有限计算域边界的真实波运动学,并要求计入高阶非线性项,波谱和极端事件发生等统计性质应代表目标海况;实验研究需准确复现海上测量或设计波得到的自由面高程,迭代程序耗时并增加水池使用成本。数值波浪水池(Numerical Wave Tank, NWT)可预先准备波浪、执行迭代、获取实验中未测的空间性质与流速,并初始化计算流体力学(Computational Fluid Dynamics, CFD)模拟;与 CFD 相比更省时且长距离传播无数值耗散。问题在于:完全非线性势流(FNPF)求解器未系统用于实验研究,学习曲线和设置时间高;与黏性求解器耦合困难;实验造波方法如二阶造波机理论或考虑侧壁反射的方向造波理论在 NWT 中不总是可用;短峰海况计算时间可能过高,破碎能耗散仍是研究主题;多次 NWT 模拟需自动化启动、分析和下一迭代输入确定。因此,研究人员报告开源 CN-Waves,以简化和系统化 HOS-NWT、HOS-Ocean 及多种波浪生成方法在波浪-结构相互作用中的使用。
研究人员开展的研究与意义:CN-Waves 由两个 FNPF 求解器、Python 包 cnwaves 和多种波浪生成方法组成;默认参数使基本用户可运行,专家可控制参数;提供可视化、教程、测试套件和连续集成;可作数字孪生复现实验波场。其结论是使安装使用更容易,默认参数可快速建立 HOS 配置,工具可处理 HOS 模拟数据,并实现需多次 HOS 模拟的波浪生成方法;重要意义在于降低使用门槛、自动化大量模拟,并支持实验、CFD 初始化与波场分析。
关键技术方法(不超过250字):研究人员基于 HOS-Ocean 与 HOS-NWT Fortran 命令行程序开发 Python 包 cnwaves,封装 HOS 可执行文件,提供默认数值参数、可视化、在线教程、测试套件与持续集成;借助 Snoopy 海洋应用开源库管理 Wif(频域自由面高程对象)、SeaState 等对象;HosOcean/HosNwt 类设置并启动模拟,WavemakerMotion 定义造波机运动,Run/WaveSeries 存储与分析结果;实现二阶造波、Dalrymple 斜向波、时间反转(Time Reversal, TR)、迭代谱校准、响应条件波浪(Response-Conditioned Waves, RCW)及代理模型。无样本队列;算例参照 Centrale Nantes 海洋水池/拖曳水池及 Draupner 波测量。
研究结果:
4.1 将 HOS-NWT 用作实验活动的数字孪生:以 Centrale Nantes 海洋水池短峰不规则海况实验的造波机运动为输入,HOS-NWT 复现实验自由面,前 40 s 的均方根(Root Mean Square, RMS)误差为 0.5 cm;表明 HOS-NWT 可作数字孪生。
4.2 使用 HOS-Ocean 生成波浪:以 JONSWAP 谱定义不规则海况并启动 HOS-Ocean,得到 t=20 s 自由面;表明 Python 接口可用默认参数生成不规则海况。
4.3 使用 Dalrymple 方法生成斜向波:在目标位置 x
tar=20 m 生成斜向规则波,考虑侧壁反射后可在该处全宽获得目标波,不采用时受反射影响;表明该方法可扩大无扰动区域,但当前不提供斜向波二阶造波。
5.1 使用时间反转法复现波面时程:TR 为两步程序,先反向传播目标信号,再将测量信号反向并再传播,使信号在 x
tar 聚焦;适用于非破碎单向海况,精度随距离增加而下降,超过八倍峰波长时降低。
5.1.1 时间反转法原理:通过时间反转与再传播实现目标信号聚焦;需处理束缚波和虚假自由波,方向性扩展仍困难;表明 TR 受单向假设和束缚波处理限制。
5.1.2 极端波复现:将 Draupner 波按 1/40 Froude 相似缩放,在长度 35 m、吸收海滩为两个峰波长的 NWT 中复现,重建与目标信号 RMS 误差 1.5 cm;二阶程序未显著改善;表明 TR 能以较好精度复现极端波。
5.2 不规则海况校准:非线性相互作用和破碎改变谱形与极端波发生频率,需迭代校准;CN-Waves 实现谱校准和统计校准;表明需迭代修正造波输入以获得目标谱和真实极端事件频率。
5.2.1 波谱迭代校准程序:在 x
spec 以 N
real 个随机相位实现估计谱并修正下一次造波幅值;默认 E
tar=0.05,推荐 2500 波(N
real 2–5),物理水池常取 E
tar=0.10;表明迭代可使测量谱逼近目标谱。
5.2.2 使极端波统计更接近造波机的方法:先在 x
spec 校准,再将 x
spec?x
tar 处自由面转为造波机信号,使 x
tar 复现 x
spec 海况;表明可将远处校准海况移至近造波机处。
5.2.3 应用:对全尺度 H
s=0.1 m、T
p=1.6 s、γ=5 的 JONSWAP 谱,在 x
spec=80 m 校准,第五次迭代收敛,共 60 次 HOS 计算;表明迭代谱校准可收敛,计算量随距离和谱形变化。
5.2.4 应用:将 x
spec=80 m 校准海况移至 x
tar=30 m,记录 x
spec?x
tar=50 m 信号并转为造波机运动;两谱相似但波峰高度超越概率(probability of exceedance, PoE)不同,远处校准再移位使极端波高度增加;表明校准位置影响极端统计。
5.3 响应条件波浪生成:HOS-RCW 为多保真方法,基于 HOS-NWT、代理响应模型和高保真工具;以 Monte Carlo HOS-NWT 估计响应分布,选择 PoE 水平对应响应 χ
tar,确定最可能诱发该响应的波事件;最后高保真步骤未实现,当前限于单向波。
5.3.1 结构响应:用 HOS-NWT 得到结构位置非线性波事件,代理模型以响应幅值算子(Response Amplitude Operator, RAO)和可选二次传递函数(Quadratic Transfer Function, QTF)近似响应;目标响应也可为给定点给定时刻自由面;表明 SpectralSurrogate 可基于 RAO/QTF 计算响应。
5.3.2 响应条件程序:将造波机运动写为标准正态变量,以极限状态函数和最小范数搜索最可能波事件,采用 MHLGA(Modified Hasofer–Lind with Goldstein–Armijo)算法;表明可优化得到最可能诱发目标响应的造波机运动。
5.3.3 船舶模型垂向弯矩响应条件波浪生成:对 SS6 海况(H
s=6 m、T
p=12.25 s、γ=1,比例 1/65)和 PoE=10
?1 的垂向弯矩,优化两次迭代收敛,共 316 次 HOS 调用;最陡案例需 16 次迭代和 2577 次 HOS 调用;表明 RCW 可得到使代理模型响应达到目标值的波事件,计算量要求谨慎选择 HOS 配置和频率数。
讨论与结论翻译:讨论部分总结指出,CN-Waves 简化 HOS-NWT 与 HOS-Ocean 非线性求解器的安装和使用,提供默认数值参数以快速建立 HOS 配置,并提供处理 HOS 模拟数据的工具;还实现需要多次 HOS 模拟的波浪生成方法。未来将集成 Grid2Grid 以促进 HOS 求解器与 CFD 工具的耦合及初始化,可能集成 CN-Stream 流函数求解器;RCW 是快速发展的主题,预计将实现多个代理模型以研究不同类型响应;研究人员计划将若干成熟的波浪-结构相互作用方法纳入 CN-Waves,使其他研究组和工业伙伴可用。研究结论翻译:CN-Waves 使 HOS-NWT 与 HOS-Ocean 非线性求解器能够在 Python 环境中使用。它使这些求解器更易于安装和使用。得益于 wheel 文件的使用,安装过程直接。提供默认数值参数以快速建立 HOS 配置,并提供多种工具处理 HOS 模拟数据。此外,实现了需要多次 HOS 模拟的波浪生成方法。TR 方法可用于在给定位置复现目标自由面高程信号。可生成 RCW 以确定某些事件的发生概率。获得的波浪事件定义高保真模型的输入,该高保真模型可为实验或数值高保真模拟。校准程序可用于确保给定位置的波谱与目标谱一致,并使极端事件的发生频率具有真实性。