VOF法波浪模拟

分类:流体解析(CFD) | 统合版 2026-04-06
CAE visualization for vof wave theory - technical simulation diagram
VOF法波浪模拟

VOF法波浪的理论基础

概述

🧑‍🎓

老师!今天是讲VOF法波浪模拟的内容吧?这是什么呢?


🎓

数值波水槽。波生成·消波的边界条件。浮体的波浪中运动。



🧑‍🎓

这样的话有了数值波水槽就基本没问题了吧?


控制方程




$$ \frac{\partial\alpha}{\partial t}+\nabla\cdot(\alpha\mathbf{u})=0 $$
$$ \text{Wave generation/absorption BC} $$



🧑‍🎓

听到这里,终于明白了为什么VOF法波浪模拟那么重要!


离散化方法

🧑‍🎓

这个方程在计算机中怎样实际求解呢?


🎓

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


🎓

进行弱形式(变分形式)转换,使用试函数和形状函数采用Galerkin法定式化。单元类型选择(低阶单元 vs. 高阶单元完全积分 vs. 降阶积分)直接关系到解的精度和计算成本的权衡。




矩阵求解算法

🧑‍🎓

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


🎓

用直接法(LU分解Cholesky分解)或迭代法(CG法GMRES法)求解联立方程组。对于大规模问题,预处理迭代法效果显著。



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

也就是说,有限元法那里敷衍会吃大亏啊。我记住了!


商用工具中的实现

🧑‍🎓

做VOF法波浪模拟的话有什么软件可以用呢?


