波浪建模

分类: 流体分析(CFD) | 统一版 2026-04-06
CAE visualization for wave modeling theory - technical simulation diagram
波浪建模

波浪建模的理论基础

概述

🧑‍🎓

老师! 今天讨论波浪建模,是什么呢?


🎓

线性波理论。色散关系。Stokes波、不规则波谱。



🧑‍🎓

啊!原来线性波理论是这样工作的。这样就理解了。


支配方程




$$ \eta=A\cos(kx-\omega t) $$
$$ \omega^2=gk\tanh(kd) $$



🧑‍🎓

听到这里,我终于明白为什么波浪建模的描述如此重要了!


离散化方法

🧑‍🎓

如何在计算机上实际求解这个方程?


🎓

使用有限元法(FEM)进行空间离散化。组装单元刚度矩阵,构建整体刚度方程。


🎓

使用弱形式(变分形式)变换,通过试函数和形函数进行Galerkin法定式化。单元类型选择(低阶单元 vs. 高阶单元完全积分 vs. 缩减积分)直接影响解的精度与计算成本的平衡。




矩阵求解算法

🧑‍🎓

矩阵求解算法具体是什么意思?


🎓

使用直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解线性方程组。对于大规模问题,前置条件迭代法很有效。



求解方法分类内存使用适用规模
LU分解直接法O(n²)小-中规模
Cholesky分解直接法(对称正定)O(n²)小-中规模
PCG法迭代法O(n)大规模
GMRES法迭代法O(n·m)大规模·非对称
AMG前置前处理O(n)超大规模
🧑‍🎓

也就是说在有限元法这个环节出问题,后面就会很辛苦! 我记住了!


商用工具的实现

🧑‍🎓

那么做波浪建模需要什么样的软件?


工具名称开发商/现属主要文件格式
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

供应商系谱与产品整合历史

🧑‍🎓

每个软件的来源故事,都挺戏剧化的吧?



Simcenter STAR-CCM+

🧑‍🎓

接下来是Simcenter STAR的内容吧。讲讲怎么样?


🎓

由CD-adapco开发。2016年被Siemens收购并整合到Simcenter品牌。多面体网格是特点。

现在归属: Siemens Digital Industries Software



Ansys Fluent

🧑‍🎓

接下来是Ansys Fluent的内容吧。讲讲怎么样?


🎓

由Fluent Inc开发。2006年被ANSYS收购。基于非结构网格的通用CFD求解器。

现在归属: Ansys Inc.


🧑‍🎓

听到这里,我终于明白为什么开发历史如此重要了!



OpenFOAM

🧑‍🎓

OpenFOAM具体是什么意思?


🎓

Imperial College London开发的开源CFD。OpenCFD Ltd(ESI Group子公司)和The OpenFOAM Foundation进行并行开发。

现在归属: 开源(OpenCFD/ESI、OpenFOAM Foundation)


🧑‍🎓

哇,开发历史的故事超有意思! 想听更多。


文件格式与互操作性

🧑‍🎓

在不同软件间传递数据时有什么注意点吗?


格式扩展名类型概述
CGNS.cgnsCFD数据CFD 通用记号系统。CFD结果的标准交换格式。
VTK.vtk/.vtu可视化可视化工具包格式。用于ParaView等工具。
🎓

在不同求解器间转换模型时,要注意单元类型的对应关系、材料模型的兼容性、荷载与边界条件的表达差异。特别是高阶单元或特殊单元(内聚单元、用户定义单元等)通常无法直接在求解器间转换。


🧑‍🎓

原来格式虽然看似简单,但其实很深奥啊。


实际应用中的注意事项

🧑‍🎓

教科书上找不到的"现场经验"有没有?


🎓

网格收敛性验证、边界条件有效性检证、材料参数敏感性分析都很关键。