工具名称开发方/现在主要文件格式
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个网格密度等级确认收敛性
  • 边界条件的妥当性:设置物理上有意义的约束条件
  • 结果验证:与理论解、实验数据、已知基准问题的对比


  • 🧑‍🎓

    VOF法波浪模拟的全貌掌握了!明天开始在实务中意识一下。


    🎓

    嗯,进度不错呢!实际操作是最好的学习,有不明白的随时问我吧。


    咖啡时间 闲聊话题

    VOF法的发明——Hirt & Nichols(1981年)开创的自由表面CFD革命

    流体自由表面(气液界面)在CFD中的追踪,VOF(Volume of Fluid)法是在1981年由C.W. Hirt和B.D. Nichols的论文中提出的。之前使用的「标记粒子」追踪界面的MAC(Marker and Cell)法存在计算成本高、粒子凝聚、空洞问题等。VOF法用「各单元占有流体的体积分率α(0~1)」这一简单变量表示界面,通过求解α的输运方程来实现。发表后40年来,VOF法在造波工程、船舶工程、铸造模拟、喷墨分析等领域广泛应用,成为CFD领域最常被引用的方法之一。现代最高精度的方法是将自由表面界面直接追踪的Level Set法与VOF法结合的CLSVOI(Coupled Level-Set and VOF)。

    VOF法波浪的数值计算方法

    数值方法详解

    🧑‍🎓

    具体用什么算法来求解VOF法波浪模拟呢?



    🧑‍🎓

    老师讲得清楚!VOF法波浪模拟的困惑解除了。


    离散化定式



    🎓

    形状函数 $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)| $$

    基础方程的离散形式


    🎓

    用式子表示就是这样。


    $$ \frac{\partial\alpha}{\partial t}+\nabla\cdot(\alpha\mathbf{u})=0 $$
    $$ \text{Wave generation/absorption BC} $$

    🧑‍🎓

    嗯,只看式子有点没概念…是表示什么呢?


    🎓

    连续体的控制方程离散化后,得到如下的代数方程组:



    $$ [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)$阶数减小误差(光滑解的情况)


        🧑‍🎓

        原来网格细化看似简单,其实深不见底呢。


        求解器设置建议

        🧑‍🎓

        具体用什么算法来求解VOF法波浪模拟呢?


        参数推荐值备注
        迭代法收敛判断$10^{-6}$残差范数标准
        预处理方法ILU(0) or AMG根据问题规模
        最大迭代次数1000不收敛时重新设置
        内存模式In-core尽可能

        风上差分(Upwind)

        一阶风上:数值扩散大但稳定。二阶风上:精度提升但振动风险。高Reynolds数流动必须。

        中心差分(Central Differencing)

        二阶精度,但Pe数 > 2时出现数值振动。低Reynolds数的扩散主导流动适用。

        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次为目安。残差时间步间变动时检查时间步。

        VOF法波浪的实务应用

        实践指南

        🧑‍🎓

        老师,讲讲「实践指南」吧!


        🎓

        阐述VOF法波浪模拟的实务解析流程和注意要点。


        🧑‍🎓

        老师讲得清楚!VOF法波浪模拟的困惑解除了。


        分析流程

        🧑‍🎓

        从第一步开始教吧!怎么开始?


        🎓

        1. 预处理 (Pre-processing)

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

        🎓

        2. 求解 (Solving)

        • 求解器设置(解法、收敛标准、输出控制)
        • 投入任务并执行计算
        • 收敛监测

        🎓

        3. 后处理 (Post-processing)

        • 结果可视化(位移、应力及其他物理量)
        • 结果验证和妥当性确认
        • 报告编制


        网格生成最佳实践

        🧑‍🎓

        网格好坏怎么判断?



        单元品质指标

        🧑‍🎓

        讲讲「单元品质指标」吧!


        指标理想值允许范围影响
        纵横比1.0< 5.0精度下降
        Jacobian比1.0> 0.3单元退化
        翘曲< 15°精度下降
        倾斜度< 45°收敛性恶化
        Taper比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个水准以上的网格确认收敛性
            • 验证力的平衡(反力合计)
            • 确认结果在物理合理范围
            • 与已知理论解或基准问题对比


            • 🧑‍🎓

              VOF法波浪模拟的全貌掌握了!明天开始在实务中意识一下。


              🎓

              嗯,进度不错呢!实际操作是最好的学习,有不明白的随时问我吧。


              咖啡时间 闲聊话题

              洋上浮体的波力荷载——FOWT(浮体式洋上风力)的CFD设计

              浮体式洋上风力发电(FOWT)的系泊索·基础结构设计中,不规则波浪波力荷载的CFD预测至关重要。使用VOF(Volume of Fluid)法与RANS方程结合,基于JONSWAP波谱生成数值波动水槽内的不规则波,计算浮体受到的6自由度波力(Surge、Sway、Heave、Roll、Pitch、Yaw)。主要课题是波的数值散逸——防止长距离传播中波高衰减,必须采用「Galileo不变的数值方案」和「海绵层(Damping Zone)的数值反射防止」。OrcaFlex的Morison式1D计算与详细CFD的基准对比中发现,大振幅波的CFD预测在波面曲率大的区域比Morison式精度提高2倍。

              VOF法波浪的软件比较

              商用工具比较

              🧑‍🎓

              各种软件都有呢?各自的特点讲讲吧!


              🎓

              详述支持VOF法波浪模拟的主要商用CAE工具的功能比较及各产品的历史背景。


              🧑‍🎓

              老师讲得清楚!VOF法波浪模拟的困惑解除了。


              支持工具列表

              🧑‍🎓

              做VOF法波浪模拟的话有什么软件可以用呢?


              工具名称开发方/现在主要文件格式
              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开发的OSS求解器

                选择指南

                🧑‍🎓

                最后到底选哪个,给个判断标准吧?


                🎓

                VOF法波浪模拟工具选择时要考虑以下因素:


                🎓
                • 分析规模:对数万~数亿自由度的可扩展性
                • 物理模型:必要的本构律·单元类型的对应状况
                • 工作流:与CAD的联动、自动化便利性
                • 成本:初期投资 + 年度维护 + 教育成本
                • 支持:技术支持的质量和响应


                • 🧑‍🎓

                  VOF法波浪模拟的全貌掌握了!明天开始在实务中意识一下。


                  🎓

                  嗯,进度不错呢!实际操作是最好的学习,有不明白的随时问我吧。


                  咖啡时间 闲聊话题

                  波浪CFD的工具选择——ANSYS Aqwa、FLOW-3D和OpenFOAM的分工

                  波浪·海洋CFD分析工具按目的和精度需求有很大的分工。ANSYS Aqwa专注于频域的线性波力分析(Froude-Krylov力+绕射力),在系泊系统设计·疲劳分析中最快实用。FLOW-3D的时间域详细VOF分析能精密预测砕波·浸水·晃动,在港湾设计·LNG设施的波浪影响评估中有认证实绩。OpenFOAM的waves2Foam和olaFlow则广泛用于研究用不规则波CFD,在FOWT(浮体式洋上风力)波浪荷载研究中成为事实标准。按设计阶段(概略→详细→认证)切换工具的工作流,是效率与成本的最优解。

                  VOF法波浪的先进研究

                  先进课题与研究动向

                  🧑‍🎓

                  VOF法波浪模拟领域接下来怎样发展啊?


                  🎓

                  看看VOF法波浪模拟领域的最新研究动向和先进手法。


                  🧑‍🎓

                  老师讲得清楚!VOF法波浪模拟的困惑解除了。


                  最新数值方法

                  🧑‍🎓

                  接下来是最新数值方法的内容吧。讲讲是什么呢?



                  🧑‍🎓

                  嗯,只看式子有点没概念…是表示什么呢?


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


                  • 高性能计算 (HPC) 的对应


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

                    VOF法波浪的故障排除

                    故障排除



                    🧑‍🎓

                    老师讲得清楚!VOF法波浪模拟的困惑解除了。


                    常见错误和对策

                    🧑‍🎓

                    老师也为VOF法波浪模拟通宵调试过吗?(笑)



                    1. 收敛失败

                    🧑‍🎓

                    收敛失败具体是什么意思?


                    🎓

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


                    🎓

                    可能的原因

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

                    🎓

                    对策