🎓
  • 网格依赖性验证:至少3个水准的网格密度确认收敛性
  • 边界条件的有效性:设置物理意义明确的约束条件
  • 结果验证:与理论解、实验数据、已知标准问题的对比


  • 🧑‍🎓

    波浪建模的全貌我掌握了! 明天起我在工作中会特别留意。


    🎓

    好的,你这样就对了! 实际动手是最好的学习。有不懂的随时问。


    Coffee Break 闲谈

    Stokes波与有限振幅波理论——G.G. Stokes的波浪分析(1847年)

    规则波的理论基础是Stokes(G.G. Stokes)在1847年发表的"有限振幅波(Finite Amplitude Wave)"理论,俗称"Stokes波理论"。线性波理论(微幅波理论)中波形是正弦曲线,但当波高/波长比(波形坡度 H/L)增大时,Stokes通过多阶摄动展开捕捉到波顶变尖、波谷变平的非线性特性。三阶或五阶Stokes波理论可精确描述破浪(Breaker)前陡峭的波形,在防波堤设计的入射波条件中至今仍在使用。超越Stokes理论的"Cnoidal波"(浅水域)和"孤立波(Solitary Wave)"由Korteweg-de Vries(KdV)方程描述,这些成为现代CFD数值波动水槽的理论背景。

    波浪建模的数值计算方法

    数值方法的详细说明

    🧑‍🎓

    具体用什么算法求解波浪建模问题?



    🧑‍🎓

    听到这里,我终于明白为什么波浪建模的特征如此重要了!


    离散化的定式化



    🎓

    使用形函数 $N_i$ 近似未知量:



    $$ u^h(\mathbf{x}) = \sum_{i=1}^{n} N_i(\mathbf{x}) \, u_i $$




    🎓

    用以下方式表达:


    $$ K_e = \int_{\Omega_e} B^T \, D \, B \, d\Omega \approx \sum_{g=1}^{n_g} w_g \, B^T(\xi_g) \, D \, B(\xi_g) \, |J(\xi_g)| $$

    基本方程的离散形式


    🎓

    用以下方式表达:


    $$ \eta=A\cos(kx-\omega t) $$
    $$ \omega^2=gk\tanh(kd) $$

    🧑‍🎓

    只看公式,我没明白…具体是什么意思?


    🎓

    连续体支配方程离散化后得到以下代数方程组:



    $$ [K]\{u\} = \{F\} $$


    🎓

    其中 $[K]$ 是全局刚度矩阵(或等价系统矩阵),$\{u\}$ 是未知节点变量向量,$\{F\}$ 是外荷载向量。


    🧑‍🎓

    啊,所以连续体支配方程就是通过这种方式转化的啊。这样就懂了。


    要素技术

    🧑‍🎓

    "要素技术"我听过,但没真正理解…


    单元类型次数节点数(3D)精度计算成本
    四面体1阶线性4低(剪切锁定)
    四面体2阶二次10
    六面体1阶线性8
    六面体2阶二次20非常高
    棱柱线性/二次6/15中~高

    积分方案

    🧑‍🎓

    积分方案具体是什么意思?


    🎓
    • 完全积分:精确积分所有项。刚度被评估过高倾向(锁定
    • 缩减积分:减少积分点数。计算效率提升但沙漏模式风险
    • 选择性缩减积分 (B-bar法):体积项和偏差项分别积分。回避锁定

    • 🧑‍🎓

      听到这里,我终于明白为什么单元类型如此重要了!


      收敛性和稳定性

      🧑‍🎓

      不收敛了要先查什么?


      🎓
      • h-细化:细分网格(缩小单元尺寸 h)提升精度
      • p-细化:提高单元多项式次数提升精度
      • hp-细化:同时优化 h 和 p

      • 🎓

        收敛速度:二阶单元误差按 $O(h^2)$ 阶数减少(对光滑解)


        🧑‍🎓

        原来网格细化虽然看似简单,但其实很深奥啊。


        求解器设置建议

        🧑‍🎓

        具体用什么算法求解波浪建模问题?


        参数推荐值说明
        迭代法收敛判定$10^{-6}$残差范数基准
        前置条件方法ILU(0) or AMG依问题规模而定
        最大迭代次数1000不收敛时重新审视设置
        内存模式In-core尽可能采用

        风上差分(Upwind)

        一阶风上:数值扩散大但稳定。二阶风上:精度提升但振动风险。高雷诺数流需要。

        中心差分(Central Differencing)

        二阶精度但 Pe数 > 2时数值振动。低雷诺数扩散主导流合适。

        TVD方案(MUSCL、QUICK等)

        用限制器函数抑制数值振动同时保持高精度。对冲击波和陡梯度捕捉有效。

        有限体积法 vs 有限元法

        FVM:自然满足守恒律。CFD主流。FEM:复杂形状和多物理耦合有优势。SPH等无网格法也在发展。

        CFL条件(Courant数)

        显式法:CFL ≤ 1为稳定条件。隐式法:CFL > 1也稳定但影响精度和迭代。LES:推荐 CFL ≈ 1。物理意义:一个时间步内信息不超过一个网格。

        残差监控

        连续方程、动量、能量各残差下降3~4个数量级视为收敛。质量守恒残差特别重要。

        松弛系数

        压力:0.2~0.3、速度:0.5~0.7为一般初值。发散时降低松弛系数。收敛后升高加速。

        非定常计算的内部迭代

        每个时间步内迭代到定常解。内部迭代数:5~20次为目标。时间步间残差变动大则重新考虑时间步。

        波浪建模的实际应用

        实践指南

        🧑‍🎓

        老师,"实践指南"给我讲讲!


        🎓

        波浪建模的实际分析流程和注意事项解释。


        🧑‍🎓

        啊,所以波浪建模的实际操作就是这样啊。这样就懂了。


        分析流程

        🧑‍🎓

        最开始从哪一步开始? 怎么样开始?


        🎓

        1. 前处理 (前处理)

        • CAD数据导入与形状简化
        • 材料特性定义
        • 网格生成(单元类型·尺寸决定)
        • 边界条件与荷载条件设置

        🎓

        2. 求解 (求解)

        • 求解器设置(求解方法、收敛基准、输出控制)
        • 作业投入与计算执行
        • 收敛监控

        🎓

        3. 后处理 (后处理)

        • 结果可视化(位移、应力、其他物理量)
        • 结果验证与适当性确认
        • 报告编写


        网格生成最佳实践

        🧑‍🎓

        网格好坏怎样判断?



        单元质量指标

        🧑‍🎓

        "单元质量指标"给我讲讲!


        指标理想值允许范围影响
        纵横比1.0< 5.0精度下降
        雅可比比1.0> 0.3单元退化
        翘曲< 15°精度下降
        斜度< 45°收敛性恶化
        梯形比0< 0.5精度下降

        网格密度的决定

        🧑‍🎓

        网格密度的决定具体怎样?


        🎓
        • 应力集中部:至少3层以上单元配置
        • 应力梯度大的区域:单元尺寸缩小到周围的1/3~1/5
        • 荷载施加点近处:局部细化
        • 远方区域:粗网格确保计算效率


        • 边界条件设置指南

          🧑‍🎓

          边界条件,听说出错的话全部都毁了…


          🎓
          • 避免过约束:刚体移动约束仅6自由度
          • 对称条件活用:减小计算规模
          • 荷载等价分配:集中荷载 vs. 分布荷载的选择

          • 🧑‍🎓

            啊,所以过约束要注意呀。这样就懂了。


            商用工具实现步骤

            🧑‍🎓

            有这么多软件,各个的特性讲一下!


            工具名称开发商/现属主要文件格式
            Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
            Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
            OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
            Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

            Simcenter STAR-CCM+

            🧑‍🎓

            接下来是Simcenter STAR的内容吧。讲讲怎么样?


            🎓

            由CD-adapco开发。2016年被Siemens收购并整合到Simcenter品牌。多面体网格是特点。

            现在归属: Siemens Digital Industries Software



            Ansys Fluent

            🧑‍🎓

            接下来是Ansys Fluent的内容吧。讲讲怎么样?


            🎓

            由Fluent Inc开发。2006年被ANSYS收购。基于非结构网格的通用CFD求解器。

            现在归属: Ansys Inc.


            🧑‍🎓

            先生的说明很清楚! 工具名的疑惑消除了。


            常见失败及对策

            🧑‍🎓

            新人容易犯的错有没有? 想提前知道!


            症状原因对策
            计算不收敛网格品质不良、不适当的边界条件改善网格、重新审视约束条件
            应力异常大应力特异点、网格依赖回避特异点、局部网格细化
            位移不现实材料常数误差、单位系混乱确认输入数据
            计算时间过长不必要的细化、低效求解网格最优化、并行计算

            质量保证检查清单

            🧑‍🎓

            教科书上找不到的"现场经验"有没有?


            🎓
            • 用3个水准以上的网格确认收敛性了没
            • 反力合计(力平衡)验证了没
            • 结果在物理合理范围内了没
            • 与已知的理论解或标准问题比较了没


            • 🧑‍🎓

              波浪建模的全貌我掌握了! 明天起我在工作中会特别留意。


              🎓

              好的,你这样就对了! 实际动手是最好的学习。有不懂的随时问。


              Coffee Break 闲谈

              港湾防波堤设计——用不规则波CFD预测越波量的实际步骤

              防波堤的越波量预测关系到港湾设施安全性和经济性。日本国土交通省技术基准规定越波量Q<0.2L/(s·m)是护岸上人员安全的目标。CFD解析(VOF法 + 用孔隙体模拟堤芯碎石)中,用JONSWAP谱的不规则波在数值波动水槽中生成,通过改变防波堤高度和天端宽度的多工况解析评估越波量敏感度。实际的护岸设计案例中,CFD发现越波量超过设计基准,与其增大消波块,改为天端高抬高30cm时建设成本削减25%,这个CFD敏感度分析结果被采用,发表在港湾工学会杂志上。

              波浪建模的软件比较

              商用工具比较

              🧑‍🎓

              有这么多软件,各个的特性讲一下!


              🎓

              适配波浪建模的主要商用CAE工具的功能对比和各产品的历史背景详述。


              🧑‍🎓

              啊,所以波浪建模支持就是这样啊。这样就懂了。


              适配工具列表

              🧑‍🎓

              那么做波浪建模需要什么样的软件?


              工具名称开发商/现属主要文件格式
              Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
              Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
              OpenFOAM开源(OpenCFD/ESI、OpenFOAM Foundation)字典文件(blockMeshDict等), .foam
              Ansys CFXAnsys Inc..cfx, .def, .res, .ccl

              Simcenter STAR-CCM+

              🧑‍🎓

              接下来是Simcenter STAR的内容吧。讲讲怎么样?


              🎓

              由CD-adapco开发。2016年被Siemens收购并整合到Simcenter品牌。多面体网格是特点。

              现在归属: Siemens Digital Industries Software



              Ansys Fluent

              🧑‍🎓

              接下来是Ansys Fluent的内容吧。讲讲怎么样?


              🎓

              由Fluent Inc开发。2006年被ANSYS收购。基于非结构网格的通用CFD求解器。

              现在归属: Ansys Inc.


              🧑‍🎓

              听到这里,我终于明白为什么开发历史如此重要了!



              OpenFOAM

              🧑‍🎓

              OpenFOAM具体是什么意思?


              🎓

              Imperial College London开发的开源CFD。OpenCFD Ltd(ESI Group子公司)和The OpenFOAM Foundation进行并行开发。

              现在归属: 开源(OpenCFD/ESI、OpenFOAM Foundation)



              Ansys CFX

              🧑‍🎓

              "Ansys CFX"给我讲讲!


              🎓

              AEA Technology (UK) 开发的CFX。2003年被ANSYS收购。耦合型求解器是特点。

              现在归属: Ansys Inc.


              🧑‍🎓

              啊,所以开发就是这样啊。这样就懂了。


              功能比较矩阵

              🧑‍🎓

              预算时间都有限的,成本最高的是哪个?


              功能Star-CCM+FluentOpenFOAMCFX
              基本功能
              高级功能
              自动化/脚本
              并行计算
              GPU支持

              转换时的风险

              🧑‍🎓

              转换时的风险具体怎样?


              🎓
              • 单元类型不互容:求解器固有单元无法用中性格式表达
              • 材料模型的差异:同名但内部实现不同的情况
              • 边界条件重新定义:很多情况需要手动重设
              • 结果数据的比较:输出变量定义(节点值 vs. 单元值、积分点值)有差异

              • 🧑‍🎓

                啊,所以不同工具间的模型就是这样啊。这样就懂了。


                许可证形式

                🧑‍🎓

                "许可证形式"我听过,但没真正理解…


                工具许可证特点
                商用FEA节点锁定/浮动高成本但有官方支持
                OpenFOAMGPL无偿但支持是收费
                COMSOL节点锁定/浮动按模块购买
                Code_AsterGPLEDF开发的开源求解器

                选择指南

                🧑‍🎓

                结局选哪个,判断基准告诉我?


                🎓

                波浪建模的工具选择考虑如下:


                🎓
                • 解析规模:数万~数亿DOF的可扩展性
                • 物理模型:必要构成律·单元类型的对应状况
                • 工作流程:与CAD的连携、自动化易用性
                • 成本:初期投资 + 年度保养 + 教育成本
                • 支持:技术支持的质量和响应


                • 🧑‍🎓

                  波浪建模的全貌我掌握了! 明天起我在工作中会特别留意。


                  🎓

                  好的,你这样就对了! 实际动手是最好的学习。有不懂的随时问。


                  Coffee Break 闲谈

                  WAM与SWAN与STAR-CCM+——"要解什么"决定波浪分析工具的世界

                  波浪建模的工具选择以"规模"决定。外洋的数百公里远的涌浪传播解析用WAM、WAVEWATCH III等第三代谱波浪模型,港湾·沿岸浅水域用SWAN(沿岸波浪仿真 Simulating WAves Nearshore)是定番。另一方面,浮体受波荷载的直接计算需要切换到STAR·Fluent·OpenFOAM的粘性CFD。相同的"波浪分析"其实有3阶段的代码,将上游到下游连接的"级联手法"应用的公司也在增加。工具选择前先确定"用什么规模的波"是商用工具比较的出发点。

                  波浪建模的前沿研究

                  前沿课题与研究动向

                  🧑‍🎓

                  波浪建模领域将来怎样发展?


                  🎓

                  波浪建模最新研究动向与先进手法来看一下。


                  🧑‍🎓

                  前辈说"波浪建模一定要做好",现在我懂了。


                  最新的数值手法

                  🧑‍🎓

                  接下来是最新数值手法吧。什么内容?



                  🧑‍🎓

                  只看公式,我没明白…具体是什么意思?


                  🎓
                  • 等几何分析 (IGA):直接使用NURBS基函数,实现CAD-CAE无缝衔接
                  • 粒子法 (SPH, MPM):无网格手法追踪大变形·破坏
                  • 相场法 (Phase-Field):隐式界面表达处理复杂界面追踪
                  • 机器学习辅助代理模型、物理知情神经网络 (PINN)


                  • 高性能计算 (HPC) 应对


                    并行化方法概述适配求解器
                    MPI (域分割)分布式内存型。大规模问题的标准全主要求解器
                    OpenMP共享内存型。节点内并行多数求解器
                    GPU (CUDA/OpenCL)GPGPU活用。明显在陽解法LS-DYNA, Fluent等
                    混合 MPI+OpenMP节点间+节点内并行大规模HPC环境

                    波浪建模的故障排除

                    故障排除




                    常见错误及对策

                    🧑‍🎓

                    老师也在波浪建模调试时通宵过吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

                    收敛失败具体怎样?


                    🎓

                    症状: 求解器指定迭代次数内不收敛异常终止


                    🎓

                    可能原因:

                    • 网格品质不足(过度歪斜单元)
                    • 材料参数设置不适当
                    • 初始条件不适当
                    • 非线性过强(荷载步数不足)

                    🎓

                    对策:

                    • 实施网格品质检查(纵横比、雅可比)
                    • 确认材料参数单位系
                    • 分割荷载为多个步骤(增加子步数)
                    • 缓和收敛判定基准(但要注意精度)

                    🧑‍🎓

                    也就是说在收敛失败这个环节出问题,后面就会很辛苦! 我记住了!



                    2. 非物理结果

                    🧑‍🎓

                    接下来是非物理结果吧。什么内容?


                    🎓

                    症状: 应力/位移/温度等物理上不现实


                    🎓

                    可能原因:

                    • 边界条件误设
                    • 单位系混入(SI单位与工程单位混同)
                    • 不适当单元类型选择
                    • 应力特异点存在

                    🎓

                    对策:

                    • 确认反力合计(力的平衡)
                    • 确认单位系一致性
                    • 重新考虑单元类型的适切性
                    • 特异点消除或子建模

                    🧑‍🎓

                    前辈说"收敛失败一定要做好",现在我懂了。